Skip to content

Commit

Permalink
Merge branch 'develop' of github.com:kokkos/kokkos-fortran-interop in…
Browse files Browse the repository at this point in the history
…to develop
  • Loading branch information
womeld committed Jun 14, 2021
2 parents cfb1862 + 4844619 commit 432309c
Show file tree
Hide file tree
Showing 265 changed files with 6,791 additions and 2,580 deletions.
36 changes: 32 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.17)
cmake_minimum_required(VERSION 3.19)
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
project(flcl VERSION 0.4.0 LANGUAGES Fortran C CXX)

Expand Down Expand Up @@ -31,6 +31,18 @@ add_library(flcl-fortran
src/flcl-f.f90
src/flcl-util-kokkos-f.f90
)
#standards compliance section
if (CMAKE_Fortran_COMPILER_ID STREQUAL "XL")
# fully enable F2008, per IBM article: https://www.ibm.com/docs/en/xl-fortran-linux/16.1.1?topic=scenarios-compiling-fortran-2008-programs
# also enable polymorphic feature (-qxlf2003=polymorphic) to support the view/dualview types to enable type disambiguation in generic interfaces
target_compile_options(flcl-fortran PRIVATE -qxlf2003=polymorphic -qlanglvl=2008std -qnodirective -qnoescape -qfloat=nomaf:rndsngl:nofold -qnoswapomp -qstrictieeemod -qsuppress=1501-510 )
endif()
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
target_compile_options(flcl-fortran PRIVATE -std=f2008)
endif()
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
target_compile_options(flcl-fortran PRIVATE -std08)
endif()
target_include_directories(flcl-fortran
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/mod>
Expand All @@ -53,6 +65,7 @@ set(flcl-cxx-public-headers
${PROJECT_SOURCE_DIR}/src/flcl-cxx.hpp
${PROJECT_SOURCE_DIR}/src/flcl-util-cxx.h
)
set_property(TARGET flcl-cxx PROPERTY CXX_STANDARD 14)
set_target_properties(flcl-cxx PROPERTIES PUBLIC_HEADER "${flcl-cxx-public-headers}")
target_link_libraries(flcl-cxx
PRIVATE
Expand All @@ -74,6 +87,21 @@ target_link_libraries(flcl
INTERFACE
Kokkos::kokkos
)

# add parallelism library link flags in kokkos > 3.1
if (Kokkos_VERSION VERSION_GREATER 3.1)
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
target_link_options(flcl INTERFACE -qopenmp PUBLIC -qopenmp)
endif()
if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
target_link_options(flcl INTERFACE -fopenmp PUBLIC -fopenmp)
endif()
if (CMAKE_Fortran_COMPILER_ID STREQUAL "XL")
target_link_options(flcl INTERFACE -qopenmp PUBLIC -qopenmp)
endif()
endif()

#add flcl library
add_library(flcl::flcl ALIAS flcl)

#installation section
Expand Down Expand Up @@ -119,6 +147,6 @@ if(BUILD_TESTING)
add_subdirectory(test)
endif()

add_subdirectory(examples)


if(BUILD_EXAMPLES)
add_subdirectory(examples)
endif()
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/tcsh
setenv CI_SEP -
setenv CI_BUILD_TYPE debug
setenv CI_BUILD_SUFFIX build
setenv CI_INSTALL_SUFFIX install
setenv CI_MACHINE_ARCH ppc
setenv CI_COMPILER_FAMILY gcc
setenv CI_COMPILER_VER 7.4.0
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
setenv CI_CUDA_PREFIX cuda
setenv CI_CUDA_VER 10.1
setenv CI_CUDA_NAME $CI_CUDA_PREFIX$CI_SEP$CI_CUDA_VER$CI_SEP
setenv CI_KOKKOS_PREFIX kokkos
setenv CI_KOKKOS_VER 3.0.00
setenv CI_KOKKOS_BACKEND cuda
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
setenv CI_FLCL_PREFIX flcl
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
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
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
rm -rf $CI_FLCL_INSTALL_DIR
rm -rf $CI_FLCL_BUILD_DIR
mkdir -p $CI_FLCL_INSTALL_DIR
mkdir -p $CI_FLCL_BUILD_DIR
module load cmake/3.19.2
module load gcc/7.4.0
module load cuda/10.1
setenv CUDA_LAUNCH_BLOCKING 1
setenv CUDA_MANAGED_FORCE_DEVICE_ALLOC 1
cd $CI_FLCL_BUILD_DIR
cmake $CI_FLCL_PATH_PREFIX\
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
-DCMAKE_CXX_COMPILER=/home/$USER/kokkos/kokkos-3.0.00/bin/nvcc_wrapper \
-DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
cmake --build $CI_FLCL_BUILD_DIR --parallel
cmake --install $CI_FLCL_BUILD_DIR
ctest
module purge
#rm -rf $CI_FLCL_BUILD_DIR
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/tcsh
setenv CI_SEP -
setenv CI_BUILD_TYPE release
setenv CI_BUILD_SUFFIX build
setenv CI_INSTALL_SUFFIX install
setenv CI_MACHINE_ARCH ppc
setenv CI_COMPILER_FAMILY gcc
setenv CI_COMPILER_VER 7.4.0
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
setenv CI_CUDA_PREFIX cuda
setenv CI_CUDA_VER 10.1
setenv CI_CUDA_NAME $CI_CUDA_PREFIX$CI_SEP$CI_CUDA_VER$CI_SEP
setenv CI_KOKKOS_PREFIX kokkos
setenv CI_KOKKOS_VER 3.0.00
setenv CI_KOKKOS_BACKEND cuda
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
setenv CI_FLCL_PREFIX flcl
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
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
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
rm -rf $CI_FLCL_INSTALL_DIR
rm -rf $CI_FLCL_BUILD_DIR
mkdir -p $CI_FLCL_INSTALL_DIR
mkdir -p $CI_FLCL_BUILD_DIR
module load cmake/3.19.2
module load gcc/7.4.0
module load cuda/10.1
setenv CUDA_LAUNCH_BLOCKING 1
setenv CUDA_MANAGED_FORCE_DEVICE_ALLOC 1
cd $CI_FLCL_BUILD_DIR
cmake $CI_FLCL_PATH_PREFIX\
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
-DCMAKE_CXX_COMPILER=/home/$USER/kokkos/kokkos-3.0.00/bin/nvcc_wrapper \
-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
cmake --build $CI_FLCL_BUILD_DIR --parallel
cmake --install $CI_FLCL_BUILD_DIR
ctest
module purge
#rm -rf $CI_FLCL_BUILD_DIR
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/tcsh
setenv CI_SEP -
setenv CI_BUILD_TYPE debug
setenv CI_BUILD_SUFFIX build
setenv CI_INSTALL_SUFFIX install
setenv CI_MACHINE_ARCH ppc
setenv CI_COMPILER_FAMILY gcc
setenv CI_COMPILER_VER 7.4.0
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
setenv CI_CUDA_PREFIX cuda
setenv CI_CUDA_VER 10.1
setenv CI_CUDA_NAME $CI_CUDA_PREFIX$CI_SEP$CI_CUDA_VER$CI_SEP
setenv CI_KOKKOS_PREFIX kokkos
setenv CI_KOKKOS_VER 3.1.01
setenv CI_KOKKOS_BACKEND cuda
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
setenv CI_FLCL_PREFIX flcl
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
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
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
rm -rf $CI_FLCL_INSTALL_DIR
rm -rf $CI_FLCL_BUILD_DIR
mkdir -p $CI_FLCL_INSTALL_DIR
mkdir -p $CI_FLCL_BUILD_DIR
module load cmake/3.19.2
module load gcc/7.4.0
module load cuda/10.1
setenv CUDA_LAUNCH_BLOCKING 1
setenv CUDA_MANAGED_FORCE_DEVICE_ALLOC 1
cd $CI_FLCL_BUILD_DIR
cmake $CI_FLCL_PATH_PREFIX\
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
-DCMAKE_CXX_COMPILER=/home/$USER/kokkos/kokkos-3.1.01/bin/nvcc_wrapper \
-DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
cmake --build $CI_FLCL_BUILD_DIR --parallel
cmake --install $CI_FLCL_BUILD_DIR
ctest
module purge
#rm -rf $CI_FLCL_BUILD_DIR
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/tcsh
setenv CI_SEP -
setenv CI_BUILD_TYPE release
setenv CI_BUILD_SUFFIX build
setenv CI_INSTALL_SUFFIX install
setenv CI_MACHINE_ARCH ppc
setenv CI_COMPILER_FAMILY gcc
setenv CI_COMPILER_VER 7.4.0
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
setenv CI_CUDA_PREFIX cuda
setenv CI_CUDA_VER 10.1
setenv CI_CUDA_NAME $CI_CUDA_PREFIX$CI_SEP$CI_CUDA_VER$CI_SEP
setenv CI_KOKKOS_PREFIX kokkos
setenv CI_KOKKOS_VER 3.1.01
setenv CI_KOKKOS_BACKEND cuda
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
setenv CI_FLCL_PREFIX flcl
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
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
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
rm -rf $CI_FLCL_INSTALL_DIR
rm -rf $CI_FLCL_BUILD_DIR
mkdir -p $CI_FLCL_INSTALL_DIR
mkdir -p $CI_FLCL_BUILD_DIR
module load cmake/3.19.2
module load gcc/7.4.0
module load cuda/10.1
setenv CUDA_LAUNCH_BLOCKING 1
setenv CUDA_MANAGED_FORCE_DEVICE_ALLOC 1
cd $CI_FLCL_BUILD_DIR
cmake $CI_FLCL_PATH_PREFIX\
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
-DCMAKE_CXX_COMPILER=/home/$USER/kokkos/kokkos-3.1.01/bin/nvcc_wrapper \
-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
cmake --build $CI_FLCL_BUILD_DIR --parallel
cmake --install $CI_FLCL_BUILD_DIR
ctest
module purge
#rm -rf $CI_FLCL_BUILD_DIR
43 changes: 43 additions & 0 deletions ci/flcl-run-ci-darwin-ppc-gcc-7.4.0-kokkos-3.0.00-openmp-debug.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/bin/tcsh
setenv CI_SEP -
setenv CI_BUILD_TYPE debug
setenv CI_BUILD_SUFFIX build
setenv CI_INSTALL_SUFFIX install
setenv CI_MACHINE_ARCH ppc
setenv CI_COMPILER_FAMILY gcc
setenv CI_COMPILER_VER 7.4.0
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
setenv CI_CUDA_PREFIX cuda
setenv CI_CUDA_VER
setenv CI_CUDA_NAME
setenv CI_KOKKOS_PREFIX kokkos
setenv CI_KOKKOS_VER 3.0.00
setenv CI_KOKKOS_BACKEND openmp
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
setenv CI_FLCL_PREFIX flcl
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
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
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
rm -rf $CI_FLCL_INSTALL_DIR
rm -rf $CI_FLCL_BUILD_DIR
mkdir -p $CI_FLCL_INSTALL_DIR
mkdir -p $CI_FLCL_BUILD_DIR
module load cmake/3.19.2
module load gcc/7.4.0
setenv OMP_PROC_BIND spread
setenv OMP_PLACES threads
cd $CI_FLCL_BUILD_DIR
cmake $CI_FLCL_PATH_PREFIX\
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
-DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
cmake --build $CI_FLCL_BUILD_DIR --parallel
cmake --install $CI_FLCL_BUILD_DIR
ctest
module purge
#rm -rf $CI_FLCL_BUILD_DIR
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/bin/tcsh
setenv CI_SEP -
setenv CI_BUILD_TYPE release
setenv CI_BUILD_SUFFIX build
setenv CI_INSTALL_SUFFIX install
setenv CI_MACHINE_ARCH ppc
setenv CI_COMPILER_FAMILY gcc
setenv CI_COMPILER_VER 7.4.0
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
setenv CI_CUDA_PREFIX cuda
setenv CI_CUDA_VER
setenv CI_CUDA_NAME
setenv CI_KOKKOS_PREFIX kokkos
setenv CI_KOKKOS_VER 3.0.00
setenv CI_KOKKOS_BACKEND openmp
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
setenv CI_FLCL_PREFIX flcl
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
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
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
rm -rf $CI_FLCL_INSTALL_DIR
rm -rf $CI_FLCL_BUILD_DIR
mkdir -p $CI_FLCL_INSTALL_DIR
mkdir -p $CI_FLCL_BUILD_DIR
module load cmake/3.19.2
module load gcc/7.4.0
setenv OMP_PROC_BIND spread
setenv OMP_PLACES threads
cd $CI_FLCL_BUILD_DIR
cmake $CI_FLCL_PATH_PREFIX\
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
cmake --build $CI_FLCL_BUILD_DIR --parallel
cmake --install $CI_FLCL_BUILD_DIR
ctest
module purge
#rm -rf $CI_FLCL_BUILD_DIR
41 changes: 41 additions & 0 deletions ci/flcl-run-ci-darwin-ppc-gcc-7.4.0-kokkos-3.0.00-serial-debug.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/tcsh
setenv CI_SEP -
setenv CI_BUILD_TYPE debug
setenv CI_BUILD_SUFFIX build
setenv CI_INSTALL_SUFFIX install
setenv CI_MACHINE_ARCH ppc
setenv CI_COMPILER_FAMILY gcc
setenv CI_COMPILER_VER 7.4.0
setenv CI_COMPILER_NAME $CI_COMPILER_FAMILY$CI_SEP$CI_COMPILER_VER$CI_SEP
setenv CI_CUDA_PREFIX cuda
setenv CI_CUDA_VER
setenv CI_CUDA_NAME
setenv CI_KOKKOS_PREFIX kokkos
setenv CI_KOKKOS_VER 3.0.00
setenv CI_KOKKOS_BACKEND serial
setenv CI_KOKKOS_NAME $CI_KOKKOS_PREFIX$CI_SEP$CI_KOKKOS_VER$CI_SEP$CI_KOKKOS_BACKEND$CI_SEP$CI_BUILD_TYPE
setenv CI_KOKKOS_PATH_PREFIX /home/$USER/kt
setenv CI_KOKKOS_INSTALL_DIR $CI_KOKKOS_PATH_PREFIX/$CI_MACHINE_ARCH$CI_SEP$CI_COMPILER_NAME$CI_CUDA_NAME$CI_KOKKOS_NAME
setenv CI_KOKKOS_BUILD_DIR $CI_KOKKOS_INSTALL_DIR$CI_SEP$CI_BUILD_SUFFIX
setenv CI_FLCL_PREFIX flcl
setenv CI_FLCL_PATH_PREFIX /home/$USER/kokkos-fortran-interop
setenv CI_FLCL_CI_PATH_PREFIX $CI_FLCL_PATH_PREFIX/ci
setenv CI_FLCL_KOKKOS_PATH $CI_KOKKOS_INSTALL_DIR/lib64/cmake/Kokkos
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
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
rm -rf $CI_FLCL_INSTALL_DIR
rm -rf $CI_FLCL_BUILD_DIR
mkdir -p $CI_FLCL_INSTALL_DIR
mkdir -p $CI_FLCL_BUILD_DIR
module load cmake/3.19.2
module load gcc/7.4.0
cd $CI_FLCL_BUILD_DIR
cmake $CI_FLCL_PATH_PREFIX\
-DKokkos_DIR=$CI_FLCL_KOKKOS_PATH \
-DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DBUILD_EXAMPLES=ON \
-DCMAKE_INSTALL_PREFIX=$CI_FLCL_INSTALL_DIR
cmake --build $CI_FLCL_BUILD_DIR --parallel
cmake --install $CI_FLCL_BUILD_DIR
ctest
module purge
#rm -rf $CI_FLCL_BUILD_DIR
Loading

0 comments on commit 432309c

Please sign in to comment.