Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
On Thursday, 7th July from 1 to 3 pm there will be a maintenance with a short downtime of GitLab.
Open sidebar
elpa
elpa
Commits
72ec1a78
Commit
72ec1a78
authored
Apr 05, 2019
by
Andreas Marek
Browse files
Move distcheck test to new runners
parent
fb0c66dd
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
72ec1a78
...
...
@@ -4,6 +4,7 @@ stages:
before_script:
- git clean -f
- export LANG=C
- ulimit -s unlimited
- ulimit -v unlimited
...
...
@@ -100,18 +101,17 @@ static-build:
tags:
- avx
script:
- ./ci_test_scripts/run_ci_tests.sh -c " CFLAGS=\"-O3 -mavx\" FCFLAGS=\"-O3 -axAVX\" SCALAPACK_LDFLAGS=\"$MKL_INTEL_SCALAPACK_LDFLAGS_NO_MPI_NO_OMP\" SCALAPACK_FCFLAGS=\"$MKL_INTEL_SCALAPACK_FCFLAGS_NO_MPI_NO_OMP\" --with-mpi=no FC=ifort --enable-shared=no --enable-static=yes --disable-avx2 || { cat config.log; exit 1; } " -j 8 -t 2 -m 150 -n 50 -b 16 -s $SKIP_STEP -i $INTERACTIVE_RUN -S $SLURM
- ./ci_test_scripts/run_ci_tests.sh -c " CFLAGS=\"-O3 -mavx\" FCFLAGS=\"-O3 -axAVX\" SCALAPACK_LDFLAGS=\"$MKL_INTEL_SCALAPACK_LDFLAGS_NO_MPI_NO_OMP\" SCALAPACK_FCFLAGS=\"$MKL_INTEL_SCALAPACK_FCFLAGS_NO_MPI_NO_OMP\" --with-mpi=no FC=ifort --enable-shared=no --enable-static=yes --disable-avx2 || { cat config.log; exit 1; } " -j 8
-t 2 -m 150 -n 50 -b 16 -s $SKIP_STEP -i $INTERACTIVE_RUN -S $SLURM
# test distcheck
distcheck:
tags:
-
buildtest
-
distcheck
script:
- ./configure --enable-option-checking=fatal --with-mpi=no --disable-sse-assembly --disable-sse --disable-avx --disable-avx2 || { cat config.log; exit 1; }
# stupid 'make distcheck' leaves behind write-protected files that the stupid gitlab runner cannot remove
- make distcheck DISTCHECK_CONFIGURE_FLAGS="--with-mpi=no --disable-sse-assembly --disable-sse --disable-avx --disable-avx2" TASKS=2 TEST_FLAGS="150 50 16" || { chmod u+rwX -R . ; exit 1 ; }
- ./ci_test_scripts/run_ci_tests.sh -c " CC=gcc FC=gfortran SCALAPACK_LDFLAGS=\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_NO_MPI_NO_OMP\" SCALAPACK_FCFLAGS=\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_NO_MPI_NO_OMP\" --enable-option-checking=fatal --with-mpi=no --disable-sse-assembly --disable-sse --disable-avx --disable-avx2 || { cat config.log; exit 1; } " -t 2 -m 150 -n 50 -b 16 -s $SKIP_STEP -i $INTERACTIVE_RUN -S $SLURM
- ./ci_test_scripts/run_distcheck_tests.sh -c " CC=gcc FC=gfortran SCALAPACK_LDFLAGS=\\\"$MKL_GFORTRAN_SCALAPACK_LDFLAGS_NO_MPI_NO_OMP\\\" SCALAPACK_FCFLAGS=\\\"$MKL_GFORTRAN_SCALAPACK_FCFLAGS_NO_MPI_NO_OMP\\\" --enable-option-checking=fatal --with-mpi=no --disable-sse-assembly --disable-sse --disable-avx --disable-avx2 " -t 2 -m 150 -n 50 -b 16 -S$SLURM
...
...
@@ -153,7 +153,7 @@ python-intel-intel-mpi-openmp:
# - ./configure CC="mpiicc" CFLAGS="-O3 -xAVX" FC="mpiifort" FCFLAGS="-O3 -xAVX" SCALAPACK_LDFLAGS="$MKL_ANACONDA_INTEL_SCALAPACK_LDFLAGS_MPI_OMP" SCALAPACK_FCFLAGS="$MKL_ANACONDA_INTEL_SCALAPACK_FCFLAGS_MPI_OMP" --enable-option-checking=fatal --with-mpi=yes --enable-openmp --disable-gpu --enable-avx --enable-python --enable-python-tests || { cat config.log; exit 1; }
# # stupid 'make distcheck' leaves behind write-protected files that the stupid gitlab runner cannot remove
# - make distcheck DISTCHECK_CONFIGURE_FLAGS="CC=\"mpiicc\" CFLAGS=\"-O3 -xAVX\" FC=\"mpiifort\" FCFLAGS=\"-O3 -xAVX\" SCALAPACK_LDFLAGS=\"$MKL_ANACONDA_INTEL_SCALAPACK_LDFLAGS_MPI_OMP \" SCALAPACK_FCFLAGS=\"$MKL_ANACONDA_INTEL_SCALAPACK_FCFLAGS_MPI_OMP \" --enable-option-checking=fatal --with-mpi=yes --enable-openmp --disable-gpu --enable-avx --enable-python --enable-python-tests" TASKS=2 TEST_FLAGS="150 50 16" || { chmod u+rwX -R . ; exit 1 ; }
#
# test_project_1stage_legacy_api_gnu
test_project_1stage_legacy_api_gnu:
...
...
ci_test_scripts/generate_gitlab_ci_tests.py
View file @
72ec1a78
...
...
@@ -192,6 +192,7 @@ print("\n\n")
#define before test actions
print
(
"before_script:"
)
print
(
" - git clean -f"
)
print
(
" - export LANG=C"
)
print
(
" - ulimit -s unlimited"
)
print
(
" - ulimit -v unlimited"
)
...
...
@@ -314,20 +315,24 @@ print(" tags:")
print
(
" - avx"
)
print
(
" script:"
)
print
(
" - ./ci_test_scripts/run_ci_tests.sh -c
\"
CFLAGS=
\\\"
-O3 -mavx
\\\"
FCFLAGS=
\\\"
-O3 -axAVX
\\\"
SCALAPACK_LDFLAGS=
\\\"
$MKL_INTEL_SCALAPACK_LDFLAGS_NO_MPI_NO_OMP
\\\"
\
SCALAPACK_FCFLAGS=
\\\"
$MKL_INTEL_SCALAPACK_FCFLAGS_NO_MPI_NO_OMP
\\\"
--with-mpi=no FC=ifort --enable-shared=no --enable-static=yes --disable-avx2 || { cat config.log; exit 1; }
\"
-j 8 -t 2 -m 150 -n 50 -b 16 -s $SKIP_STEP -i $INTERACTIVE_RUN -S $SLURM "
)
#CFLAGS=\\"-O3 -mavx\\" FCFLAGS=\\"-O3 -axAVX\\" SCALAPACK_LDFLAGS=\\"$MKL_INTEL_SCALAPACK_LDFLAGS_NO_MPI_NO_OMP\\" SCALAPACK_FCFLAGS=\\"$MKL_INTEL_SCALAPACK_FCFLAGS_NO_MPI_NO_OMP\\" --with-mpi=no FC=ifort --enable-shared=no --enable-static=yes --disable-avx2 || { cat config.log; exit 1; }
#-j 8 -t 2 -m 150 -n 50 -b 16 -s $SKIP_STEP -i $INTERACTIVE_RUN -S $SLURM ")
SCALAPACK_FCFLAGS=
\\\"
$MKL_INTEL_SCALAPACK_FCFLAGS_NO_MPI_NO_OMP
\\\"
--with-mpi=no FC=ifort --enable-shared=no --enable-static=yes --disable-avx2 || { cat config.log; exit 1; }
\"
-j 8
\
-t 2 -m 150 -n 50 -b 16 -s $SKIP_STEP -i $INTERACTIVE_RUN -S $SLURM "
)
print
(
"
\n\n
"
)
print
(
"# test distcheck"
)
print
(
"distcheck:"
)
print
(
" tags:"
)
print
(
" -
buildtest
"
)
print
(
" -
distcheck
"
)
print
(
" script:"
)
print
(
" - ./configure --enable-option-checking=fatal --with-mpi=no --disable-sse-assembly --disable-sse --disable-avx --disable-avx2 || { cat config.log; exit 1; }"
)
print
(
" # stupid 'make distcheck' leaves behind write-protected files that the stupid gitlab runner cannot remove"
)
print
(
" - make distcheck DISTCHECK_CONFIGURE_FLAGS=
\"
--with-mpi=no --disable-sse-assembly --disable-sse --disable-avx --disable-avx2
\"
TASKS=2 TEST_FLAGS=
\"
150 50 16
\"
|| { chmod u+rwX -R . ; exit 1 ; }"
)
print
(
" - ./ci_test_scripts/run_ci_tests.sh -c
\"
CC=gcc FC=gfortran SCALAPACK_LDFLAGS=
\\\"
$MKL_GFORTRAN_SCALAPACK_LDFLAGS_NO_MPI_NO_OMP
\\\"
\
SCALAPACK_FCFLAGS=
\\\"
$MKL_GFORTRAN_SCALAPACK_FCFLAGS_NO_MPI_NO_OMP
\\\"
--enable-option-checking=fatal --with-mpi=no --disable-sse-assembly
\
--disable-sse --disable-avx --disable-avx2 || { cat config.log; exit 1; }
\"
-t 2 -m 150 -n 50 -b 16 -s $SKIP_STEP -i $INTERACTIVE_RUN -S $SLURM "
)
print
(
" - ./ci_test_scripts/run_distcheck_tests.sh -c
\"
CC=gcc FC=gfortran SCALAPACK_LDFLAGS=
\\\\\\\"
$MKL_GFORTRAN_SCALAPACK_LDFLAGS_NO_MPI_NO_OMP
\\\\\\\"
\
SCALAPACK_FCFLAGS=
\\\\\\\"
$MKL_GFORTRAN_SCALAPACK_FCFLAGS_NO_MPI_NO_OMP
\\\\\\\"
--enable-option-checking=fatal --with-mpi=no --disable-sse-assembly
\
--disable-sse --disable-avx --disable-avx2
\"
-t 2 -m 150 -n 50 -b 16 -S$SLURM "
)
#print(" - ./configure --enable-option-checking=fatal --with-mpi=no --disable-sse-assembly --disable-sse --disable-avx --disable-avx2 || { cat config.log; exit 1; }")
#print(" # stupid 'make distcheck' leaves behind write-protected files that the stupid gitlab runner cannot remove")
#print(" - make distcheck DISTCHECK_CONFIGURE_FLAGS=\"--with-mpi=no --disable-sse-assembly --disable-sse --disable-avx --disable-avx2\" TASKS=2 TEST_FLAGS=\"150 50 16\" || { chmod u+rwX -R . ; exit 1 ; }")
print
(
"
\n\n
"
)
print
(
"distcheck-mpi:"
)
...
...
ci_test_scripts/run_distcheck_tests.sh
0 → 100755
View file @
72ec1a78
#!/bin/bash
set
-e
set
-x
#some defaults
mpiTasks
=
2
matrixSize
=
150
nrEV
=
$matrixSize
blockSize
=
16
ompThreads
=
1
configueArg
=
""
batchCommand
=
""
slurmBatch
=
"no"
function
usage
()
{
cat
>
&2
<<-
EOF
Call all the necessary steps to perform an ELPA CI test
Usage:
run_distcheck_tests [-c configure arguments] [-h] [-t MPI Tasks] [-m matrix size] [-n number of eigenvectors] [-b block size] [-o OpenMP threads] [-q submit command] [-S submit to Slurm]"
Options:
-c configure arguments
Line of arguments passed to configure call
-t MPI Tasks
Number of MPI processes used during test runs of ELPA tests
-m Matrix size
Size of the mxm matrix used during runs of ELPA tests
-n Number of eigenvectors
Number of eigenvectors to be computed during runs of ELPA tests
-b block size
Block size of block-cyclic distribution during runs of ELPA tests
-o OpenMP threads
Number of OpenMP threads used during runs of ELPA tests
-q submit command
Job steps will be submitted via command to a batch system (default no submission)
-S submit to slurm
if "yes" a SLURM batch job will be submitted
-h
Print this help text
EOF
}
while
getopts
"c:t:j:m:n:b:o:s:q:i:S:h"
opt
;
do
case
$opt
in
t
)
mpiTasks
=
$OPTARG
;;
m
)
matrixSize
=
$OPTARG
;;
n
)
nrEV
=
$OPTARG
;;
b
)
blockSize
=
$OPTARG
;;
o
)
ompThreads
=
$OPTARG
;;
c
)
configureArgs
=
$OPTARG
;;
q
)
batchCommand
=
$OPTARG
;;
S
)
slurmBatch
=
$OPTARG
;;
:
)
echo
"Option -
$OPTARG
requires an argument"
>
&2
;;
h
)
usage
exit
1
;;
*
)
exit
1
;;
esac
done
if
[
"
$slurmBatch
"
==
"yes"
]
then
# default exit code
exitCode
=
1
CLUSTER
=
""
if
[[
"
$HOST
"
=
~
"cobra"
]]
then
CLUSTER
=
"cobra"
fi
if
[[
"
$HOST
"
=
~
"talos"
]]
then
CLUSTER
=
"talos"
fi
if
[[
"
$HOST
"
=
~
"freya"
]]
then
CLUSTER
=
"freya"
fi
if
[[
"
$HOST
"
=
~
"draco"
]]
then
CLUSTER
=
"draco"
fi
echo
"Running on
$CLUSTER
with runner
$CI_RUNNER_DESCRIPTION
with tag
$CI_RUNNER_TAGS
"
#distcheck
if
[[
"
$CI_RUNNER_TAGS
"
=
~
"distcheck"
]]
then
cp
$HOME
/runners/job_script_templates/run_
${
CLUSTER
}
_1node.sh
.
echo
"./configure "
"
$configureArgs
"
>>
./run_
${
CLUSTER
}
_1node.sh
echo
" "
>>
./run_
${
CLUSTER
}
_1node.sh
echo
"export TASKS=
$mpiTasks
"
>>
./run_
${
CLUSTER
}
_1node.sh
echo
"export DISTCHECK_CONFIGURE_FLAGS=
\"
$configureArgs
\"
"
>>
./run_
${
CLUSTER
}
_1node.sh
echo
"make distcheck TEST_FLAGS=
\"
$matrixSize
$nrEV
$blockSize
\"
|| { chmod u+rwX -R . ; exit 1 ; } "
>>
./run_
${
CLUSTER
}
_1node.sh
echo
" "
>>
./run_
${
CLUSTER
}
_1node.sh
echo
" "
echo
"Job script for the run"
cat
./run_
${
CLUSTER
}
_1node.sh
echo
" "
echo
"Submitting to SLURM"
sbatch
-W
./run_
${
CLUSTER
}
_1node.sh
exitCode
=
$?
echo
" "
echo
"Exit Code of sbatch:
$exitCode
"
echo
" "
cat
./ELPA_CI.out.
*
if
[
$exitCode
-ne
0
]
then
cat
./ELPA_CI.err.
*
fi
fi
if
[
$exitCode
-ne
0
]
then
cat
./test-suite.log
fi
exit
$exitCode
fi
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment