Loading cmake/dca_cuda.cmake +4 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,10 @@ if (CUDA_FOUND) list(APPEND DCA_CUDA_LIBS ${CUDA_LIBRARIES} ${CUDA_cusparse_LIBRARY} ${CUDA_cublas_LIBRARY}) CUDA_INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS}) set(CUDA_SEPARABLE_COMPILATION ON) set(CVD_LAUNCHER "" CACHE INTERNAL "launch script for setting the Cuda visible devices.") # Use the following script for systems with multiple gpus visible from a rank. # set(CVD_LAUNCHER "test/cvd_launcher.sh" CACHE INTERNAL "") endif() # Find MAGMA. Loading cmake/dca_testing.cmake +3 −2 Original line number Diff line number Diff line Loading @@ -118,13 +118,14 @@ function(dca_add_gtest name) add_test(NAME ${name} COMMAND ${TEST_RUNNER} ${MPIEXEC_NUMPROC_FLAG} ${DCA_ADD_GTEST_MPI_NUMPROC} ${MPIEXEC_PREFLAGS} "$<TARGET_FILE:${name}>") ${MPIEXEC_PREFLAGS} ${CVD_LAUNCHER} "$<TARGET_FILE:${name}>") target_link_libraries(${name} ${MPI_C_LIBRARIES}) else() if (TEST_RUNNER) add_test(NAME ${name} COMMAND ${TEST_RUNNER} ${MPIEXEC_NUMPROC_FLAG} 1 ${MPIEXEC_PREFLAGS} "$<TARGET_FILE:${name}>") ${MPIEXEC_PREFLAGS} ${SMPIARGS_FLAG_NOMPI} ${CVD_LAUNCHER} "$<TARGET_FILE:${name}>") else (TEST_RUNNER) add_test(NAME ${name} COMMAND "$<TARGET_FILE:${name}>") Loading test/cvdlauncher.sh 0 → 100755 +23 −0 Original line number Diff line number Diff line #!/bin/bash # simple wrapper setting CUDA_VISIBLE_DEVICES for jobs let ngpus=6; export cmd=$1 if [ ! -z $CUDA_VISIBLE_DEVICES ] then let gpu=$CUDA_VISIBLE_DEVICES let mydevice=$gpu let gpu_start=$gpu+1 for ((g=$gpu_start; g<$ngpus; g++)) do mydevice=${mydevice},$g done for ((g=0; g<$gpu; g++)) do mydevice=${mydevice},$g done export CUDA_VISIBLE_DEVICES=$mydevice fi shift $cmd $* Loading
cmake/dca_cuda.cmake +4 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,10 @@ if (CUDA_FOUND) list(APPEND DCA_CUDA_LIBS ${CUDA_LIBRARIES} ${CUDA_cusparse_LIBRARY} ${CUDA_cublas_LIBRARY}) CUDA_INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS}) set(CUDA_SEPARABLE_COMPILATION ON) set(CVD_LAUNCHER "" CACHE INTERNAL "launch script for setting the Cuda visible devices.") # Use the following script for systems with multiple gpus visible from a rank. # set(CVD_LAUNCHER "test/cvd_launcher.sh" CACHE INTERNAL "") endif() # Find MAGMA. Loading
cmake/dca_testing.cmake +3 −2 Original line number Diff line number Diff line Loading @@ -118,13 +118,14 @@ function(dca_add_gtest name) add_test(NAME ${name} COMMAND ${TEST_RUNNER} ${MPIEXEC_NUMPROC_FLAG} ${DCA_ADD_GTEST_MPI_NUMPROC} ${MPIEXEC_PREFLAGS} "$<TARGET_FILE:${name}>") ${MPIEXEC_PREFLAGS} ${CVD_LAUNCHER} "$<TARGET_FILE:${name}>") target_link_libraries(${name} ${MPI_C_LIBRARIES}) else() if (TEST_RUNNER) add_test(NAME ${name} COMMAND ${TEST_RUNNER} ${MPIEXEC_NUMPROC_FLAG} 1 ${MPIEXEC_PREFLAGS} "$<TARGET_FILE:${name}>") ${MPIEXEC_PREFLAGS} ${SMPIARGS_FLAG_NOMPI} ${CVD_LAUNCHER} "$<TARGET_FILE:${name}>") else (TEST_RUNNER) add_test(NAME ${name} COMMAND "$<TARGET_FILE:${name}>") Loading
test/cvdlauncher.sh 0 → 100755 +23 −0 Original line number Diff line number Diff line #!/bin/bash # simple wrapper setting CUDA_VISIBLE_DEVICES for jobs let ngpus=6; export cmd=$1 if [ ! -z $CUDA_VISIBLE_DEVICES ] then let gpu=$CUDA_VISIBLE_DEVICES let mydevice=$gpu let gpu_start=$gpu+1 for ((g=$gpu_start; g<$ngpus; g++)) do mydevice=${mydevice},$g done for ((g=0; g<$gpu; g++)) do mydevice=${mydevice},$g done export CUDA_VISIBLE_DEVICES=$mydevice fi shift $cmd $*