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
......@@ -9,7 +9,19 @@ starpu:
- ctest -R test_shm_s
- cmake .. -DCHAMELEON_USE_MPI=ON -DCMAKE_INSTALL_PREFIX=$PWD/install
- 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:
script:
......@@ -19,4 +31,4 @@ quark:
- cd build
- cmake .. -DCHAMELEON_SCHED_QUARK=ON
- make -j2
- ctest -R test_shm_s
\ No newline at end of file
- ctest -V -R test_shm_s
\ No newline at end of file
......@@ -559,7 +559,7 @@ else (NOT CHAMELEON_SIMULATION)
" else set CHAMELEON_USE_CUDA=OFF. The same idea is applicable with MAGMA."
"${ColourReset}")
endif()
if(NOT CHAMELEON_USE_MAGMA)
if(NOT DEFINED CHAMELEON_USE_MAGMA)
message(WARNING "${BoldBlue}"
"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"
......@@ -1088,14 +1088,14 @@ if(_match_ifort)
endif(_match_ifort)
# Testing executables
if(CHAMELEON_ENABLE_EXAMPLE)
if(CHAMELEON_ENABLE_EXAMPLE AND NOT CHAMELEON_SIMULATION)
add_subdirectory(example)
endif(CHAMELEON_ENABLE_EXAMPLE)
endif(CHAMELEON_ENABLE_EXAMPLE AND NOT CHAMELEON_SIMULATION)
# Testing executables
if(CHAMELEON_ENABLE_TESTING)
if(CHAMELEON_ENABLE_TESTING AND NOT CHAMELEON_SIMULATION)
add_subdirectory(testing)
endif(CHAMELEON_ENABLE_TESTING)
endif(CHAMELEON_ENABLE_TESTING AND NOT CHAMELEON_SIMULATION)
# Timing executables
if(CHAMELEON_ENABLE_TIMING)
......
......@@ -2,60 +2,67 @@
# Check timing/
#
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_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_shm --n_range=500:2000:500 --nb=320 )
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_mpigpu --n_range=500:2000:500 --nb=320 --p=2 --gpus=1)
set(MPI_CMD_shm )
set(MPI_CMD_shmgpu )
set(MPI_CMD_mpi mpirun -np 4)
set(MPI_CMD_mpigpu mpirun -np 4)
set( TEST_CATEGORIES shm )
if (CHAMELEON_USE_CUDA AND CUDA_FOUND)
set( TEST_CATEGORIES ${TEST_CATEGORIES} shmgpu )
if (NOT CHAMELEON_SIMULATION)
set( TEST_CATEGORIES shm )
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()
set(TESTLIST
gels
gemm
getrf_incpiv
getrf_nopiv
geqrf
gelqf
posv
potrf
potri
)
gels
gemm
getrf_incpiv
getrf_nopiv
geqrf
gelqf
posv
potrf
potri
)
set(CHAMELEON_PRECISIONS_ZC "c;z")
set(TESTLIST_ZC
sytrf
)
sytrf
)
foreach(cat ${TEST_CATEGORIES})
foreach(prec ${RP_CHAMELEON_PRECISIONS})
string(TOUPPER ${prec} PREC)
if (NOT CHAMELEON_SIMULATION)
if (CHAMELEON_PREC_${PREC})
foreach(test ${TESTLIST})
add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
endforeach()
endif()
foreach(cat ${TEST_CATEGORIES})
foreach(prec ${RP_CHAMELEON_PRECISIONS})
string(TOUPPER ${prec} PREC)
if (CHAMELEON_PREC_${PREC})
foreach(test ${TESTLIST})
add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
endforeach()
endif()
endforeach()
foreach(prec ${CHAMELEON_PRECISIONS_ZC})
string(TOUPPER ${prec} PREC)
if (CHAMELEON_PREC_${PREC})
foreach(test ${TESTLIST_ZC})
add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
endforeach()
endif()
string(TOUPPER ${prec} PREC)
if (CHAMELEON_PREC_${PREC})
foreach(test ${TESTLIST_ZC})
add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
endforeach()
endif()
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_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)
......@@ -64,17 +71,36 @@ if (CHAMELEON_USE_MPI AND MPI_C_FOUND)
# set( TEST_CATEGORIES ${TEST_CATEGORIES} mpigpu )
#endif()
set(TESTLIST_MPI
potrf
)
potrf
)
foreach(cat ${TEST_CATEGORIES})
foreach(prec ${RP_CHAMELEON_PRECISIONS})
string(TOUPPER ${prec} PREC)
foreach(prec ${RP_CHAMELEON_PRECISIONS})
string(TOUPPER ${prec} PREC)
if (CHAMELEON_PREC_${PREC})
foreach(test ${TESTLIST_MPI})
add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
endforeach()
endif()
endforeach()
if (CHAMELEON_PREC_${PREC})
foreach(test ${TESTLIST_MPI})
add_test(time_${cat}_${prec}${test} ${MPI_CMD_${cat}} ./time_${prec}${test}_tile ${TEST_CMD_${cat}} --check --warmup)
endforeach()
endif()
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)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment