diff --git a/package/elpa/2019.05.001/install.sh b/package/elpa/2019.05.001/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..01bb474cb5858275e9072b1f8e37a87e00556260 --- /dev/null +++ b/package/elpa/2019.05.001/install.sh @@ -0,0 +1,34 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://www.cp2k.org/static/downloads/elpa-2019.05.001.tar.gz +cd ${JARVIS_TMP} +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 [ ! -n "$openblas_path" ];then + echo "Please load openblas." + exit 1 +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 + +make -j +make install diff --git a/package/gsl/2.6/install.sh b/package/gsl/2.6/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..4a7effcf6e997d43760f7a33fb8bd5020d6085ef --- /dev/null +++ b/package/gsl/2.6/install.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u http://mirrors.ustc.edu.cn/gnu/gsl/gsl-2.6.tar.gz +cd ${JARVIS_TMP} +rm -rf gsl-2.6 +tar -xvf ${JARVIS_DOWNLOAD}/gsl-2.6.tar.gz +cd gsl-2.6 +./configure --prefix=$1 +make -j +make install diff --git a/package/hdf5/1.10.1/clang/install.sh b/package/hdf5/1.10.1/clang/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..1050eaf5d66208cad8dc6a05daea4b0ef0e0487a --- /dev/null +++ b/package/hdf5/1.10.1/clang/install.sh @@ -0,0 +1,14 @@ +#download from https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.1/src/hdf5-1.10.1.tar.gz +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.1/src/hdf5-1.10.1.tar.gz +cd ${JARVIS_TMP} +rm -rf hdf5-1.10.1 +tar -xvf ${JARVIS_DOWNLOAD}/hdf5-1.10.1.tar.gz +cd hdf5-1.10.1 +#CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort -Wno-incompatible-pointer-types-discards-qualifiers +./configure --prefix=$1 --build=aarch64-unknown-linux-gnu --build=aarch64-unknown-linux-gnu --enable-fortran --enable-static=yes --enable-parallel --enable-shared CFLAGS="-O3 -fPIC -Wno-incompatible-pointer-types-discards-qualifiers -Wno-non-literal-null-conversion" FCFLAGS="-O3 -fPIC" LDFLAGS="-Wl,--build-id" +sed -i '11835c wl="-Wl,"' libtool +make -j +make install diff --git a/package/lapack/3.8.0/bisheng/install.sh b/package/lapack/3.8.0/bisheng/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..b163ae1f7bad7dd96f81708dee7a2f57e565a4c2 --- /dev/null +++ b/package/lapack/3.8.0/bisheng/install.sh @@ -0,0 +1,19 @@ +#!/bin/bash +set -x +set -e +cd ${JARVIS_TMP} +tar -xvf ${JARVIS_DOWNLOAD}/lapack-3.8.0.tgz +cd lapack-3.8.0 +cp make.inc.example make.inc +sed -i '11s/gcc/clang/g' ./make.inc +sed -i '12s/$/& -march=native/g' ./make.inc +sed -i '22s/gfortran/flang/g' ./make.inc +sed -i '23s/-frecursive$//g' ./make.inc +sed -i '25s/-frecursive$//g' ./make.inc +sed -i '30s/gfortran/flang/g' ./make.inc +sed -i '50s/^/# /g' ./make.inc +sed -i '54s/^#//g' ./make.inc +make -j +mkdir $1/lib/ +cp *.a $1/lib/ +cp -r LAPACKE/include $1/ diff --git a/package/scalapack/2.1.0/lapack-bisheng/install.sh b/package/scalapack/2.1.0/lapack-bisheng/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..b2b6072f8d82a2abc2d14730eb6a40aaf0406cd7 --- /dev/null +++ b/package/scalapack/2.1.0/lapack-bisheng/install.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -x +set -e +cd ${JARVIS_TMP} +tar -xvf ${JARVIS_DOWNLOAD}/scalapack-2.1.0.tgz +cd scalapack-2.1.0 +cp SLmake.inc.example SLmake.inc +LAPACK_PATH=$1 +LAPACK_PATH=${LAPACK_PATH%/*/*/*} +LAPACK_PATH=${LAPACK_PATH}/lapack-bisheng/3.8.0/lib +sed -i "58s/-lblas//g" ./SLmake.inc +sed -i "59s/-llapack//g" ./SLmake.inc +sed -i "58s%$%${LAPACK_PATH}/librefblas.a%g" ./SLmake.inc +sed -i "59s%$%${LAPACK_PATH}/liblapack.a%g" ./SLmake.inc +sed -i '17a $(LIBS) += -fuse-ld=lld' REDIST/TESTING/Makefile +make +mkdir -p $1/lib +cp *.a $1/lib +mkdir -p $1/include +cp SRC/*.h $1/include diff --git a/templates/grib_api/1.21.0/data.grib_api.arm.cpu.config b/templates/grib_api/1.21.0/data.grib_api.arm.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..ddd69314d7ce1e96ea3cfd7d12a0435fb34a16b9 --- /dev/null +++ b/templates/grib_api/1.21.0/data.grib_api.arm.cpu.config @@ -0,0 +1,38 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +grib_api/1.21.0 https://github.com/weathersource/grib_api/archive/refs/tags/v1.21.0.tar.gz grib_api-1.21.0.tar.gz + +[DEPENDENCY] +module use ./software/modulefiles +module purge +./jarvis -install bisheng/2.1.0 com +module load bisheng2/2.1.0 +export CC=clang CXX=clang++ FC=flang +./jarvis -install hmpi/1.1.1 clang +module load hmpi1/1.1.1 +./jarvis -install pnetcdf/1.11.2 clang+mpi +./jarvis -install netcdf/4.7.0 clang+mpi + +[ENV] +module purge +module use ${JARVIS_ROOT}/software/modulefiles +module add bisheng2/2.1.0 +module add hmpi1/1.1.1 +module add netcdf/4.7.0 pnetcdf/1.11.2 +export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort + +[APP] +app_name = grib_api +build_dir = ${JARVIS_ROOT} +binary_dir = +case_dir = + +[BUILD] +./jarvis -install grib_api/1.21.0 clang+mpi + +[RUN] +run = +binary = +node = 1 diff --git a/templates/abinit/8.10.3/.data.abinit.arm.gpu.config.swp b/templates/gromacs/2019.3/bisheng/.data.gromacs.arm.gpu.config.swp similarity index 64% rename from templates/abinit/8.10.3/.data.abinit.arm.gpu.config.swp rename to templates/gromacs/2019.3/bisheng/.data.gromacs.arm.gpu.config.swp index ecda597b7a19f90e7182f948ad5453251823bde9..3a5508f4c5eca968907fdca512d72adb3e626c02 100644 Binary files a/templates/abinit/8.10.3/.data.abinit.arm.gpu.config.swp and b/templates/gromacs/2019.3/bisheng/.data.gromacs.arm.gpu.config.swp differ diff --git a/templates/gromacs/2019.3/bisheng/data.gromacs.arm.gpu.config b/templates/gromacs/2019.3/bisheng/data.gromacs.arm.gpu.config new file mode 100644 index 0000000000000000000000000000000000000000..5b3543811ecc94f34e1b5271527895f699d6fc03 --- /dev/null +++ b/templates/gromacs/2019.3/bisheng/data.gromacs.arm.gpu.config @@ -0,0 +1,78 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +gromacs/2019.3 http://ftp.gromacs.org/pub/gromacs/gromacs-2019.3.tar.gz + +[DEPENDENCY] +module use ./software/modulefiles +module purge +./jarvis -install bisheng/2.1.0 com +module load bisheng2/2.1.0 +export CC=clang CXX=clang++ FC=flang +./jarvis -install hmpi/1.1.1 clang +./jarvis -install openblas/0.3.18 clang +./jarvis -install cmake/3.23.1 clang +module load hmpi1/1.1.1 +export CC=mpicc CXX=mpicxx FC=mpifort +./jarvis -install fftw/3.3.8 clang+mpi + +[ENV] +module use ./software/modulefiles +module purge +module load bisheng2/2.1.0 +module load hmpi1/1.1.1 +module load fftw/3.3.8 cmake/3.23.1 openblas/0.3.18 +export CC=mpicc CXX=mpicxx FC=mpifort + +[APP] +app_name = gromacs +build_dir = $JARVIS_ROOT +binary_dir = $JARVIS_ROOT/software/apps/bisheng2/hmpi1/gromacs +case_dir = $JARVIS_ROOT/software/apps/bisheng2/hmpi1/gromacs + +[BUILD] +cd ${JARVIS_TMP} +rm -rf gromacs-2019.3 +tar -xvf ${JARVIS_DOWNLOAD}/gromacs-2019.3.tar.gz +cd gromacs-2019.3 +mkdir build +cd build + +openblas_path=$JARVIS_LIBS/bisheng2/openblas/0.3.18 +fftw_path=$JARVIS_LIBS/bisheng2/hmpi1/fftw/3.3.8 + +FLAGS="-mcpu=tsv110"; CFLAGS=$FLAGS CXXFLAGS=$FLAGS LDFLAGS="-lflang -fuse-ld=lld" CC=mpicc CXX=mpicxx \ +cmake \ +-DCMAKE_INSTALL_PREFIX=$JARVIS_ROOT/software/apps/bisheng2/hmpi1/gromacs \ +-DBUILD_SHARED_LIBS=on \ +-DBUILD_TESTING=on \ +-DREGRESSIONTEST_DOWNLOAD=off \ +-DGMX_BUILD_OWN_FFTW=off \ +-DGMX_SIMD=ARM_NEON_ASIMD \ +-DGMX_DOUBLE=off \ +-DGMX_EXTERNAL_BLAS=on \ +-DGMX_EXTERNAL_LAPACK=on \ +-DGMX_FFT_LIBRARY=fftw3 \ +-DGMX_BLAS_USER=$openblas_path/lib/libopenblas.a \ +-DGMX_LAPACK_USER=$openblas_path/lib/libopenblas.a \ +-DFFTWF_LIBRARY=$fftw_path/lib/libfftw3f.so \ +-DFFTWF_INCLUDE_DIR=$fftw_path/include \ +-DGMX_GPU=off \ +-DGMX_MPI=on \ +-DGMX_OPENMP=on \ +-DGMX_X11=off \ +../ + +make -j +make install + + + +[CLEAN] +./clean_build + +[RUN] +run = +binary = +nodes = 1