diff --git a/package/elpa/2019.05.001/install.sh b/package/elpa/2019.05.001/install.sh index 528e2b8e180d7c3b1cf79cdaf09c1564ba3edb93..4bb96cf9c3490f6ca8e7c280887d9cdd3ca1af57 100755 --- a/package/elpa/2019.05.001/install.sh +++ b/package/elpa/2019.05.001/install.sh @@ -7,28 +7,33 @@ rm -rf elpa-2019.05.001 tar -xvf ${JARVIS_DOWNLOAD}/elpa-2019.05.001.tar.gz cd elpa-2019.05.001 -array=(${LD_LIBRARY_PATH//:/ }) -for var in ${array[@]} -do - if [[ -e $var/libopenblas.so ]];then - openblas_path=$var - fi - if [[ -e $var/libscalapack.a ]];then - scalapack_path=$var - fi -done +if [ -z "$KML_BISHENG_PATH" ]; then + array=(${LD_LIBRARY_PATH//:/ }) + for var in ${array[@]} + do + if [[ -e $var/libopenblas.so ]];then + openblas_path=$var + fi + if [[ -e $var/libscalapack.a ]];then + scalapack_path=$var + fi + done -if [ ! -n "$openblas_path" ];then + if [ ! -n "$openblas_path" ];then echo "Please load openblas." exit 1 -fi -if [ ! -n "$scalapack_path" ];then + fi + if [ ! -n "$scalapack_path" ];then echo "Please load scalapack." exit 1 + fi + ./configure --prefix=$1 --enable-openmp --enable-shared=no LIBS="$scalapack_path/libscalapack.a $openblas_path/libopenblas.a" --disable-sse --disable-sse-assembly --disable-avx --disable-avx2 --disable-avx512 + make -j 4 +else + ./configure --prefix=$1 --enable-openmp --enable-shared --enable-static --disable-sse --disable-sse-assembly --disable-avx --disable-avx2 CC=mpicc CXX=mpicxx FC=mpif90 FCFLAGS="-O3" CFLAGS="-O3" LDFLAGS="-L${KML_BISHENG_PATH}/lib -lkscalapack_full -lklapack_full -L${KML_BISHENG_PATH}/lib/kblas/omp -lkblas" + sed -i 's/\\\$wl-soname \\\$wl\\\$soname/-fuse-ld=ld -Wl,-soname,\\\$soname/g' libtool + sed -i 's/\\\$wl--whole-archive\\\$convenience \\\$wl--no-whole-archive//g' libtool + make -j 1 fi - -./configure --prefix=$1 --enable-openmp --enable-shared=no LIBS="$scalapack_path/libscalapack.a $openblas_path/libopenblas.a" --disable-sse --disable-sse-assembly --disable-avx --disable-avx2 - -make -j 4 make install diff --git a/package/plumed/2.6.2/install.sh b/package/plumed/2.6.2/install.sh index bd8b2acc16c2514813501adc36855146bef6ff77..55c0a6136d359ac0415c216952c4d798283bb798 100755 --- a/package/plumed/2.6.2/install.sh +++ b/package/plumed/2.6.2/install.sh @@ -7,19 +7,23 @@ rm -rf plumed-2.6.2 tar -xvf ${JARVIS_DOWNLOAD}/plumed-2.6.2.tgz cd plumed-2.6.2 -array=(${LD_LIBRARY_PATH//:/ }) -for var in ${array[@]} -do - if [[ -e $var/libopenblas.so ]];then - openblas_path=$var - fi -done +if [ -z "$KML_BISHENG_PATH" ]; then + array=(${LD_LIBRARY_PATH//:/ }) + for var in ${array[@]} + do + if [[ -e $var/libopenblas.so ]];then + openblas_path=$var + fi + done -if [ ! -n "$openblas_path" ];then + if [ ! -n "$openblas_path" ];then echo "Please load openblas." exit 1 + fi + ./configure CXX=mpicxx CC=mpicc FC=mpifort --prefix=$1 --enable-external-blas --enable-gsl --enable-external-lapack --disable-python LDFLAGS=-L$openblas_path LIBS="-lopenblas" +else + ./configure CXX=mpicxx CC=mpicc FC=mpifort --prefix=${DEPS_INSTALL_DIR} --enable-external-blas --enable-external-lapack --enable-gsl LDFLAGS="-L${KML_BISHENG_PATH}/lib/kblas/omp -lkblas -L${KML_BISHENG_PATH}/lib -lklapack_full -lkscalapack_full -L${GSL_PATH}/lib -lgsl" fi -./configure CXX=mpicxx CC=mpicc FC=mpifort --prefix=$1 --enable-external-blas --enable-gsl --enable-external-lapack --disable-python LDFLAGS=-L$openblas_path LIBS="-lopenblas" make -j make install diff --git a/templates/CP2K/7.1/bisheng/Linux-arm-clang-opt.psmp b/templates/CP2K/7.1/bisheng/Linux-arm-clang-opt.psmp new file mode 100644 index 0000000000000000000000000000000000000000..d4207881b572a603061ec5a8c0453b891bf273ac --- /dev/null +++ b/templates/CP2K/7.1/bisheng/Linux-arm-clang-opt.psmp @@ -0,0 +1,91 @@ + + +CC = mpicc +FC = mpif90 +LD = mpif90 +AR = ar -r + +HMPI_LIB_PATH=path1 +BISHENG_LIB_PATH=path2 + +ELPA_DIR = $(HMPI_LIB_PATH)/elpa/2019.05.001 +ELPA_INC = $(ELPA_DIR)/include/elpa_openmp-2019.05.001 +ELPA_LIB = $(ELPA_DIR)/lib + +FFTW_DIR = $(HMPI_LIB_PATH)/fftw/3.3.8 +FFTW_INC = $(FFTW_DIR)/include +FFTW_LIB = $(FFTW_DIR)/lib + +LIBINT_DIR = $(HMPI_LIB_PATH)/libint/2.6.0 +LIBINT_INC = $(LIBINT_DIR)/include +LIBINT_LIB = $(LIBINT_DIR)/lib + +LIBXC_DIR = $(BISHENG_LIB_PATH)/libxc/4.3.4 +LIBXC_INC = $(LIBXC_DIR)/include +LIBXC_LIB = $(LIBXC_DIR)/lib + +GSL_DIR = $(BISHENG_LIB_PATH)/gsl/2.6 +GSL_INC = $(GSL_DIR)/include +GSL_LIB = $(GSL_DIR)/lib + +PLUMED_DIR = $(HMPI_LIB_PATH)/plumed/2.6.2 +PLUMED_INC = $(PLUMED_DIR)/include +PLUMED_LIB = $(PLUMED_DIR)/lib + +SPGLIB_DIR = $(BISHENG_LIB_PATH)/spglib/1.16.0 +SPGLIB_INC = $(SPGLIB_DIR)/include +SPGLIB_LIB = $(SPGLIB_DIR)/lib64 + +#LIBXSMM_DIR = +#LIBXSMM_INC = $(LIBXSMM_DIR)/include +#LIBXSMM_LIB = $(LIBXSMM_DIR)/lib + +BLAS_DIR = $(BISHENG_LIB_PATH)/kml-bisheng/2.4.0 +BLAS_INC = $(BLAS_DIR)/include +BLAS_LIB = $(BLAS_DIR)/lib/kblas/omp + +LAPACK_DIR = $(BISHENG_LIB_PATH)/kml-bisheng/2.4.0 +LAPACK_INC = $(LAPACK_DIR)/include +LAPACK_LIB = $(LAPACK_DIR)/lib + +SCALAPACK_DIR = $(BISHENG_LIB_PATH)/kml-bisheng/2.4.0 +SCALAPACK_INC = $(SCALAPACK_DIR)/include +SCALAPACK_LIB = $(SCALAPACK_DIR)/lib + +MATHLIB_DIR = $(BISHENG_LIB_PATH)/kml-bisheng/2.4.0 +MATHLIB_INC = $(MATHLIB_DIR)/include +MATHLIB_LIB = $(MATHLIB_DIR)/lib + + +include $(PLUMED_LIB)/plumed/src/lib/Plumed.inc.shared + +CFLAGS = -O3 -mtune=native -Mbackslash -march=armv8.2-a+sve+sve2 -mcpu=linxicore6100 #-Hx,2,0x400000 -Hx,47,0x1000000 + +DFLAGS = -D__ELPA -D__FFTW3 -D__LIBINT -D__LIBXC +DFLAGS += -D__MPI_VERSION=3 -D__PLUMED2 -D__SPGLIB +DFLAGS += -D__parallel -D__SCALAPACK +#DFLAGS += -D__LIBXSMM + +FCFLAGS = $(CFLAGS) $(DFLAGS) +FCFLAGS += -ffree-form -ffree-line-length-none +FCFLAGS += -fopenmp +FCFLAGS += -ftree-vectorize -funroll-loops -std=f2008 +FCFLAGS += -I$(ELPA_INC)/elpa -I$(ELPA_INC)/modules +FCFLAGS += -I$(FFTW_INC) -I$(LIBINT_INC) -I$(LIBXC_INC) -I$(GSL_INC) -I$(PLUMED_INC) -I$(SPGLIB_INC) # -I$(LIBXSMM_INC) + +LDFLAGS = $(FCFLAGS) + +LIBS = -L/usr/lib64 -ldl -lpthread -lstdc++ +LIBS += -L$(PLUMED_LIB) -lplumedKernel -lplumed +LIBS += -L$(GSL_LIB) -lgsl -lgslcblas -lz +LIBS += -L$(ELPA_LIB) -lelpa_openmp +LIBS += -L$(LIBXC_LIB) -lxcf03 -lxc +LIBS += -L$(LIBINT_LIB) -lint2 +LIBS += -L$(SPGLIB_LIB) -lsymspg +LIBS += -L$(FFTW_LIB) -lfftw3 -lfftw3_omp +LIBS += -L$(BLAS_LIB) -lkblas +LIBS += -L$(SCALAPACK_LIB) -lkscalapack_full -lkscalapack +LIBS += -L$(LAPACK_LIB) -lklapack_full -lklapack +LIBS += -L$(MATHLIB_LIB) -lkm +#LIBS += -L$(LIBXSMM_LIB) -lxsmmf -lxsmmext -lxsmm -ldl +#LIBS += -L/home/w30055856/hpcrunner/software/compiler/bisheng/4.1.0/lib -ljemalloc diff --git a/templates/CP2K/7.1/bisheng/data.CP2K.arm-opt.cpu.config b/templates/CP2K/7.1/bisheng/data.CP2K.arm-opt.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..bbf51e6e88de86850592bbd133cbd0996255c7b5 --- /dev/null +++ b/templates/CP2K/7.1/bisheng/data.CP2K.arm-opt.cpu.config @@ -0,0 +1,78 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +cp2k/7.1 $JARVIS_PROXY/cp2k/cp2k/archive/v7.1.0.tar.gz cp2k-7.1.tar.gz +dbcsr/2.0.1 $JARVIS_PROXY/cp2k/dbcsr/releases/download/v2.0.1/dbcsr-2.0.1.tar.gz + +[DEPENDENCY] +set -x +set -e +module purge +module use ./software/modulefiles +./jarvis -install bisheng/4.1.0 com + +module load bisheng/4.1.0 +export CC=clang CXX=clang++ FC=flang + +./jarvis -install hmpi/2.4.2 clang +./jarvis -install kml/2.4.0/bisheng clang +./jarvis -install gmp/6.2.0 clang +./jarvis -install boost/1.72.0 clang +./jarvis -install spglib/1.16.0 clang +./jarvis -install libxc/4.3.4 clang +./jarvis -install gsl/2.6 clang +./jarvis -install libvori/21.04.12 clang + +module load kml-bisheng/2.4.0 +module load gsl/2.6 +module load hmpi/2.4.2 +module load gmp/6.2.0 +module load boost/1.72.0 + +export CC=mpicc CXX=mpicxx FC=mpifort +./jarvis -install libint/2.6.0 clang+mpi +./jarvis -install fftw/3.3.8 clang+mpi +./jarvis -install plumed/2.6.2 clang+mpi +./jarvis -install elpa/2019.05.001 clang+mpi + +tar -zxvf $JARVIS_DOWNLOAD/cp2k-7.1.tar.gz +tar -zxvf $JARVIS_DOWNLOAD/dbcsr-2.0.1.tar.gz -C ${JARVIS_ROOT}/cp2k-7.1.0/exts/dbcsr --strip-components=1 + +[ENV] +module purge +module use ./software +module load modulefiles/bisheng/4.1.0 +module load hmpi/2.4.2 +module load kml-bisheng/2.4.0 +module load gsl/2.6 +module load spglib/1.16.0 +module load moduledeps/bisheng4.1.0-hmpi2.4.2/plumed/2.6.2 +module load moduledeps/bisheng4.1.0-hmpi2.4.2/elpa/2019.05.001 +module load moduledeps/bisheng4.1.0-hmpi2.4.2/libint/2.6.0 +module load moduledeps/bisheng4.1.0-hmpi2.4.2/fftw/3.3.8 +export LD_LIBRARY_PATH=${KML_BISHENG_PATH}/lib/kblas/omp:$LD_LIBRARY_PATH + +[APP] +app_name = CP2K +build_dir = ${JARVIS_ROOT}/cp2k-7.1.0 +binary_dir = ${JARVIS_ROOT}/cp2k-7.1.0/Linux-arm-clang-opt/cp2k.psmp +case_dir = ${JARVIS_ROOT}/cp2k-7.1.0/benchmarks/QS/ + +[BUILD] +cd ./arch +cp ${JARVIS_ROOT}/templates/CP2K/7.1/bisheng/Linux-arm-clang-opt.psmp ./ +sed -i "8s%path1%${JARVIS_ROOT}/software/libs/bisheng4.1.0/hmpi2.4.2%g" Linux-arm-clang-opt.psmp +sed -i "9s%path2%${JARVIS_ROOT}/software/libs/bisheng4.1.0%g" Linux-arm-clang-opt.psmp +cd .. + +make -j 128 ARCH=Linux-arm-clang-opt VERSION=psmp + +[CLEAN] +make -j 128 ARCH=Linux-arm-clang-opt VERSION=psmp clean + +[RUN] +run = numactl -C 0-63 mpirun --allow-run-as-root -np 64 -x OMP_NUM_THREADS=1 +binary = cp2k.psmp H2O-256.inp +nodes = 1 +