Commit 75860475 authored by Andreas Marek's avatar Andreas Marek

Test commit

parent 46a9189a
This diff is collapsed.
...@@ -257,6 +257,7 @@ print(" - if [ \"$MEDIUM_MATRIX\" = \"yes\" ]; then export MATRIX_SIZE=1500 && ...@@ -257,6 +257,7 @@ print(" - if [ \"$MEDIUM_MATRIX\" = \"yes\" ]; then export MATRIX_SIZE=1500 &&
print(" - if [ \"$LARGE_MATRIX\" = \"yes\" ]; then export MATRIX_SIZE=5000 && export NUMBER_OF_EIGENVECTORS=500; fi") print(" - if [ \"$LARGE_MATRIX\" = \"yes\" ]; then export MATRIX_SIZE=5000 && export NUMBER_OF_EIGENVECTORS=500; fi")
print(" - if [ \"$GPU_BLOCKSIZE\" = \"yes\" ]; then export BLOCK_SIZE=128 ; fi") print(" - if [ \"$GPU_BLOCKSIZE\" = \"yes\" ]; then export BLOCK_SIZE=128 ; fi")
print(" - echo \"This test will run with matrix size na = $MATRIX_SIZE, nev= $NUMBER_OF_EIGENVECTORS, on a blacs grid with blocksize nblk= $BLOCK_SIZE \" ") print(" - echo \"This test will run with matrix size na = $MATRIX_SIZE, nev= $NUMBER_OF_EIGENVECTORS, on a blacs grid with blocksize nblk= $BLOCK_SIZE \" ")
print(" - export SKIP_STEP=0")
print(" - ./autogen.sh") print(" - ./autogen.sh")
print("\n\n") print("\n\n")
...@@ -422,13 +423,16 @@ coverage = { ...@@ -422,13 +423,16 @@ coverage = {
"no-coverage": "no-coverage", "no-coverage": "no-coverage",
} }
#instruction_set = {
# "sse" : " --enable-sse --enable-sse-assembly",
# "avx" : " --enable-avx",
# "avx2" : " --enable-avx2",
# "avx512" : "--enable-avx512",
# "knl" : "--enable-avx512",
# "power8" : " --enable-vsx --disable-sse --disable-sse-assembly --disable-avx --disable-avx2 --disable-mpi-module --with-GPU-compute-capability=sm_60 ",
#}
instruction_set = { instruction_set = {
"sse" : " --enable-sse --enable-sse-assembly",
"avx" : " --enable-avx",
"avx2" : " --enable-avx2", "avx2" : " --enable-avx2",
"avx512" : "--enable-avx512",
"knl" : "--enable-avx512",
"power8" : " --enable-vsx --disable-sse --disable-sse-assembly --disable-avx --disable-avx2 --disable-mpi-module --with-GPU-compute-capability=sm_60 ",
} }
...@@ -611,7 +615,6 @@ for cc, fc, m, o, p, a, b, g, cov, instr, addr, na in product( ...@@ -611,7 +615,6 @@ for cc, fc, m, o, p, a, b, g, cov, instr, addr, na in product(
# do the configure # do the configure
if ( instr == "sse" or (instr == "avx" and g != "with-gpu")): if ( instr == "sse" or (instr == "avx" and g != "with-gpu")):
print(" - export SKIP_STEP=0 ")
if ( instr == "sse"): if ( instr == "sse"):
print(" - if [ $MEDIUM_MATRIX -gt 150 ]; then export SKIP_STEP=1 ; fi # our SSE test machines do not have a lot of memory") print(" - if [ $MEDIUM_MATRIX -gt 150 ]; then export SKIP_STEP=1 ; fi # our SSE test machines do not have a lot of memory")
...@@ -650,21 +653,29 @@ for cc, fc, m, o, p, a, b, g, cov, instr, addr, na in product( ...@@ -650,21 +653,29 @@ for cc, fc, m, o, p, a, b, g, cov, instr, addr, na in product(
+ " " + precision[p] + " " + assumed_size[a] + " " + band_to_full_blocking[b] \ + " " + precision[p] + " " + assumed_size[a] + " " + band_to_full_blocking[b] \
+ " " +gpu[g] + INSTRUCTION_OPTIONS + "\"" ) + " " +gpu[g] + INSTRUCTION_OPTIONS + "\"" )
else: else:
print(" - srun --ntasks-per-core=1 --ntasks=1 --cpus-per-task=1 $SRUN_COMMANDLINE_CONFIGURE" \ print(" - pwd")
+ " /scratch/elpa/bin/configure_elpa.sh" \ print(" - ./build_test_scripts/run_ci_tests.sh -c \" CC=\\\""+c_compiler_wrapper+"\\\"" + " CFLAGS=\\\""+CFLAGS+"\\\"" + " FC=\\\""+fortran_compiler_wrapper+"\\\"" + " FCFLAGS=\\\""+FCFLAGS+"\\\"" \
+ " \" CC=\\\""+c_compiler_wrapper+"\\\"" + " CFLAGS=\\\""+CFLAGS+"\\\"" \ + libs + " " + ldflags + " " + " "+ scalapackldflags +" " + scalapackfcflags \
+ " FC=\\\""+fortran_compiler_wrapper+"\\\"" + " FCFLAGS=\\\""+FCFLAGS+"\\\"" \ + " --enable-option-checking=fatal" + " " + mpi_configure_flag + " " + openmp[o] \
+ libs + " " + ldflags + " " + " " + scalapackldflags + " " + scalapackfcflags \
+ " --enable-option-checking=fatal " + " " + mpi_configure_flag + " " + openmp[o] \
+ " " + precision[p] + " " + assumed_size[a] + " " + band_to_full_blocking[b] \ + " " + precision[p] + " " + assumed_size[a] + " " + band_to_full_blocking[b] \
+ " " +gpu[g] + INSTRUCTION_OPTIONS + "\"" ) + " " +gpu[g] + INSTRUCTION_OPTIONS + "\" -j 8 -t " + str(MPI_TASKS) + " -m $MATRIX_SIZE -n $NUMBER_OF_EIGENVECTORS -b $BLOCK_SIZE -s $SKIP_STEP -q \"srun\" ")
#print(" - srun --ntasks-per-core=1 --ntasks=1 --cpus-per-task=1 $SRUN_COMMANDLINE_CONFIGURE" \
# + " /scratch/elpa/bin/configure_elpa.sh" \
# + " \" CC=\\\""+c_compiler_wrapper+"\\\"" + " CFLAGS=\\\""+CFLAGS+"\\\"" \
# + " FC=\\\""+fortran_compiler_wrapper+"\\\"" + " FCFLAGS=\\\""+FCFLAGS+"\\\"" \
# + libs + " " + ldflags + " " + " " + scalapackldflags + " " + scalapackfcflags \
# + " --enable-option-checking=fatal " + " " + mpi_configure_flag + " " + openmp[o] \
# + " " + precision[p] + " " + assumed_size[a] + " " + band_to_full_blocking[b] \
# + " " +gpu[g] + INSTRUCTION_OPTIONS + "\"" )
print(" - sleep 1") print(" - sleep 1")
# # do the build # # do the build
if ( instr == "avx2" or instr == "avx512" or instr == "knl" or g == "with-gpu"): #if ( instr == "avx2" or instr == "avx512" or instr == "knl" or g == "with-gpu"):
#print(" - echo \"srun --ntasks=1 --cpus-per-task=8 $SRUN_COMMANDLINE_BUILD\" ") # #print(" - echo \"srun --ntasks=1 --cpus-per-task=8 $SRUN_COMMANDLINE_BUILD\" ")
print(" - srun --ntasks-per-core=1 --ntasks=1 --cpus-per-task=8 $SRUN_COMMANDLINE_BUILD /scratch/elpa/bin/build_elpa.sh") # print(" - srun --ntasks-per-core=1 --ntasks=1 --cpus-per-task=8 $SRUN_COMMANDLINE_BUILD /scratch/elpa/bin/build_elpa.sh")
# do the test # do the test
...@@ -681,8 +692,8 @@ for cc, fc, m, o, p, a, b, g, cov, instr, addr, na in product( ...@@ -681,8 +692,8 @@ for cc, fc, m, o, p, a, b, g, cov, instr, addr, na in product(
cores = set_number_of_cores(MPI_TASKS, o) cores = set_number_of_cores(MPI_TASKS, o)
#print(" - echo \" srun --ntasks=1 --cpus-per-task="+str(cores)+" $SRUN_COMMANDLINE_RUN\" ") #print(" - echo \" srun --ntasks=1 --cpus-per-task="+str(cores)+" $SRUN_COMMANDLINE_RUN\" ")
print(" - echo \"na= $MATRIX_SIZE, nev= $NUMBER_OF_EIGENVECTORS nblock= $BLOCK_SIZE\" ") print(" - echo \"na= $MATRIX_SIZE, nev= $NUMBER_OF_EIGENVECTORS nblock= $BLOCK_SIZE\" ")
print(" - srun --ntasks-per-core=1 --ntasks=1 --cpus-per-task="+str(cores)+" $SRUN_COMMANDLINE_RUN \ #print(" - srun --ntasks-per-core=1 --ntasks=1 --cpus-per-task="+str(cores)+" $SRUN_COMMANDLINE_RUN \
/scratch/elpa/bin/run_elpa.sh "+str(MPI_TASKS) + openmp_threads +" \" TEST_FLAGS=\\\" $MATRIX_SIZE $NUMBER_OF_EIGENVECTORS $BLOCK_SIZE " +"\\\" || { cat test-suite.log; exit 1; }\"") # /scratch/elpa/bin/run_elpa.sh "+str(MPI_TASKS) + openmp_threads +" \" TEST_FLAGS=\\\" $MATRIX_SIZE $NUMBER_OF_EIGENVECTORS $BLOCK_SIZE " +"\\\" || { cat test-suite.log; exit 1; }\"")
if (cov == "coverage"): if (cov == "coverage"):
print(" - ./ci_coverage_collect") print(" - ./ci_coverage_collect")
......
...@@ -11,6 +11,7 @@ blockSize=16 ...@@ -11,6 +11,7 @@ blockSize=16
ompThreads=1 ompThreads=1
configueArg="" configueArg=""
skipStep=0 skipStep=0
batchCommand=""
function usage() { function usage() {
cat >&2 <<-EOF cat >&2 <<-EOF
...@@ -18,7 +19,7 @@ function usage() { ...@@ -18,7 +19,7 @@ function usage() {
Call all the necessary steps to perform an ELPA CI test Call all the necessary steps to perform an ELPA CI test
Usage: Usage:
run_ci_tests [-c configure arguments] [-j makeTasks] [-h] [-t MPI Tasks] [-m matrix size] [-n number of eigenvectors] [-b block size] [-o OpenMP threads] [-s skipStep] run_ci_tests [-c configure arguments] [-j makeTasks] [-h] [-t MPI Tasks] [-m matrix size] [-n number of eigenvectors] [-b block size] [-o OpenMP threads] [-s skipStep] [-q submit command]
Options: Options:
-c configure arguments -c configure arguments
...@@ -44,13 +45,16 @@ function usage() { ...@@ -44,13 +45,16 @@ function usage() {
-s skipStep -s skipStep
Skip the test run if 1 (default 0) Skip the test run if 1 (default 0)
-q submit command
Job steps will be submitted via command to a batch system (default no submission)
-h -h
Print this help text Print this help text
EOF EOF
} }
while getopts "c:t:j:m:n:b:o:s:h" opt; do while getopts "c:t:j:m:n:b:o:s:q:h" opt; do
case $opt in case $opt in
j) j)
makeTasks=$OPTARG;; makeTasks=$OPTARG;;
...@@ -68,6 +72,8 @@ while getopts "c:t:j:m:n:b:o:s:h" opt; do ...@@ -68,6 +72,8 @@ while getopts "c:t:j:m:n:b:o:s:h" opt; do
configureArgs=$OPTARG;; configureArgs=$OPTARG;;
s) s)
skipStep=$OPTARG;; skipStep=$OPTARG;;
q)
batchCommand=$OPTARG;;
:) :)
echo "Option -$OPTARG requires an argument" >&2;; echo "Option -$OPTARG requires an argument" >&2;;
h) h)
...@@ -78,21 +84,30 @@ while getopts "c:t:j:m:n:b:o:s:h" opt; do ...@@ -78,21 +84,30 @@ while getopts "c:t:j:m:n:b:o:s:h" opt; do
esac esac
done done
if [ $skipStep -eq 0] if [ $skipStep -eq 0 ]
then then
echo "Skipping the test since option -s has been specified" echo "Skipping the test since option -s has been specified"
exit 0 exit 0
else else
eval ./configure $configureArgs echo $batchCommand
if [ $? -ne 0 ]; then cat confi.log && exit 1; fi if [ "$batchCommand" == "srun" ]
then
make -j $makeTasks echo "Running with $batchCommand with $SRUN_COMMANDLINE_CONFIGURE"
if [ $? -ne 0 ]; then exit 1; fi $batchCommand --ntasks-per-core=1 --ntasks=1 --cpus-per-task=1 $SRUN_COMMANDLINE_CONFIGURE bash -c ' {source /etc/profile.d/modules.sh && source .ci-env-vars && eval ./configure $configureArgs; }'
if [ $? -ne 0 ]; then cat config.log && exit 1; fi
OMP_NUM_THREADS=$ompThreads make check TASKS=$mpiTasks TEST_FLAGS="$matrixSize $nrEV $blockSize" || { cat test-suite-log; exit 1; } else
if [ $? -ne 0 ]; then exit 1; fi eval ./configure $configureArgs
if [ $? -ne 0 ]; then cat config.log && exit 1; fi
grep -i "Expected %stop" test-suite.log && exit 1 || true ;
if [ $? -ne 0 ]; then exit 1; fi make -j $makeTasks
if [ $? -ne 0 ]; then exit 1; fi
OMP_NUM_THREADS=$ompThreads make check TASKS=$mpiTasks TEST_FLAGS="$matrixSize $nrEV $blockSize" || { cat test-suite-log; exit 1; }
if [ $? -ne 0 ]; then exit 1; fi
grep -i "Expected %stop" test-suite.log && exit 1 || true ;
if [ $? -ne 0 ]; then exit 1; fi
fi
fi fi
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