Skip to content
Snippets Groups Projects
Commit 67ced6e1 authored by Atkins, Charles Vernon's avatar Atkins, Charles Vernon
Browse files

Add initial Cori build scripts

parent d8aa6ae9
No related branches found
No related tags found
1 merge request!304Add cori builds
# Client maintainer: chuck.atkins@kitware.com
set(CTEST_SITE "cori.nersc.gov")
set(CTEST_BUILD_CONFIGURATION Release)
set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
set(CTEST_BUILD_FLAGS "-k -j10")
set(CTEST_TEST_ARGS PARALLEL_LEVEL 10)
set(CTEST_BUILD_NAME "Linux-CrayCLE6-KNL_Cray_MPICH")
set(dashboard_model Experimental)
set(CTEST_DASHBOARD_ROOT ${CMAKE_CURRENT_BINARY_DIR}/${CTEST_BUILD_NAME})
include(${CMAKE_CURRENT_LIST_DIR}/../EnvironmentModules.cmake)
module(purge)
module(load modules)
module(load craype)
module(load PrgEnv-cray)
module(load craype-mic-knl)
module(load cray-mpich)
module(load cray-hdf5-parallel)
module(load cray-python)
module(load git)
set(ENV{CC} cc)
set(ENV{CXX} CC)
set(ENV{FC} ftn)
set(ENV{CRAYPE_LINK_TYPE} dynamic)
set(dashboard_cache "
#ADIOS2_USE_ADIOS1:STRING=ON
ADIOS2_USE_BZip2:STRING=ON
ADIOS2_USE_DataMan:STRING=ON
ADIOS2_USE_Fortran:STRING=ON
ADIOS2_USE_HDF5:STRING=ON
ADIOS2_USE_MPI:STRING=ON
ADIOS2_USE_Python:STRING=ON
#ADIOS2_USE_ZFP:STRING=ON
#ADIOS2_USE_ZeroMQ:STRING=ON
MPIEXEC_EXECUTABLE:FILEPATH=srun
MPIEXEC_MAX_NUMPROCS:STRING=
MPIEXEC_NUMPROC_FLAG:STRING=-n8;-c16
")
include(${CMAKE_CURRENT_LIST_DIR}/../adios_common.cmake)
# Client maintainer: chuck.atkins@kitware.com
set(CTEST_SITE "cori.nersc.gov")
set(CTEST_BUILD_CONFIGURATION Release)
set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
set(CTEST_BUILD_FLAGS "-k -j10")
set(CTEST_TEST_ARGS PARALLEL_LEVEL 10)
set(CTEST_BUILD_NAME "Linux-CrayCLE6-KNL_GCC_MPICH")
set(dashboard_model Experimental)
set(CTEST_DASHBOARD_ROOT ${CMAKE_CURRENT_BINARY_DIR}/${CTEST_BUILD_NAME})
include(${CMAKE_CURRENT_LIST_DIR}/../EnvironmentModules.cmake)
module(purge)
module(load modules)
module(load craype)
module(load PrgEnv-gnu)
module(load craype-mic-knl)
module(load cray-mpich)
module(load cray-hdf5-parallel)
module(load cray-python)
module(load git)
set(ENV{CC} cc)
set(ENV{CXX} CC)
set(ENV{FC} ftn)
set(ENV{CRAYPE_LINK_TYPE} dynamic)
set(dashboard_cache "
#ADIOS2_USE_ADIOS1:STRING=ON
ADIOS2_USE_BZip2:STRING=ON
ADIOS2_USE_DataMan:STRING=ON
ADIOS2_USE_Fortran:STRING=ON
ADIOS2_USE_HDF5:STRING=ON
ADIOS2_USE_MPI:STRING=ON
ADIOS2_USE_Python:STRING=ON
#ADIOS2_USE_ZFP:STRING=ON
#ADIOS2_USE_ZeroMQ:STRING=ON
MPIEXEC_EXECUTABLE:FILEPATH=srun
MPIEXEC_MAX_NUMPROCS:STRING=
MPIEXEC_NUMPROC_FLAG:STRING=-n8;-c16
")
include(${CMAKE_CURRENT_LIST_DIR}/../adios_common.cmake)
# Client maintainer: chuck.atkins@kitware.com
set(CTEST_SITE "cori.nersc.gov")
set(CTEST_BUILD_CONFIGURATION Release)
set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
set(CTEST_BUILD_FLAGS "-k -j10")
set(CTEST_TEST_ARGS PARALLEL_LEVEL 10)
set(CTEST_BUILD_NAME "Linux-CrayCLE6-KNL_Intel_MPICH")
set(dashboard_model Experimental)
set(CTEST_DASHBOARD_ROOT ${CMAKE_CURRENT_BINARY_DIR}/${CTEST_BUILD_NAME})
include(${CMAKE_CURRENT_LIST_DIR}/../EnvironmentModules.cmake)
module(purge)
module(load modules)
module(load craype)
module(load PrgEnv-intel)
module(load craype-mic-knl)
module(load cray-mpich)
module(load cray-hdf5-parallel)
module(load cray-python)
module(load git)
set(ENV{CC} cc)
set(ENV{CXX} CC)
set(ENV{FC} ftn)
set(ENV{CRAYPE_LINK_TYPE} dynamic)
set(dashboard_cache "
#ADIOS2_USE_ADIOS1:STRING=ON
ADIOS2_USE_BZip2:STRING=ON
ADIOS2_USE_DataMan:STRING=ON
ADIOS2_USE_Fortran:STRING=ON
ADIOS2_USE_HDF5:STRING=ON
ADIOS2_USE_MPI:STRING=ON
ADIOS2_USE_Python:STRING=ON
#ADIOS2_USE_ZFP:STRING=ON
#ADIOS2_USE_ZeroMQ:STRING=ON
MPIEXEC_EXECUTABLE:FILEPATH=srun
MPIEXEC_MAX_NUMPROCS:STRING=
MPIEXEC_NUMPROC_FLAG:STRING=-n8;-c16
")
include(${CMAKE_CURRENT_LIST_DIR}/../adios_common.cmake)
#!/bin/bash
#SBATCH -A m1248
#SBATCH -p debug
#SBATCH -N 2
#SBATCH -t 0:00:30
#SBATCH -n 8
#SBATCH -J adios_nightly
#SBATCH -L scratch
#SBATCH -C knl,quad,cache
case ${SLURM_ARRAY_TASK_ID} in
1) CTEST_COMPILER=gcc
;;
2) CTEST_COMPILER=intel
;;
3) CTEST_COMPILER=cray
;;
*) echo "Error: Unsupported SLURM_ARRAY_TASK_ID: ${SLURM_ARRAY_TASK_ID}"
exit
;;
esac
echo "SLURM_ARRAY_TASK_ID: ${SLURM_ARRAY_TASK_ID}"
echo "CTEST_COMPILER: ${CTEST_COMPILER}"
CTEST=${HOME}/dashboards/cori/support/CMake/install/v3.9.5/bin/ctest
SCRIPT_DIR=${PWD}/source/scripts/dashboard/nightly
${CTEST} -VV -S ${SCRIPT_DIR}/cori-${CTEST_COMPILER}-mpich.cmake \
-Ddashboard_full=OFF \
-Ddashboard_do_test=ON \
-Ddashboard_do_submit=OFF 2>&1 1>>cori-${CTEST_COMPILER}-mpich.log
#!/bin/bash
function log()
{
local TIMESTAMP=$(date +"%Y%m%dT%T.%N")
echo "${TIMESTAMP} " "$@" | tee -a Logs/cori.log
}
mkdir -p ${HOME}/dashboards/cori/adios2
cd ${HOME}/dashboards/cori/adios2
mkdir -p Logs
rm -f Logs/cori.log
module load git
CTEST=${HOME}/dashboards/cori/support/CMake/install/v3.9.5/bin/ctest
if [ ! -d Source/.git ]
then
git clone https://github.com/ornladios/adios2.git Source
else
pushd Source
# git fetch --all -p
# git checkout -f master
# git pull --ff-only
popd
fi
SCRIPT_DIR=${PWD}/Source/scripts/dashboard/nightly
# Run the configure and build steps for the MPI tests
log "Running Parallel GCC Build"
${CTEST} -VV -S ${SCRIPT_DIR}/cori-gcc-mpich.cmake \
-Ddashboard_full=OFF \
-Ddashboard_fresh=ON \
-Ddashboard_do_checkout=ON \
-Ddashboard_do_update=ON \
-Ddashboard_do_configure=ON \
-Ddashboard_do_build=ON 2>&1 1>Logs/cori-gcc-mpich.log
log "Running Parallel Intel Build"
${CTEST} -VV -S ${SCRIPT_DIR}/cori-intel-mpich.cmake \
-Ddashboard_full=OFF \
-Ddashboard_fresh=ON \
-Ddashboard_do_checkout=ON \
-Ddashboard_do_update=ON \
-Ddashboard_do_configure=ON \
-Ddashboard_do_build=ON 2>&1 1>Logs/cori-intel-mpich.log
log "Running Parallel Cray Build"
${CTEST} -VV -S ${SCRIPT_DIR}/cori-cray-mpich.cmake \
-Ddashboard_full=OFF \
-Ddashboard_fresh=ON \
-Ddashboard_do_checkout=ON \
-Ddashboard_do_update=ON \
-Ddashboard_do_configure=ON \
-Ddashboard_do_build=ON 2>&1 1>Logs/cori-cray-mpich.log
# Now run the MPI tests in a batch job
log "Submitting Parallel Tests"
JOBID=$(sbatch --array=1-3 ${SCRIPT_DIR}/cori-mpich-tests.slurm | awk '{print $4}')
while true
do
NJOBS=$(sacct -j ${JOBID} | grep "^${JOBID} " | wc -l)
log "Test jobs active in queue for job array ${JOBID}: ${NJOBS}"
if [ ${NJOBS} -eq 0 ]
then
break
fi
sleep 30
done
# Finaly submit the test results from the batch job
log "Submitting Parallel GCC Test Results"
${CTEST} -VV -S ${SCRIPT_DIR}/cori-gcc-mpich.cmake \
-Ddashboard_full=OFF \
-Ddashboard_do_test=ON \
-Ddashboard_do_submit_only=ON 2>&1 1>>Logs/cori-gcc-mpich.log
${CTEST} -VV -S ${SCRIPT_DIR}/cori-intel-mpich.cmake \
-Ddashboard_full=OFF \
-Ddashboard_do_test=ON \
-Ddashboard_do_submit_only=ON 2>&1 1>>Logs/cori-intel-mpich.log
${CTEST} -VV -S ${SCRIPT_DIR}/cori-cray-mpich.cmake \
-Ddashboard_full=OFF \
-Ddashboard_do_test=ON \
-Ddashboard_do_submit_only=ON 2>&1 1>>Logs/cori-cray-mpich.log
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