Skip to content

Commit 7ffe45a

Browse files
committed
revive doc and build scripts
1 parent f2713a0 commit 7ffe45a

File tree

1,390 files changed

+28875
-29
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,390 files changed

+28875
-29
lines changed

CMakeLists.txt

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
cmake_minimum_required(VERSION 3.13.0)
2+
cmake_minimum_required(VERSION 3.16.0)
33
project(shaw CXX)
44

55
# guard against in-source builds
@@ -19,45 +19,43 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
1919
set(CMAKE_CXX_EXTENSIONS OFF)
2020

2121
#==================================
22+
find_package(yaml-cpp REQUIRED)
23+
include_directories(${YAML_CPP_INCLUDE_DIR})
24+
target_link_libraries(${YAML_CPP_LIBRARIES})
25+
2226
find_package(KokkosKernels REQUIRED)
23-
include_directories(${YAMLCPP_INCLUDE_DIR} ${KOKKOS_INCLUDE_DIR})
24-
link_directories(${YAMLCPP_LIB_DIR})
25-
link_libraries(dl yaml-cpp Kokkos::kokkoskernels) # Kokkos::BLAS Kokkos::LAPACK)
27+
link_libraries(dl yaml-cpp Kokkos::kokkoskernels)
28+
# Kokkos::BLAS Kokkos::LAPACK)
2629

2730
set(exeName1 shawExe)
28-
add_executable(${exeName1} ${CMAKE_CURRENT_SOURCE_DIR}/src/kokkos/main_fom.cc)
31+
add_executable(${exeName1}
32+
${CMAKE_CURRENT_SOURCE_DIR}/src/kokkos/main_fom.cc)
2933

3034
set(exeName2 extractStateFromSnaps)
31-
add_executable(${exeName2} ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/main_extract_state_from_snaps.cc)
35+
add_executable(${exeName2}
36+
${CMAKE_CURRENT_SOURCE_DIR}/src/tools/main_extract_state_from_snaps.cc)
3237

33-
# tell CMake to use CTest extension
3438
enable_testing()
35-
# add subdir where the unit tests are
3639
add_subdirectory(tests)
3740

3841

3942

40-
4143
#include_directories(${EIGEN_INCLUDE_DIR} ${YAMLCPP_INCLUDE_DIR} ${KOKKOS_INCLUDE_DIR})
4244
#link_directories (${BLAS_LIB_DIR} ${YAMLCPP_LIB_DIR})
4345
#link_libraries (dl ${OMPLINK} yaml-cpp Kokkos::kokkoskernels ${BLASLIBNAME} gfortran)
4446
#link_directories (${YAMLCPP_LIB_DIR})
4547
#link_libraries (dl yaml-cpp Kokkos::kokkoskernels) # Kokkos::BLAS Kokkos::LAPACK)
46-
47-
4848
# set(exeName compareSnaps)
4949
# add_executable(${exeName} ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/main_cmp_snaps.cc)
5050
# target_include_directories(${exeName} PRIVATE ${EIGEN_INCLUDE_DIR})
5151
# target_compile_definitions(${exeName} PRIVATE SHW_ENABLE_TPL_EIGEN)
52-
5352
# target_compile_options (${exeName} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-march=native>)
5453
# set(exeName shwave_rom)
5554
# add_executable (${exeName} ${CMAKE_CURRENT_SOURCE_DIR}/kokkos/main_rom.cc)
5655
# set(exeName reconstructFomState)
5756
# add_executable (${exeName} ${CMAKE_CURRENT_SOURCE_DIR}/tools/main_reconstruct_fom_state.cc)
5857
# set(exeName reconstructSeismogram)
5958
# add_executable (${exeName} ${CMAKE_CURRENT_SOURCE_DIR}/tools/main_reconstruct_seismo.cc)
60-
6159
# set(exeName computeThinSVD)
6260
# add_executable (${exeName} ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/main_eigen_svd.cc)
6361
# target_compile_options (${exeName} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-march=native>)

README.md

Lines changed: 30 additions & 6 deletions

bash_scripts/build_tpls.sh

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
MYPWD=`pwd`
6+
7+
# where we need to work
8+
TPLDIR=$1/tpls
9+
10+
kokkosversion=3.5.00
11+
yamlcppversion=0.7.0
12+
13+
kokkosbackend=$2
14+
arch=none
15+
16+
17+
# --- nothing to addapt below --- #
18+
19+
function buildKokkos(){
20+
local arch=$1
21+
local backend=$2
22+
23+
if [[ ${backend} == openmp ]]; then
24+
ompBool=On
25+
fi
26+
27+
[[ ! -d ${KOKKOS_BUILD_DIR} ]] && mkdir -p ${KOKKOS_BUILD_DIR}
28+
cd ${KOKKOS_BUILD_DIR}
29+
30+
if [[ ${arch} == none ]]; then
31+
cmake -DCMAKE_CXX_COMPILER=${CXX} \
32+
-DCMAKE_BUILD_TYPE="Release" \
33+
-DCMAKE_INSTALL_PREFIX=${KOKKOSPFX} \
34+
-DKokkos_ENABLE_TESTS=Off \
35+
-DKokkos_ENABLE_SERIAL=On \
36+
-DKokkos_ENABLE_OPENMP=${ompBool} \
37+
-DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=Off \
38+
${KOKKOS_SRC}
39+
else
40+
cmake -DCMAKE_CXX_COMPILER=${CXX} \
41+
-DCMAKE_BUILD_TYPE="Release" \
42+
-DCMAKE_INSTALL_PREFIX=${KOKKOSPFX} \
43+
-DKokkos_ARCH_${arch}=On \
44+
-DKokkos_ENABLE_TESTS=Off \
45+
-DKokkos_ENABLE_SERIAL=On \
46+
-DKokkos_ENABLE_OPENMP=${ompBool} \
47+
-DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=Off \
48+
${KOKKOS_SRC}
49+
fi
50+
make -j4
51+
make install
52+
cd ..
53+
}
54+
55+
function buildKokkosKernels(){
56+
echo "Kernels using the KokkosPFX= ${KOKKOSPFX}"
57+
local arch=$1
58+
59+
[[ ! -d ${KOKKOSKER_BUILD_DIR} ]] && mkdir -p ${KOKKOSKER_BUILD_DIR}
60+
cd ${KOKKOSKER_BUILD_DIR} && rm -rf CMakeCache* src/*
61+
62+
cmake \
63+
-DCMAKE_VERBOSE_MAKEFILE=On \
64+
-DCMAKE_CXX_COMPILER=${CXX} \
65+
-DCMAKE_BUILD_TYPE="Release" \
66+
-DCMAKE_INSTALL_PREFIX=${KOKKOSKERPFX} \
67+
\
68+
-DKokkosKernels_ENABLE_TPL_LAPACK=On \
69+
-DKokkosKernels_ENABLE_TPL_BLAS=On \
70+
\
71+
-DKokkosKernels_INST_DOUBLE=On \
72+
-DKokkosKernels_INST_LAYOUTRIGHT=On \
73+
-DKokkosKernels_INST_LAYOUTLEFT=On \
74+
-DKokkosKernels_INST_ORDINAL_INT=Off \
75+
-DKokkosKernels_INST_ORDINAL_INT64_T=On \
76+
-DKokkosKernels_INST_OFFSET_INT=Off \
77+
-DKokkosKernels_INST_OFFSET_SIZE_T=On \
78+
\
79+
-DKokkosKernels_ENABLE_TESTS=Off \
80+
-DKokkos_ROOT=${KOKKOSPFX} \
81+
${KOKKOS_KER_SRC}
82+
83+
make -j16
84+
make install
85+
cd ..
86+
}
87+
88+
function doKokkos
89+
{
90+
cd ${TPLDIR}
91+
92+
if [ ! -f kokkos-${kokkosversion}.tar.gz ]; then
93+
wget https://github.com/kokkos/kokkos/archive/refs/tags/${kokkosversion}.tar.gz
94+
mv ${kokkosversion}.tar.gz kokkos-${kokkosversion}.tar.gz
95+
fi
96+
if [ ! -d kokkos-${kokkosversion} ]; then
97+
tar zxf kokkos-${kokkosversion}.tar.gz
98+
fi
99+
100+
if [ ! -f kokkos-kernels-${kokkosversion}.tar.gz ]; then
101+
wget https://github.com/kokkos/kokkos-kernels/archive/refs/tags/${kokkosversion}.tar.gz
102+
mv ${kokkosversion}.tar.gz kokkos-kernels-${kokkosversion}.tar.gz
103+
fi
104+
if [ ! -d kokkos-kernels-${kokkosversion} ]; then
105+
tar zxf kokkos-kernels-${kokkosversion}.tar.gz
106+
fi
107+
108+
# sources for kokkos
109+
KOKKOS_SRC=${TPLDIR}/kokkos-${kokkosversion}
110+
KOKKOS_KER_SRC=${TPLDIR}/kokkos-kernels-${kokkosversion}
111+
# build dirs
112+
KOKKOS_BUILD_DIR=${TPLDIR}/kokkos-build
113+
KOKKOSKER_BUILD_DIR=${TPLDIR}/kokkos-kernels-build
114+
# prefixes
115+
KOKKOSPFX=${TPLDIR}/kokkos-install
116+
KOKKOSKERPFX=${TPLDIR}/kokkos-kernels-install
117+
118+
buildKokkos ${arch} ${kokkosbackend}
119+
buildKokkosKernels ${arch} ${kokkosbackend}
120+
}
121+
122+
function doYamlCpp()
123+
{
124+
cd ${TPLDIR}
125+
126+
VNAME=yaml-cpp-${yamlcppversion}
127+
TARNAME=${VNAME}.tar.gz
128+
UNPACKNAME=yaml-cpp-yaml-cpp-${yamlcppversion}
129+
LINK=https://github.com/jbeder/yaml-cpp/archive/${TARNAME}
130+
131+
if [ ! -f ${TARNAME} ]; then
132+
wget ${LINK}
133+
fi
134+
if [ ! -d ${UNPACKNAME} ]; then
135+
tar zxf ${TARNAME}
136+
fi
137+
138+
YAMLCPPPFX=${TPLDIR}/yamlcpp-install
139+
YAMLCPPBUILD=${TPLDIR}/yamlcpp-build
140+
141+
if [ ! -d ${YAMLCPPBUILD} ]; then
142+
mkdir ${YAMLCPPBUILD} && cd ${YAMLCPPBUILD}
143+
cmake -DCMAKE_INSTALL_PREFIX=${YAMLCPPPFX} \
144+
-DYAML_CPP_BUILD_TESTS=OFF \
145+
-DCMAKE_CXX_COMPILER=${CXX} \
146+
../${UNPACKNAME}
147+
make -j4 install
148+
fi
149+
}
150+
151+
152+
[[ ! -d ${TPLDIR} ]] && mkdir -p ${TPLDIR}
153+
cd ${TPLDIR}
154+
155+
doKokkos
156+
doYamlCpp
157+
158+
cd ${MYPWD}

bash_scripts/build_kokkos_and_kernels.sh renamed to bash_scripts/deprecated/build_kokkos_and_kernels.sh

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,7 @@ function buildKokkosKernels(){
5555
-DCMAKE_INSTALL_PREFIX=${KOKKOSKERPFX} \
5656
\
5757
-DKokkosKernels_ENABLE_TPL_LAPACK=On \
58-
-DKokkosKernels_LAPACK_ROOT=${LAPACK_ROOT} \
59-
-DKokkosKernels_LAPACK_LIBRARIES="${LAPACKLIBNAME}" \
60-
\
6158
-DKokkosKernels_ENABLE_TPL_BLAS=On \
62-
-DKokkosKernels_BLAS_ROOT=${BLAS_ROOT} \
63-
-DKokkosKernels_BLAS_LIBRARIES="${BLASLIBNAME}" \
6459
\
6560
-DKokkosKernels_INST_DOUBLE=On \
6661
-DKokkosKernels_INST_LAYOUTRIGHT=On \
@@ -80,21 +75,23 @@ function buildKokkosKernels(){
8075
}
8176

8277
MYPWD=`pwd`
83-
kokkosver=3.3.01
78+
kokkosver=3.5.00
8479

8580
# create dir
8681
[[ ! -d kokkos ]] && mkdir kokkos
8782
cd kokkos
8883

8984
if [ ! -f kokkos-${kokkosver}.tar.gz ]; then
90-
cp ${ESWSRCDIR}/tpls/kokkos-${kokkosver}.tar.gz .
85+
wget https://github.com/kokkos/kokkos/archive/refs/tags/${kokkosver}.tar.gz
86+
mv ${kokkosver}.tar.gz kokkos-${kokkosver}.tar.gz
9187
fi
9288
if [ ! -d kokkos-${kokkosver} ]; then
9389
tar zxf kokkos-${kokkosver}.tar.gz
9490
fi
9591

9692
if [ ! -f kokkos-kernels-${kokkosver}.tar.gz ]; then
97-
cp ${ESWSRCDIR}/tpls/kokkos-kernels-${kokkosver}.tar.gz .
93+
wget https://github.com/kokkos/kokkos-kernels/archive/refs/tags/${kokkosver}.tar.gz
94+
mv ${kokkosver}.tar.gz kokkos-kernels-${kokkosver}.tar.gz
9895
fi
9996
if [ ! -d kokkos-kernels-${kokkosver} ]; then
10097
tar zxf kokkos-kernels-${kokkosver}.tar.gz
@@ -105,7 +102,17 @@ KOKKOS_KER_SRC=${MYPWD}/kokkos/kokkos-kernels-${kokkosver}
105102
KOKKOS_BUILD_DIR=${MYPWD}/kokkos/kokkos_build
106103
KOKKOSKER_BUILD_DIR=${MYPWD}/kokkos/kokkos_kernels_build
107104

105+
KOKKOSPFX=${MYPWD}/kokkos/install-kokkos
106+
KOKKOSKERPFX=${MYPWD}/kokkos/install-kokkos-kernels
107+
108108
buildKokkos none $1
109109
buildKokkosKernels none $1
110110

111111
cd ${MYPWD}
112+
113+
114+
115+
#-DKokkosKernels_LAPACK_ROOT=${LAPACK_ROOT} \
116+
#-DKokkosKernels_LAPACK_LIBRARIES="${LAPACKLIBNAME}" \
117+
#-DKokkosKernels_BLAS_ROOT=${BLAS_ROOT} \
118+
#-DKokkosKernels_BLAS_LIBRARIES="${BLASLIBNAME}" \
File renamed without changes.
File renamed without changes.

docs/.buildinfo

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Sphinx build info version 1
2+
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3+
config: deb7f79a94a5c95ee37735dba4bcbf81
4+
tags: 645f666f9bcd5a90fca523b33c5a78b7

docs/.doctrees/blas_lapack.doctree

7.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)