Mentions légales du service

Skip to content
Snippets Groups Projects
Commit c6b048c2 authored by Mathieu Faverge's avatar Mathieu Faverge
Browse files

Merge branch 'issue20' into 'master'

Fix issue 20 - add test for starpu+simgrid

Closes #20

See merge request !29
parents a2680333 05b67413
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -9,7 +9,19 @@ starpu: ...@@ -9,7 +9,19 @@ starpu:
- ctest -R test_shm_s - ctest -R test_shm_s
- cmake .. -DCHAMELEON_USE_MPI=ON -DCMAKE_INSTALL_PREFIX=$PWD/install - cmake .. -DCHAMELEON_USE_MPI=ON -DCMAKE_INSTALL_PREFIX=$PWD/install
- make -j2 - make -j2
- ctest -R mpi_s - ctest -V -R mpi_s
starpu-simgrid:
script:
- git submodule init
- git submodule update
- mkdir build
- cd build
- . $HOME/spack/share/spack/setup-env.sh
- spack load hwloc && spack load fxt && spack load simgrid && spack load starpu
- cmake .. -DCHAMELEON_SIMULATION=ON -DCHAMELEON_USE_CUDA=ON -DCHAMELEON_USE_MAGMA=OFF -DCHAMELEON_USE_MPI=OFF
- make -j2
- ctest -V
quark: quark:
script: script:
...@@ -19,4 +31,4 @@ quark: ...@@ -19,4 +31,4 @@ quark:
- cd build - cd build
- cmake .. -DCHAMELEON_SCHED_QUARK=ON - cmake .. -DCHAMELEON_SCHED_QUARK=ON
- make -j2 - make -j2
- ctest -R test_shm_s - ctest -V -R test_shm_s
\ No newline at end of file \ No newline at end of file
...@@ -559,7 +559,7 @@ else (NOT CHAMELEON_SIMULATION) ...@@ -559,7 +559,7 @@ else (NOT CHAMELEON_SIMULATION)
" else set CHAMELEON_USE_CUDA=OFF. The same idea is applicable with MAGMA." " else set CHAMELEON_USE_CUDA=OFF. The same idea is applicable with MAGMA."
"${ColourReset}") "${ColourReset}")
endif() endif()
if(NOT CHAMELEON_USE_MAGMA) if(NOT DEFINED CHAMELEON_USE_MAGMA)
message(WARNING "${BoldBlue}" message(WARNING "${BoldBlue}"
"In simulation mode CHAMELEON_USE_CUDA and CHAMELEON_USE_MAGMA should be set to" "In simulation mode CHAMELEON_USE_CUDA and CHAMELEON_USE_MAGMA should be set to"
" ensure that the user is aware of the version to be used. If Chameleon's" " ensure that the user is aware of the version to be used. If Chameleon's"
...@@ -1088,14 +1088,14 @@ if(_match_ifort) ...@@ -1088,14 +1088,14 @@ if(_match_ifort)
endif(_match_ifort) endif(_match_ifort)
# Testing executables # Testing executables
if(CHAMELEON_ENABLE_EXAMPLE) if(CHAMELEON_ENABLE_EXAMPLE AND NOT CHAMELEON_SIMULATION)
add_subdirectory(example) add_subdirectory(example)
endif(CHAMELEON_ENABLE_EXAMPLE) endif(CHAMELEON_ENABLE_EXAMPLE AND NOT CHAMELEON_SIMULATION)
# Testing executables # Testing executables
if(CHAMELEON_ENABLE_TESTING) if(CHAMELEON_ENABLE_TESTING AND NOT CHAMELEON_SIMULATION)
add_subdirectory(testing) add_subdirectory(testing)
endif(CHAMELEON_ENABLE_TESTING) endif(CHAMELEON_ENABLE_TESTING AND NOT CHAMELEON_SIMULATION)
# Timing executables # Timing executables
if(CHAMELEON_ENABLE_TIMING) if(CHAMELEON_ENABLE_TIMING)
......
...@@ -2,60 +2,67 @@ ...@@ -2,60 +2,67 @@
# Check timing/ # Check timing/
# #
set(TEST_CMD_shm --n_range=500:2000:500 --nb=320 ) set(TEST_CMD_shm --n_range=500:2000:500 --nb=320 )
set(TEST_CMD_shmgpu --n_range=500:2000:500 --nb=320 --gpus=1) set(TEST_CMD_shmgpu --n_range=500:2000:500 --nb=320 --gpus=1)
set(TEST_CMD_mpi --n_range=500:2000:500 --nb=320 --p=2) set(TEST_CMD_mpi --n_range=500:2000:500 --nb=320 --p=2)
set(TEST_CMD_mpigpu --n_range=500:2000:500 --nb=320 --p=2 --gpus=1) set(TEST_CMD_mpigpu --n_range=500:2000:500 --nb=320 --p=2 --gpus=1)
set(MPI_CMD_shm ) set(MPI_CMD_shm )
set(MPI_CMD_shmgpu ) set(MPI_CMD_shmgpu )
set(MPI_CMD_mpi mpirun -np 4) set(MPI_CMD_mpi mpirun -np 4)
set(MPI_CMD_mpigpu mpirun -np 4) set(MPI_CMD_mpigpu mpirun -np 4)
set( TEST_CATEGORIES shm ) if (NOT CHAMELEON_SIMULATION)
if (CHAMELEON_USE_CUDA AND CUDA_FOUND) set( TEST_CATEGORIES shm )
set( TEST_CATEGORIES ${TEST_CATEGORIES} shmgpu ) if (CHAMELEON_USE_CUDA AND CUDA_FOUND)
set( TEST_CATEGORIES ${TEST_CATEGORIES} shmgpu )
endif()
else()
set( TEST_CATEGORIES simushm )
if (CHAMELEON_USE_CUDA AND CUDA_FOUND)
set( TEST_CATEGORIES ${TEST_CATEGORIES} simugpu )
endif()
endif() endif()
set(TESTLIST set(TESTLIST
gels gels
gemm gemm
getrf_incpiv getrf_incpiv
getrf_nopiv getrf_nopiv
geqrf geqrf
gelqf gelqf
posv posv
potrf potrf
potri potri
) )
set(CHAMELEON_PRECISIONS_ZC "c;z") set(CHAMELEON_PRECISIONS_ZC "c;z")
set(TESTLIST_ZC set(TESTLIST_ZC
sytrf sytrf
) )
foreach(cat ${TEST_CATEGORIES}) if (NOT CHAMELEON_SIMULATION)
foreach(prec ${RP_CHAMELEON_PRECISIONS})
string(TOUPPER ${prec} PREC)
if (CHAMELEON_PREC_${PREC}) foreach(cat ${TEST_CATEGORIES})
foreach(test ${TESTLIST}) foreach(prec ${RP_CHAMELEON_PRECISIONS})
add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup) string(TOUPPER ${prec} PREC)
endforeach() if (CHAMELEON_PREC_${PREC})
endif() foreach(test ${TESTLIST})
add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
endforeach()
endif()
endforeach() endforeach()
foreach(prec ${CHAMELEON_PRECISIONS_ZC}) foreach(prec ${CHAMELEON_PRECISIONS_ZC})
string(TOUPPER ${prec} PREC) string(TOUPPER ${prec} PREC)
if (CHAMELEON_PREC_${PREC})
if (CHAMELEON_PREC_${PREC}) foreach(test ${TESTLIST_ZC})
foreach(test ${TESTLIST_ZC}) add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup) endforeach()
endforeach() endif()
endif()
endforeach() endforeach()
endforeach() endforeach()
if (CHAMELEON_USE_MPI AND MPI_C_FOUND) if (CHAMELEON_USE_MPI AND MPI_C_FOUND)
set( TEST_CATEGORIES mpi ) set( TEST_CATEGORIES mpi )
set( TEST_CMD_mpi --p=2 --n_range=2000:2000:1 --nb==32) set( TEST_CMD_mpi --p=2 --n_range=2000:2000:1 --nb==32)
set( TEST_CMD_mpigpu --p=2 --n_range=2000:2000:1 --nb==32 --gpus=1) set( TEST_CMD_mpigpu --p=2 --n_range=2000:2000:1 --nb==32 --gpus=1)
...@@ -64,17 +71,36 @@ if (CHAMELEON_USE_MPI AND MPI_C_FOUND) ...@@ -64,17 +71,36 @@ if (CHAMELEON_USE_MPI AND MPI_C_FOUND)
# set( TEST_CATEGORIES ${TEST_CATEGORIES} mpigpu ) # set( TEST_CATEGORIES ${TEST_CATEGORIES} mpigpu )
#endif() #endif()
set(TESTLIST_MPI set(TESTLIST_MPI
potrf potrf
) )
foreach(cat ${TEST_CATEGORIES}) foreach(cat ${TEST_CATEGORIES})
foreach(prec ${RP_CHAMELEON_PRECISIONS}) foreach(prec ${RP_CHAMELEON_PRECISIONS})
string(TOUPPER ${prec} PREC) string(TOUPPER ${prec} PREC)
if (CHAMELEON_PREC_${PREC}) if (CHAMELEON_PREC_${PREC})
foreach(test ${TESTLIST_MPI}) foreach(test ${TESTLIST_MPI})
add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup) add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
endforeach() endforeach()
endif() endif()
endforeach() endforeach()
endforeach() endforeach()
endif() endif()
else (NOT CHAMELEON_SIMULATION)
set(TEST_CMD_simushm --n_range=9600:9600:1 --nb=960 )
set(TEST_CMD_simugpu --n_range=9600:9600:1 --nb=960 --gpus=1)
set(RP_CHAMELEON_PRECISIONS_SIMU "s;d")
foreach(cat ${TEST_CATEGORIES})
foreach(prec ${RP_CHAMELEON_PRECISIONS_SIMU})
string(TOUPPER ${prec} PREC)
if (CHAMELEON_PREC_${PREC})
add_test(time_${cat}_${prec}potrf ${MPI_CMD_${cat}} ./time_${prec}potrf_tile ${TEST_CMD_${cat}})
set_tests_properties(time_${cat}_${prec}potrf PROPERTIES
ENVIRONMENT "STARPU_HOME=${CMAKE_SOURCE_DIR}/simucore/perfmodels;STARPU_HOSTNAME=sirocco"
)
endif()
endforeach()
endforeach()
endif (NOT CHAMELEON_SIMULATION)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment