Skip to content
Snippets Groups Projects
Commit ba5678cd authored by Reuben D. Budiardja's avatar Reuben D. Budiardja
Browse files

Added new application for testing: milc-nsf. Retest script not fully completed...

Added new application for testing: milc-nsf. Retest script not fully completed yet, still needing to grab performance results.
parent d5343a0e
No related branches found
No related tags found
No related merge requests found
Showing
with 597 additions and 0 deletions
pragnesh
Source downloaded from : http://www.physics.utah.edu/~detar/milc/milc_qcd-7.7.11.tar.gz
#!/bin/ksh
############################## standard interface to /sw tools
# Input:
# Environment variables
# SW_BLDDIR current directory (PWD) minus /autofs/na1_ stuff
# SW_ENVFILE file to be sourced which has alternate prog environment
# only to be used in special circumstances
# SW_WORKDIR unique work dir that local script can use
# Output
# Return code of 0=success or 1=failure
##############################
if [ -z $SW_BLDDIR ]; then
echo "Error: SW_BLDDIR not set!"
exit 1
else
cd $SW_BLDDIR
fi
if [ -z $SW_ENVFILE ]; then
### Set Environment (do not remove this line only change what is in between)
. ${MODULESHOME}/init/ksh
. ${SW_BLDDIR}/remodule
### End Environment (do not remove this line only change what is in between)
else
. $SW_ENVFILE
fi
############################## app specific section
#
set -o verbose
# clear out old installation to prevent potential libtool chmod
# commands from failing when reinstalled by another person
rm -rf bin lib include status test.log $SRCDIR
#clear out status file since re-making
rm -f status
tar -zxf /sw/sources/$PACKAGE/$VERSION/$SRCDIR.tar.gz
cd $SRCDIR
#PAtch test makefile
#perl -pi -e 's/f77$/gfortran/g' $SRCDIR/tests/Makefile
#make distclean
./configure --prefix=$SW_BLDDIR \
--enable-fortran \
--enable-static \
--enable-optimization \
--disable-silex \
--with-hdf5=${HDF5_DIR}/include,${HDF5_DIR}/lib \
--without-qt
#./configure --prefix=$SW_BLDDIR \
# --enable-fortran \
# --enable-optimization \
# --disable-silex \
# --with-szlib=${SZIP_DIR} \
# --with-hdf5=${HDF5_DIR}/include,${HDF5_DIR}/lib
#--disable-shared
#--disable-fortran-compiler-check
#--host=x86_64-unknown-linux-gnu
if [ $? -ne 0 ] ; then
echo "$PACKAGE configure failed"
exit 1
fi
make
if [ $? -ne 0 ] ; then
echo "$PACKAGE make failed"
exit 1
fi
make install
if [ $? -ne 0 ] ; then
echo "$PACKAGE install failed"
exit 1
fi
#-- Fix mangled include file due to bug in Silo auto-generator
cd $SW_BLDDIR/include
#-- 1. sed: replace newline with @
sed -i ':a;N;$!ba;s/\n/@/g' silo.inc
#-- 2. sed: replace pattern with empty string ( (1) is necessary because sed
# pattern can't include newline
sed -i "s/@ c//g" silo.inc
#-- 3. tr: replace @ with newline
tr @ '\n' < silo.inc > silo.inc.2
mv silo.inc.2 silo.inc
cd $SW_BLDDIR
#-- Write pkg-config file
mkdir -p $SW_BLDDIR/lib/pkgconfig
cat > $SW_BLDDIR/lib/pkgconfig/${PACKAGE}.pc << EOF
prefix=$SW_BLDDIR
includedir=\${prefix}/include
libdir=\${prefix}/lib
Name: ${PACKAGE}
Description: ${PACKAGE} Library
URL: https://wci.llnl.gov/codes/silo/
Version: $VERSION
Cflags: -I\${includedir}
Libs: -L\${libdir} -lsiloh5 -lstdc++
Requires.private: hdf5 >= 1.8.12
EOF
############################### if this far, return 0
exit 0
#!/bin/ksh
############################## standard interface to /sw tools
# Input:
# Environment variables
# SW_BLDDIR current directory (PWD) minus /autofs/na1_ stuff
# SW_ENVFILE file to be sourced which has alternate prog environment
# only to be used in special circumstances
# SW_WORKDIR unique work dir that local script can use
# Output
# Return code of 0=success or 1=failure
##############################
# exit 3 is a signal to the sw infrastructure that this template has not
# been updated; please delete it when ready
exit 3
if [ -z $SW_BLDDIR ]; then
echo "Error: SW_BLDDIR not set!"
exit 1
else
cd $SW_BLDDIR
fi
if [ -z $SW_ENVFILE ]; then
### Set Environment (do not remove this line only change what is in between)
. ${MODULESHOME}/init/ksh
. ${SW_BLDDIR}/remodule
### End Environment (do not remove this line only change what is in between)
else
. $SW_ENVFILE
fi
############################## app specific section
#
# clear out old installation to prevent potential libtool chmod
# commands from failing when reinstalled by another person
rm -rf bin lib include doc share man etc libexec info
#clear out status file since re-making
rm -f status
cd $SRCDIR
#probably overkill, need surgical strike on binary executables
make clean
make all
if [ $? -ne 0 ] ; then
echo "$PACKAGE make failed"
exit 1
fi
make install
if [ $? -ne 0 ] ; then
echo "$PACKAGE install failed"
exit 1
fi
cd ../
############################### if this far, return 0
exit 0
### Set Environment (do not remove this line only change what is in between)
. ${MODULESHOME}/init/ksh
module unload PrgEnv-intel
module unload PrgEnv-cray
module unload PrgEnv-gnu
module load PrgEnv-gnu
module swap gcc gcc/4.9.1
### End Environment (do not remove this line only change what is in between)
PACKAGE=silo
VERSION=4.9.1
SRCDIR=$PACKAGE-$VERSION
# load any other module here
module load cray-hdf5
export F77=gfortran
export F90=gfortran
export F9X=gfortran
export FC=gfortran
export F9X=gfortran
export CC=gcc
export CXX=g++
#export CRAYPE_LINK_TYPE=static
#
#export F77=ftn
#export F90=ftn
#export F9X=ftn
#export FC=ftn
#export F9X=ftn
#export CC=cc
#export CXX=CC
module load cray-mpich-compat/v7
#!/bin/ksh
############################## standard interface to /sw tools
# Input:
# Environment variables
# SW_BLDDIR current directory (PWD) minus /autofs/na1_ stuff
# SW_ENVFILE file to be sourced which has alternate prog environment
# only to be used in special circumstances
# SW_WORKDIR work dir that local script can use
# Output:
# Return code of 0=success or 1=failure or 2=job submitted
#
# Notes:
# If this script is called from swtest, then swtest requires
# SW_WORKDIR to be set. Then swtest adds a unique path to what
# user gave swtest (action+timestamp+build) and provides this
# script with a uniquely valued SW_WORKDIR. swtest will
# automatically remove this unique workspace when retest is done.
##################################################################
# exit 3 is a signal to the sw infrastructure that this template has not
# been updated; please delete it when ready
if [ -z $SW_BLDDIR ]; then
echo "Error: SW_BLDDIR not set!"
exit 1
else
cd $SW_BLDDIR
fi
if [ -z $SW_ENVFILE ]; then
### Set Environment (do not remove this line only change what is in between)
. ${MODULESHOME}/init/ksh
. ${SW_BLDDIR}/remodule
### End Environment (do not remove this line only change what is in between)
else
. $SW_ENVFILE
fi
############################## app specific section
#
set -o verbose
#clear out status file since re-testing
rm -f status
cd $SRCDIR
make check
if [ $? -ne 0 ] ; then
echo "$PACKAGE make test failed "
echo unverified > $SW_BLDDIR/status
exit 1
fi
a_ok=`grep ": ok" tests/testsuite.log | wc -l`
if [[ $a_ok -ne 111 ]]; then
# error
echo unverified > $SW_BLDDIR/status
exit 1
else
echo verified > $SW_BLDDIR/status
exit 0
fi
cd ../
############################### if this far, return 0
exit 0
2015-11-17: new version installed
2015-11-17: next check of /sw/xe_xk_cle5.2UP02_pe2.3.0/milc-nsf on 2016-2-15
noweb
#protected 0022
#vendor
<h1>The MIMD Lattice Computation (MILC) Collaboration</h1>
<p> Category: Physics [HEP]
<h2>Description</h2>
<p> The benchmark code MILC represents part of a set of codes written by the
MIMD Lattice Computation (MILC) collaboratoration used to study quantum
chromodynamics (QCD), the theory of the strong interactions of subatomic
physics. It performs simulations of four dimensional SU(3) lattice gauge
theory on MIMD parallel machines. "Strong interactions" are responsible for
binding quarks into protons and neutrons and holding them all together in the
atomic nucleus.
Reference:
https://www.nersc.gov/users/computational-systems/cori/nersc-8-procurement/trinity-nersc-8-rfp/nersc-8-trinity-benchmarks/milc/
This code was developed by the MILC collaboration.
<h2>Use</h2>
<p> Coming soon
<pre>
code
code
code
code
code
</pre>
ncsa/nics
pragnesh
Source downloaded from : http://www.physics.utah.edu/~detar/milc/milc_qcd-7.7.11.tar.gz
tar –zxf milc-nsf.tar.gz
cd milc-nsf/scripts
./build
# should return OK
# edit pbs files to fix some fixed paths (perhaps)
qsub small.pbs
# out file should have
OK
#!/bin/ksh
############################## standard interface to /sw tools
# Input:
# Environment variables
# SW_BLDDIR current directory (PWD) minus /autofs/na1_ stuff
# SW_ENVFILE file to be sourced which has alternate prog environment
# only to be used in special circumstances
# SW_WORKDIR unique work dir that local script can use
# Output
# Return code of 0=success or 1=failure
##############################
if [ -z $SW_BLDDIR ]; then
echo "Error: SW_BLDDIR not set!"
exit 1
else
cd $SW_BLDDIR
fi
if [ -z $SW_ENVFILE ]; then
### Set Environment (do not remove this line only change what is in between)
. ${MODULESHOME}/init/ksh
. ${SW_BLDDIR}/remodule
### End Environment (do not remove this line only change what is in between)
else
. $SW_ENVFILE
fi
############################## app specific section
#
set -o verbose
# clear out old installation to prevent potential libtool chmod
# commands from failing when reinstalled by another person
rm -rf bin lib include status test.log $SRCDIR
#clear out status file since re-making
rm -f status
tar xf /sw/sources/$PACKAGE/$VERSION/$SRCDIR.tar.gz
cd $SRCDIR/src/milc-nsf/ks_imp_dyn2
# Make clean
make -f Make_mpi clean
touch ../libraries/Make_vanilla
#Make
make -f Make_mpi su3_rmd
if [[ ! -e su3_rmd ]] ; then
echo "make failed"
exit 1
fi
mkdir -p $SW_BLDDIR/bin
cp su3_rmd $SW_BLDDIR/bin
cd $SW_BLDDIR
############################### if this far, return 0
exit 0
#!/bin/ksh
############################## standard interface to /sw tools
# Input:
# Environment variables
# SW_BLDDIR current directory (PWD) minus /autofs/na1_ stuff
# SW_ENVFILE file to be sourced which has alternate prog environment
# only to be used in special circumstances
# SW_WORKDIR unique work dir that local script can use
# Output
# Return code of 0=success or 1=failure
##############################
# exit 3 is a signal to the sw infrastructure that this template has not
# been updated; please delete it when ready
exit 3
if [ -z $SW_BLDDIR ]; then
echo "Error: SW_BLDDIR not set!"
exit 1
else
cd $SW_BLDDIR
fi
if [ -z $SW_ENVFILE ]; then
### Set Environment (do not remove this line only change what is in between)
. ${MODULESHOME}/init/ksh
. ${SW_BLDDIR}/remodule
### End Environment (do not remove this line only change what is in between)
else
. $SW_ENVFILE
fi
############################## app specific section
#
# clear out old installation to prevent potential libtool chmod
# commands from failing when reinstalled by another person
rm -rf bin lib include doc share man etc libexec info
#clear out status file since re-making
rm -f status
cd $SRCDIR
#probably overkill, need surgical strike on binary executables
make clean
make all
if [ $? -ne 0 ] ; then
echo "$PACKAGE make failed"
exit 1
fi
make install
if [ $? -ne 0 ] ; then
echo "$PACKAGE install failed"
exit 1
fi
cd ../
############################### if this far, return 0
exit 0
### Set Environment (do not remove this line only change what is in between)
. ${MODULESHOME}/init/ksh
module unload PrgEnv-intel
module unload PrgEnv-cray
module unload PrgEnv-gnu
module load PrgEnv-gnu
module swap gcc gcc/4.9.3
### End Environment (do not remove this line only change what is in between)
PACKAGE=milc-nsf
VERSION=v1
#SRCDIR=$PACKAGE-$VERSION
SRCDIR=$PACKAGE
# load any other module here
#module load cray-hdf5
export F77=gfortran
export F90=gfortran
export F9X=gfortran
export FC=gfortran
export F9X=gfortran
export CC=gcc
export CXX=g++
module load craype-hugepages2M
#export CRAYPE_LINK_TYPE=static
#
#export F77=ftn
#export F90=ftn
#export F9X=ftn
#export FC=ftn
#export F9X=ftn
#export CC=cc
#export CXX=CC
#module load cray-mpich-compat/v7
#!/bin/ksh
############################## standard interface to /sw tools
# Input:
# Environment variables
# SW_BLDDIR current directory (PWD) minus /autofs/na1_ stuff
# SW_ENVFILE file to be sourced which has alternate prog environment
# only to be used in special circumstances
# SW_WORKDIR work dir that local script can use
# Output:
# Return code of 0=success or 1=failure or 2=job submitted
#
# Notes:
# If this script is called from swtest, then swtest requires
# SW_WORKDIR to be set. Then swtest adds a unique path to what
# user gave swtest (action+timestamp+build) and provides this
# script with a uniquely valued SW_WORKDIR. swtest will
# automatically remove this unique workspace when retest is done.
##################################################################
# exit 3 is a signal to the sw infrastructure that this template has not
# been updated; please delete it when ready
if [ -z $SW_BLDDIR ]; then
echo "Error: SW_BLDDIR not set!"
exit 1
else
cd $SW_BLDDIR
fi
if [ -z $SW_ENVFILE ]; then
### Set Environment (do not remove this line only change what is in between)
. ${MODULESHOME}/init/ksh
. ${SW_BLDDIR}/remodule
### End Environment (do not remove this line only change what is in between)
else
. $SW_ENVFILE
fi
############################## app specific section
#
set -o verbose
#clear out status file since re-testing
rm -f status
cp $SRCDIR/input/* $SW_WORKDIR
cd $SW_WORKDIR
cat > ${PACKAGE}.pbs << EOF
#!/bin/bash
#PBS -N ${PACKAGE}
#PBS -j oe
##PBS -l nodes=64:ppn=32,walltime=01:00:00
#PBS -l nodes=8:ppn=32,walltime=01:00:00
set -o verbose
cd \$PBS_O_WORKDIR
module swap PrgEnv-cray PrgEnv-gnu
module add craype-hugepages2M
MILC_BIN=${SW_BLDDIR}/bin/su3_rmd
#aprun -n 2048 \$MILC_BIN < large.in > ${PACKAGE}.out
aprun -n 256 \$MILC_BIN < large.in > ${PACKAGE}.out
#-- Check result
${SW_BLDDIR}/${SRCDIR}/scripts/checkout ${PACKAGE}.out
JOBID=\`echo \$PBS_JOBID | cut -d "." -f1 \`
chmod 775 ${SW_BLDDIR}/status
rm ${SW_BLDDIR}/.running
cat \${JOBID}.OU >> ${SW_BLDDIR}/test.log
cat ${PACKAGE}.out >> ${SW_BLDDIR}/test.log
chmod 664 ${SW_BLDDIR}/test.log
EOF
#submit job and touch .running file - marker to infrastructure that
qsub ${PACKAGE}.pbs &> ${SW_BLDDIR}/.running
# qsub returns 0 on successful job launch, so if failure return 1
if [ $? -ne 0 ]; then
echo "Error submitting job"
rm -f .running
exit 1
else
echo "Job submitted"
cat ${SW_BLDDIR}/.running
exit 2
fi
cd ../
cd ../../
############################### if this far, return 0
exit 0
development:
current:v1
deprecated:7.7.8.1
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