Custom HPC software & tools from Wirawan. Primarily tailored toward ODU HPC sytems.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
3.0 KiB

#!/bin/bash
#
# 20210401 - First version, forked off nwbuild03-ARMCI-MPI.sh
# 20210407 - Updated to use basic compiler insteead of MPI wrapper
source /etc/container_runtime/buildtime
# WORK_DIR=$(mktemp -d /tmp/install.XXXX)
# cd $WORK_DIR
load_mpich
# nwchem build system requires basic compilers instead of mpiXXX compiler wrapper
load_conda
export CC=x86_64-conda_cos6-linux-gnu-gcc
export CXX=x86_64-conda_cos6-linux-gnu-g++
export FC=x86_64-conda_cos6-linux-gnu-gfortran
export NWCHEM_TOP=/opt/nwchem.build04c
export NWCHEM_MODULES="all python"
export NWCHEM_TARGET=LINUX64
COMPILER_DIR=$NWCHEM_TOP/compilers
mkdir -p $COMPILER_DIR
if ! test -e $COMPILER_DIR/gcc; then ln -sf $(which $CC) $COMPILER_DIR/gcc; fi
if ! test -e $COMPILER_DIR/g++; then ln -sf $(which $CXX) $COMPILER_DIR/g++; fi
if ! test -e $COMPILER_DIR/gfortran; then ln -sf $(which $FC) $COMPILER_DIR/gfortran; fi
# Make this THE path to find gcc, g++, and gfortran:
PATH=$COMPILER_DIR:$PATH
# Override the compiler's names to point to the CONDA-provided toolchains
export CC=gcc
export CXX=g++
export FC=gfortran
echo PATH=$PATH
test -d $NWCHEM_TOP/src || lazy_unarchive $NWCHEM_TOP /cm/shared/containers/srcs/nwchem/v7.0.0-release.tar.gz 1
test -d $NWCHEM_TOP/src/tools/ga-5.7.1 || lazy_unarchive $NWCHEM_TOP/src/tools /cm/shared/containers/srcs/nwchem/ga-5.7.1.tar.gz
# scale down: do not use external LAPACK or BLAS
export USE_MPI=y
export USE_NOIO=y
export USE_SCALAPACK=n
export USE_PYTHON64=y
# FORCE:
export USE_INTERNALBLAS=y
export ARMCI_NETWORK=ARMCI
export SCALAPACK_SIZE=8
export BLAS_SIZE=8
#export SCALAPACK="-lmkl_scalapack_ilp64 -lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lgomp -lpthread -lm -ldl"
#export SCALAPACK_LIB="$SCALAPACK"
#export BLASOPT="-lmkl_gf_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl"
#export LAPACK_LIB=$BLASOPT
export PYTHONHOME=/opt/conda
export PYTHONVERSION=2.7
unset CFLAGS
unset CXXFLAGS
unset CPPFLAGS
unset FCFLAGS
unset FFLAGS
export LDFLAGS="-L /opt/conda/lib" # -L /opt/armci-mpi/lib"
#export CFLAGS="-I /opt/armci-mpi/include"
#export CXXFLAGS="-I /opt/armci-mpi/include"
# https://wiki.mpich.org/armci-mpi/index.php/NWChem
#export EXTERNAL_ARMCI_PATH=/opt/nwchem.ARMCI/external-armci # /armci-mpi
# without -lpthread it failed to detect armci
# Hack the link option so that libpthread is included after armci
export EXTERNAL_ARMCI_PATH="/opt/armci-mpi\\ -larmci\\ -lpthread"
# Not needed anymore:
#export PATH=/opt/conda/bin:$PATH
cd /opt/conda/bin
ln -s python-config python2.7-config
cd $NWCHEM_TOP/src
make nwchem_config
# Not needed anymore:
#sed -i config/makefile.h \
# -e 's:-i8:-fdefault-integer-8:'
echo "Compiler locations:"
echo "CC = $CC => $(which $CC)"
echo "FC = $FC => $(which $FC)"
echo "PATH = $PATH"
make