Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make supernodal a configurable CMake option #659

Merged
merged 1 commit into from
Mar 13, 2020

Conversation

jjwilke
Copy link
Contributor

@jjwilke jjwilke commented Mar 12, 2020

No description provided.

@ndellingwood
Copy link
Contributor

@jjwilke 's configuration:

mkdir kokkos-kernels/build
cd kokkos-kernels/build

#assumes OPENBLAS_ROOT, METIS_ROOT, SUITESPARSE_ROOT are set in env
cmake .. \
  -DCMAKE_INSTALL_PREFIX=$HOME/Programs/install/kk/develop/openmp \
  -DKokkosKernels_ENABLE_TPL_METIS=ON \
  -DKokkosKernels_ENABLE_TPL_CHOLMOD=ON \
  -DKokkosKernels_ENABLE_TPL_LAPACKE=ON \
  -DKokkosKernels_ENABLE_TPL_CBLAS=ON \
  -DKokkosKernels_ENABLE_TPL_SUPERLU=ON \
  -DCMAKE_CXX_COMPILER=g++ \
  -DSUPERLU_ROOT=$HOME/Programs/install/superlu \
  -DKokkos_ROOT=$kokkos \
  -DKokkosKernels_ENABLE_TESTS=On \
  -DKokkosKernels_ENABLE_SUPERNODAL_SPTRSV=ON

Copy link
Contributor

@ndellingwood ndellingwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved based on cmake updates, will wait for @iyamazaki to confirm he can compile and run the code using CMake build system before merging.

@@ -0,0 +1,20 @@
function(kokkoskernels_feature_depends_on_tpls FEATURE)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great, will be very useful!

@ndellingwood
Copy link
Contributor

@jjwilke this is failing during configuration in spot-check tests on kokkos-dev-2, I think SUPERNODAL_SPTRSV should be disabled by default, can you take a look?

sample message:

-- Found Kokkos at /ascldap/users/ndellin/kokkos-kernels/testing/PRTest/TestAll_2020-03-12_16.00.18/gcc/7.3.0/OpenMP-release/kokkos-install/lib64/cmake/Kokkos
-- The project name is: KokkosKernels
CMake Error at cmake/kokkoskernels_features.cmake:4 (MESSAGE):
  Feature SUPERNODAL_SPTRSV requires TPL support for CHOLMOD.  Must build
  with -DKokkosKernels_ENABLE_TPL_CHOLMOD:BOOL=ON and potentially
  -DCHOLMOD_ROOT=<INSTALL> to the desired package location
Call Stack (most recent call first):
  cmake/kokkoskernels_features.cmake:14 (KOKKOSKERNELS_FEATURE_DEPENDS_ON_TPLS)
  CMakeLists.txt:392 (INCLUDE)

@jjwilke jjwilke force-pushed the supernodal-option branch from 87e0e3b to 18ea3e7 Compare March 12, 2020 23:07
@jjwilke
Copy link
Contributor Author

jjwilke commented Mar 12, 2020

@ndellingwood You are correct. Fixed.

@ndellingwood
Copy link
Contributor

kokkos-dev-2 spot-check passes

Running on machine: kokkos-dev-2
KokkosKernels Repository Status:  18ea3e78cc2777311451024e2cf79695b5063c45 Make supernodal a configurable CMake option

Kokkos Repository Status:  9e45ca5fbbebd388fb28cc80019e7be2b4ddfe0c Merge pull request #2864 from ndellingwood/issue-2863


Going to test compilers:  gcc/7.3.0 gcc/8.3.0 gcc/9.1 intel/18.0.5 clang/8.0 cuda/10.1 cuda/9.2
Testing compiler gcc/7.3.0
  Starting job gcc-7.3.0-OpenMP-release
kokkos options: 
kokkos devices: OpenMP
kokkos cxx: -O3 -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wignored-qualifiers -Wempty-body -Wclobbered -Wuninitialized 
  PASSED gcc-7.3.0-OpenMP-release
Testing compiler gcc/8.3.0
  Starting job gcc-7.3.0-Pthread-release
kokkos options: 
kokkos devices: Pthread
kokkos cxx: -O3 -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wignored-qualifiers -Wempty-body -Wclobbered -Wuninitialized 
  PASSED gcc-7.3.0-Pthread-release
Testing compiler gcc/9.1
  Starting job gcc-8.3.0-Serial-release
kokkos options: 
kokkos devices: Serial
kokkos cxx: -O3 -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wignored-qualifiers -Wempty-body -Wclobbered -Wuninitialized 
  PASSED gcc-8.3.0-Serial-release
  Starting job gcc-9.1-OpenMP-release
kokkos options: 
kokkos devices: OpenMP
kokkos cxx: -O3 -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wignored-qualifiers -Wempty-body -Wclobbered -Wuninitialized 
  PASSED gcc-9.1-OpenMP-release
Testing compiler intel/18.0.5
  Starting job gcc-9.1-Serial-release
kokkos options: 
kokkos devices: Serial
kokkos cxx: -O3 -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wignored-qualifiers -Wempty-body -Wclobbered -Wuninitialized 
  PASSED gcc-9.1-Serial-release
Testing compiler clang/8.0
  Starting job intel-18.0.5-OpenMP-release
kokkos options: 
kokkos devices: OpenMP
kokkos cxx: -O3 -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wuninitialized 
  PASSED intel-18.0.5-OpenMP-release
  Starting job clang-8.0-Cuda_OpenMP-release
kokkos options: 
kokkos devices: Cuda,OpenMP
kokkos cxx: -O3 -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wuninitialized -Wno-pass-failed 
  PASSED clang-8.0-Cuda_OpenMP-release
Testing compiler cuda/10.1
  Starting job clang-8.0-Pthread_Serial-release
kokkos options: 
kokkos devices: Pthread,Serial
kokkos cxx: -O3 -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wuninitialized -Wno-pass-failed 
  PASSED clang-8.0-Pthread_Serial-release
Testing compiler cuda/9.2
  Starting job cuda-10.1-Cuda_OpenMP-release
kokkos options: 
kokkos devices: Cuda,OpenMP
kokkos cxx: -O3 -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wuninitialized 
  PASSED cuda-10.1-Cuda_OpenMP-release
  Starting job cuda-9.2-Cuda_Serial-release
kokkos options: 
kokkos devices: Cuda,Serial
kokkos cxx: -O3 -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wuninitialized 
  PASSED cuda-9.2-Cuda_Serial-release
#######################################################
PASSED TESTS
#######################################################
clang-8.0-Cuda_OpenMP-release build_time=120 run_time=151
clang-8.0-Pthread_Serial-release build_time=51 run_time=152
cuda-10.1-Cuda_OpenMP-release build_time=157 run_time=141
cuda-9.2-Cuda_Serial-release build_time=153 run_time=191
gcc-7.3.0-OpenMP-release build_time=45 run_time=46
gcc-7.3.0-Pthread-release build_time=40 run_time=76
gcc-8.3.0-Serial-release build_time=42 run_time=70
gcc-9.1-OpenMP-release build_time=52 run_time=46
gcc-9.1-Serial-release build_time=45 run_time=72
intel-18.0.5-OpenMP-release build_time=148 run_time=47

tpl spot-check failed in a couple builds due to #657, fix was merged after this PR was created

@ndellingwood ndellingwood merged commit 025b282 into kokkos:develop Mar 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants