Skip to content

Commit 432309c

Browse files
committed
Merge branch 'develop' of github.com:kokkos/kokkos-fortran-interop into develop
2 parents cfb1862 + 4844619 commit 432309c

265 files changed

Lines changed: 6791 additions & 2580 deletions

File tree

Some content is hidden

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

CMakeLists.txt

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.17)
1+
cmake_minimum_required(VERSION 3.19)
22
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
33
project(flcl VERSION 0.4.0 LANGUAGES Fortran C CXX)
44

@@ -31,6 +31,18 @@ add_library(flcl-fortran
3131
src/flcl-f.f90
3232
src/flcl-util-kokkos-f.f90
3333
)
34+
#standards compliance section
35+
if (CMAKE_Fortran_COMPILER_ID STREQUAL "XL")
36+
# fully enable F2008, per IBM article: https://www.ibm.com/docs/en/xl-fortran-linux/16.1.1?topic=scenarios-compiling-fortran-2008-programs
37+
# also enable polymorphic feature (-qxlf2003=polymorphic) to support the view/dualview types to enable type disambiguation in generic interfaces
38+
target_compile_options(flcl-fortran PRIVATE -qxlf2003=polymorphic -qlanglvl=2008std -qnodirective -qnoescape -qfloat=nomaf:rndsngl:nofold -qnoswapomp -qstrictieeemod -qsuppress=1501-510 )
39+
endif()
40+
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
41+
target_compile_options(flcl-fortran PRIVATE -std=f2008)
42+
endif()
43+
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
44+
target_compile_options(flcl-fortran PRIVATE -std08)
45+
endif()
3446
target_include_directories(flcl-fortran
3547
PUBLIC
3648
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/mod>
@@ -53,6 +65,7 @@ set(flcl-cxx-public-headers
5365
${PROJECT_SOURCE_DIR}/src/flcl-cxx.hpp
5466
${PROJECT_SOURCE_DIR}/src/flcl-util-cxx.h
5567
)
68+
set_property(TARGET flcl-cxx PROPERTY CXX_STANDARD 14)
5669
set_target_properties(flcl-cxx PROPERTIES PUBLIC_HEADER "${flcl-cxx-public-headers}")
5770
target_link_libraries(flcl-cxx
5871
PRIVATE
@@ -74,6 +87,21 @@ target_link_libraries(flcl
7487
INTERFACE
7588
Kokkos::kokkos
7689
)
90+
91+
# add parallelism library link flags in kokkos > 3.1
92+
if (Kokkos_VERSION VERSION_GREATER 3.1)
93+
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
94+
target_link_options(flcl INTERFACE -qopenmp PUBLIC -qopenmp)
95+
endif()
96+
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
97+
target_link_options(flcl INTERFACE -fopenmp PUBLIC -fopenmp)
98+
endif()
99+
if (CMAKE_Fortran_COMPILER_ID STREQUAL "XL")
100+
target_link_options(flcl INTERFACE -qopenmp PUBLIC -qopenmp)
101+
endif()
102+
endif()
103+
104+
#add flcl library
77105
add_library(flcl::flcl ALIAS flcl)
78106

79107
#installation section
@@ -119,6 +147,6 @@ if(BUILD_TESTING)
119147
add_subdirectory(test)
120148
endif()
121149

122-
add_subdirectory(examples)
123-
124-
150+
if(BUILD_EXAMPLES)
151+
add_subdirectory(examples)
152+
endif()
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/bin/tcsh
2+
setenv CI_SEP -
3+
setenv CI_BUILD_TYPE debug
4+
setenv CI_BUILD_SUFFIX build
5+
setenv CI_INSTALL_SUFFIX install
6+
setenv CI_MACHINE_ARCH ppc
7+
setenv CI_COMPILER_FAMILY gcc
8+
setenv CI_COMPILER_VER 7.4.0
9+
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
10+
setenv CI_CUDA_PREFIX cuda
11+
setenv CI_CUDA_VER 10.1
12+
setenv CI_CUDA_NAME $CI_CUDA_PREFIX$CI_SEP$CI_CUDA_VER$CI_SEP
13+
setenv CI_KOKKOS_PREFIX kokkos
14+
setenv CI_KOKKOS_VER 3.0.00
15+
setenv CI_KOKKOS_BACKEND cuda
16+
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
17+
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
18+
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
19+
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
20+
setenv CI_FLCL_PREFIX flcl
21+
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
22+
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
23+
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
24+
setenv CI_FLCL_BUILD_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_BUILD_SUFFIX
25+
setenv CI_FLCL_INSTALL_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_INSTALL_SUFFIX
26+
rm -rf $CI_FLCL_INSTALL_DIR
27+
rm -rf $CI_FLCL_BUILD_DIR
28+
mkdir -p $CI_FLCL_INSTALL_DIR
29+
mkdir -p $CI_FLCL_BUILD_DIR
30+
module load cmake/3.19.2
31+
module load gcc/7.4.0
32+
module load cuda/10.1
33+
setenv CUDA_LAUNCH_BLOCKING 1
34+
setenv CUDA_MANAGED_FORCE_DEVICE_ALLOC 1
35+
cd $CI_FLCL_BUILD_DIR
36+
cmake $CI_FLCL_PATH_PREFIX\
37+
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
38+
-DCMAKE_CXX_COMPILER=/home/$USER/kokkos/kokkos-3.0.00/bin/nvcc_wrapper \
39+
-DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
40+
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
41+
cmake --build $CI_FLCL_BUILD_DIR --parallel
42+
cmake --install $CI_FLCL_BUILD_DIR
43+
ctest
44+
module purge
45+
#rm -rf $CI_FLCL_BUILD_DIR
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/bin/tcsh
2+
setenv CI_SEP -
3+
setenv CI_BUILD_TYPE release
4+
setenv CI_BUILD_SUFFIX build
5+
setenv CI_INSTALL_SUFFIX install
6+
setenv CI_MACHINE_ARCH ppc
7+
setenv CI_COMPILER_FAMILY gcc
8+
setenv CI_COMPILER_VER 7.4.0
9+
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
10+
setenv CI_CUDA_PREFIX cuda
11+
setenv CI_CUDA_VER 10.1
12+
setenv CI_CUDA_NAME $CI_CUDA_PREFIX$CI_SEP$CI_CUDA_VER$CI_SEP
13+
setenv CI_KOKKOS_PREFIX kokkos
14+
setenv CI_KOKKOS_VER 3.0.00
15+
setenv CI_KOKKOS_BACKEND cuda
16+
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
17+
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
18+
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
19+
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
20+
setenv CI_FLCL_PREFIX flcl
21+
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
22+
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
23+
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
24+
setenv CI_FLCL_BUILD_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_BUILD_SUFFIX
25+
setenv CI_FLCL_INSTALL_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_INSTALL_SUFFIX
26+
rm -rf $CI_FLCL_INSTALL_DIR
27+
rm -rf $CI_FLCL_BUILD_DIR
28+
mkdir -p $CI_FLCL_INSTALL_DIR
29+
mkdir -p $CI_FLCL_BUILD_DIR
30+
module load cmake/3.19.2
31+
module load gcc/7.4.0
32+
module load cuda/10.1
33+
setenv CUDA_LAUNCH_BLOCKING 1
34+
setenv CUDA_MANAGED_FORCE_DEVICE_ALLOC 1
35+
cd $CI_FLCL_BUILD_DIR
36+
cmake $CI_FLCL_PATH_PREFIX\
37+
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
38+
-DCMAKE_CXX_COMPILER=/home/$USER/kokkos/kokkos-3.0.00/bin/nvcc_wrapper \
39+
-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
40+
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
41+
cmake --build $CI_FLCL_BUILD_DIR --parallel
42+
cmake --install $CI_FLCL_BUILD_DIR
43+
ctest
44+
module purge
45+
#rm -rf $CI_FLCL_BUILD_DIR
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/bin/tcsh
2+
setenv CI_SEP -
3+
setenv CI_BUILD_TYPE debug
4+
setenv CI_BUILD_SUFFIX build
5+
setenv CI_INSTALL_SUFFIX install
6+
setenv CI_MACHINE_ARCH ppc
7+
setenv CI_COMPILER_FAMILY gcc
8+
setenv CI_COMPILER_VER 7.4.0
9+
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
10+
setenv CI_CUDA_PREFIX cuda
11+
setenv CI_CUDA_VER 10.1
12+
setenv CI_CUDA_NAME $CI_CUDA_PREFIX$CI_SEP$CI_CUDA_VER$CI_SEP
13+
setenv CI_KOKKOS_PREFIX kokkos
14+
setenv CI_KOKKOS_VER 3.1.01
15+
setenv CI_KOKKOS_BACKEND cuda
16+
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
17+
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
18+
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
19+
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
20+
setenv CI_FLCL_PREFIX flcl
21+
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
22+
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
23+
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
24+
setenv CI_FLCL_BUILD_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_BUILD_SUFFIX
25+
setenv CI_FLCL_INSTALL_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_INSTALL_SUFFIX
26+
rm -rf $CI_FLCL_INSTALL_DIR
27+
rm -rf $CI_FLCL_BUILD_DIR
28+
mkdir -p $CI_FLCL_INSTALL_DIR
29+
mkdir -p $CI_FLCL_BUILD_DIR
30+
module load cmake/3.19.2
31+
module load gcc/7.4.0
32+
module load cuda/10.1
33+
setenv CUDA_LAUNCH_BLOCKING 1
34+
setenv CUDA_MANAGED_FORCE_DEVICE_ALLOC 1
35+
cd $CI_FLCL_BUILD_DIR
36+
cmake $CI_FLCL_PATH_PREFIX\
37+
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
38+
-DCMAKE_CXX_COMPILER=/home/$USER/kokkos/kokkos-3.1.01/bin/nvcc_wrapper \
39+
-DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
40+
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
41+
cmake --build $CI_FLCL_BUILD_DIR --parallel
42+
cmake --install $CI_FLCL_BUILD_DIR
43+
ctest
44+
module purge
45+
#rm -rf $CI_FLCL_BUILD_DIR
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#!/bin/tcsh
2+
setenv CI_SEP -
3+
setenv CI_BUILD_TYPE release
4+
setenv CI_BUILD_SUFFIX build
5+
setenv CI_INSTALL_SUFFIX install
6+
setenv CI_MACHINE_ARCH ppc
7+
setenv CI_COMPILER_FAMILY gcc
8+
setenv CI_COMPILER_VER 7.4.0
9+
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
10+
setenv CI_CUDA_PREFIX cuda
11+
setenv CI_CUDA_VER 10.1
12+
setenv CI_CUDA_NAME $CI_CUDA_PREFIX$CI_SEP$CI_CUDA_VER$CI_SEP
13+
setenv CI_KOKKOS_PREFIX kokkos
14+
setenv CI_KOKKOS_VER 3.1.01
15+
setenv CI_KOKKOS_BACKEND cuda
16+
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
17+
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
18+
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
19+
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
20+
setenv CI_FLCL_PREFIX flcl
21+
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
22+
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
23+
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
24+
setenv CI_FLCL_BUILD_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_BUILD_SUFFIX
25+
setenv CI_FLCL_INSTALL_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_INSTALL_SUFFIX
26+
rm -rf $CI_FLCL_INSTALL_DIR
27+
rm -rf $CI_FLCL_BUILD_DIR
28+
mkdir -p $CI_FLCL_INSTALL_DIR
29+
mkdir -p $CI_FLCL_BUILD_DIR
30+
module load cmake/3.19.2
31+
module load gcc/7.4.0
32+
module load cuda/10.1
33+
setenv CUDA_LAUNCH_BLOCKING 1
34+
setenv CUDA_MANAGED_FORCE_DEVICE_ALLOC 1
35+
cd $CI_FLCL_BUILD_DIR
36+
cmake $CI_FLCL_PATH_PREFIX\
37+
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
38+
-DCMAKE_CXX_COMPILER=/home/$USER/kokkos/kokkos-3.1.01/bin/nvcc_wrapper \
39+
-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
40+
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
41+
cmake --build $CI_FLCL_BUILD_DIR --parallel
42+
cmake --install $CI_FLCL_BUILD_DIR
43+
ctest
44+
module purge
45+
#rm -rf $CI_FLCL_BUILD_DIR
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#!/bin/tcsh
2+
setenv CI_SEP -
3+
setenv CI_BUILD_TYPE debug
4+
setenv CI_BUILD_SUFFIX build
5+
setenv CI_INSTALL_SUFFIX install
6+
setenv CI_MACHINE_ARCH ppc
7+
setenv CI_COMPILER_FAMILY gcc
8+
setenv CI_COMPILER_VER 7.4.0
9+
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
10+
setenv CI_CUDA_PREFIX cuda
11+
setenv CI_CUDA_VER
12+
setenv CI_CUDA_NAME
13+
setenv CI_KOKKOS_PREFIX kokkos
14+
setenv CI_KOKKOS_VER 3.0.00
15+
setenv CI_KOKKOS_BACKEND openmp
16+
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
17+
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
18+
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
19+
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
20+
setenv CI_FLCL_PREFIX flcl
21+
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
22+
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
23+
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
24+
setenv CI_FLCL_BUILD_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_BUILD_SUFFIX
25+
setenv CI_FLCL_INSTALL_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_INSTALL_SUFFIX
26+
rm -rf $CI_FLCL_INSTALL_DIR
27+
rm -rf $CI_FLCL_BUILD_DIR
28+
mkdir -p $CI_FLCL_INSTALL_DIR
29+
mkdir -p $CI_FLCL_BUILD_DIR
30+
module load cmake/3.19.2
31+
module load gcc/7.4.0
32+
setenv OMP_PROC_BIND spread
33+
setenv OMP_PLACES threads
34+
cd $CI_FLCL_BUILD_DIR
35+
cmake $CI_FLCL_PATH_PREFIX\
36+
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
37+
-DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
38+
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
39+
cmake --build $CI_FLCL_BUILD_DIR --parallel
40+
cmake --install $CI_FLCL_BUILD_DIR
41+
ctest
42+
module purge
43+
#rm -rf $CI_FLCL_BUILD_DIR
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#!/bin/tcsh
2+
setenv CI_SEP -
3+
setenv CI_BUILD_TYPE release
4+
setenv CI_BUILD_SUFFIX build
5+
setenv CI_INSTALL_SUFFIX install
6+
setenv CI_MACHINE_ARCH ppc
7+
setenv CI_COMPILER_FAMILY gcc
8+
setenv CI_COMPILER_VER 7.4.0
9+
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
10+
setenv CI_CUDA_PREFIX cuda
11+
setenv CI_CUDA_VER
12+
setenv CI_CUDA_NAME
13+
setenv CI_KOKKOS_PREFIX kokkos
14+
setenv CI_KOKKOS_VER 3.0.00
15+
setenv CI_KOKKOS_BACKEND openmp
16+
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
17+
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
18+
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
19+
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
20+
setenv CI_FLCL_PREFIX flcl
21+
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
22+
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
23+
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
24+
setenv CI_FLCL_BUILD_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_BUILD_SUFFIX
25+
setenv CI_FLCL_INSTALL_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_INSTALL_SUFFIX
26+
rm -rf $CI_FLCL_INSTALL_DIR
27+
rm -rf $CI_FLCL_BUILD_DIR
28+
mkdir -p $CI_FLCL_INSTALL_DIR
29+
mkdir -p $CI_FLCL_BUILD_DIR
30+
module load cmake/3.19.2
31+
module load gcc/7.4.0
32+
setenv OMP_PROC_BIND spread
33+
setenv OMP_PLACES threads
34+
cd $CI_FLCL_BUILD_DIR
35+
cmake $CI_FLCL_PATH_PREFIX\
36+
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
37+
-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
38+
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
39+
cmake --build $CI_FLCL_BUILD_DIR --parallel
40+
cmake --install $CI_FLCL_BUILD_DIR
41+
ctest
42+
module purge
43+
#rm -rf $CI_FLCL_BUILD_DIR
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/bin/tcsh
2+
setenv CI_SEP -
3+
setenv CI_BUILD_TYPE debug
4+
setenv CI_BUILD_SUFFIX build
5+
setenv CI_INSTALL_SUFFIX install
6+
setenv CI_MACHINE_ARCH ppc
7+
setenv CI_COMPILER_FAMILY gcc
8+
setenv CI_COMPILER_VER 7.4.0
9+
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
10+
setenv CI_CUDA_PREFIX cuda
11+
setenv CI_CUDA_VER
12+
setenv CI_CUDA_NAME
13+
setenv CI_KOKKOS_PREFIX kokkos
14+
setenv CI_KOKKOS_VER 3.0.00
15+
setenv CI_KOKKOS_BACKEND serial
16+
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
17+
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
18+
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
19+
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
20+
setenv CI_FLCL_PREFIX flcl
21+
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
22+
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
23+
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
24+
setenv CI_FLCL_BUILD_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_BUILD_SUFFIX
25+
setenv CI_FLCL_INSTALL_DIR $CI_FLCL_CI_PATH_PREFIX/$CI_FLCL_PREFIX$CI_SEP$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME$CI_SEP$CI_INSTALL_SUFFIX
26+
rm -rf $CI_FLCL_INSTALL_DIR
27+
rm -rf $CI_FLCL_BUILD_DIR
28+
mkdir -p $CI_FLCL_INSTALL_DIR
29+
mkdir -p $CI_FLCL_BUILD_DIR
30+
module load cmake/3.19.2
31+
module load gcc/7.4.0
32+
cd $CI_FLCL_BUILD_DIR
33+
cmake $CI_FLCL_PATH_PREFIX\
34+
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
35+
-DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
36+
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
37+
cmake --build $CI_FLCL_BUILD_DIR --parallel
38+
cmake --install $CI_FLCL_BUILD_DIR
39+
ctest
40+
module purge
41+
#rm -rf $CI_FLCL_BUILD_DIR

0 commit comments

Comments
 (0)