From f9b6eb7ff283ade9c9464f065f0765d413ae34a1 Mon Sep 17 00:00:00 2001 From: wanghanwen <1564586847@qq.com> Date: Sat, 14 May 2022 16:51:12 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package/grib_api/1.21.0/install.sh | 20 ++++ .../20/bisheng/data.amber.arm.gpu.config | 66 +++++++++++ .../20/bisheng/data.amber.arm.gpu.config.bak | 63 ++++++++++ templates/fvcom/4.1/data.fvcom.arm.gpu.config | 109 ++++++++++++++++++ 4 files changed, 258 insertions(+) create mode 100644 package/grib_api/1.21.0/install.sh create mode 100644 templates/amber/20/bisheng/data.amber.arm.gpu.config create mode 100644 templates/amber/20/bisheng/data.amber.arm.gpu.config.bak create mode 100644 templates/fvcom/4.1/data.fvcom.arm.gpu.config diff --git a/package/grib_api/1.21.0/install.sh b/package/grib_api/1.21.0/install.sh new file mode 100644 index 0000000..2dd3ad8 --- /dev/null +++ b/package/grib_api/1.21.0/install.sh @@ -0,0 +1,20 @@ +#download from https://github.com/weathersource/grib_api/archive/refs/tags/v1.21.0.tar.gz +#module load bisheng2/2.1.0 hmpi1/1.1.1 netcdf/4.7.0 pnetcdf/1.11.2 +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://github.com/weathersource/grib_api/archive/refs/tags/v1.21.0.tar.gz grib_api-1.21.0.tar.gz +cd ${JARVIS_TMP} +rm -rf grib_api-1.21.0 +tar -xvf ${JARVIS_DOWNLOAD}/grib_api-1.21.0.tar.gz +cd grib_api-1.21.0 +mkdir build +cd build +export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort +cmake .. -DCMAKE_INSTALL_PREFIX=$1 +NETCDF_PATH=$1 +NETCDF_PATH=${JARVIS_DOWNLOAD%/*} +NETCDF_PATH=${NETCDF_PATH}/software/libs/bisheng2/hmpi1/netcdf/4.7.0/lib +sed -i "s%NETCDF_netcdf_LIBRARY_RELEASE:FILEPATH=NETCDF_netcdf_LIBRARY_RELEASE-NOTFOUND%NETCDF_netcdf_LIBRARY_RELEASE:FILEPATH=${NETCDF_PATH}/libnetcdf.so%g" ./CMakeCache.txt +make VERBOSE=1 +make install diff --git a/templates/amber/20/bisheng/data.amber.arm.gpu.config b/templates/amber/20/bisheng/data.amber.arm.gpu.config new file mode 100644 index 0000000..f345e29 --- /dev/null +++ b/templates/amber/20/bisheng/data.amber.arm.gpu.config @@ -0,0 +1,66 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] + +[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 + +[ENV] +module use ./software/modulefiles +module purge +module load bisheng2/2.1.0 +module load hmpi1/1.1.1 +export CC=mpicc CXX=mpicxx FC=mpifort + +[APP] +app_name = Amber +build_dir = $JARVIS_ROOT +binary_dir = $JARVIS_ROOT/software/apps/bisheng2/hmpi1/amber20 +case_dir = $JARVIS_ROOT/software/apps/bisheng2/hmpi1/amber20/AmberTools/benchmarks/nab + +[BUILD] +#yum install cmake* flex* bison* boost* python2-pip -y +pip2 install numpy scipy matplotlib + +cd ${JARVIS_TMP} +rm -rf amber20_src +tar -xvf ${JARVIS_DOWNLOAD}/AmberTools21.tar.bz2 +cd amber20_src + +sed -i "136s/gfortran/flang/g" cmake/AmberCompilerConfig.cmake +sed -i '22{h;d};23G' AmberTools/src/reduce/libpdb/pdb++.cpp +sed -i '30d' AmberTools/src/reduce/libpdb/pdb++.cpp +sed -i '24a }' AmberTools/src/reduce/libpdb/pdb++.cpp + +sed -i '23{h;d};24G' AmberTools/src/reduce/libpdb/pdb_type.cpp +sed -i '33d' AmberTools/src/reduce/libpdb/pdb_type.cpp +sed -i '26a }' AmberTools/src/reduce/libpdb/pdb_type.cpp + +sed -i "27s/^/!/g" AmberTools/src/sebomd/se_etimer.F +sed -i "27a call cpu_time(tnow)" AmberTools/src/sebomd/se_etimer.F + +mpi_path=`which mpicc` +mpi_path=${mpi_path%/*/*} + +content='CFLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wl,-z,muldefs -fuse-ld=lld" CXXFLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wno-c++11-narrowing -Wl,-z,muldefs -fuse-ld=lld" FCFLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -I'${mpi_path}'/include -L'${mpi_path}'/lib -fuse-ld=lld" cmake $AMBER_PREFIX/amber20_src -DCMAKE_INSTALL_PREFIX='$JARVIS_ROOT'/software/apps/bisheng2/hmpi1/amber20 -DCOMPILER=CLANG -DMPI=TRUE -DCUDA=FALSE -DINSTALL_TESTS=TRUE -DDOWNLOAD_MINICONDA=FALSE -DMINICONDA_USE_PY3=FLASE -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_C_FLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wl,-z,muldefs -fuse-ld=lld" -DCMAKE_CXX_FLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wno-c++11-narrowing -Wl,-z,muldefs -fuse-ld=lld" -DCMAKE_Fortran_FLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -I'${mpi_path}'/include -L'${mpi_path}'/lib -fuse-ld=lld" 2>&1 | tee cmake.log' + +sed -i "39,44d" build/run_cmake +sed -i "39a $content" build/run_cmake + +cd build +./run_cmake +make install + +[CLEAN] +./clean_build + +[RUN] +run = +binary = +nodes = 1 diff --git a/templates/amber/20/bisheng/data.amber.arm.gpu.config.bak b/templates/amber/20/bisheng/data.amber.arm.gpu.config.bak new file mode 100644 index 0000000..7917679 --- /dev/null +++ b/templates/amber/20/bisheng/data.amber.arm.gpu.config.bak @@ -0,0 +1,63 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +hucx/1.1.1 https://github.com/kunpengcompute/hucx/archive/refs/tags/v1.1.1-huawei.tar.gz hucx-1.1.1-huawei.tar.gz +xucg/1.1.1 https://github.com/kunpengcompute/xucg/archive/refs/tags/v1.1.1-huawei.tar.gz xucg-1.1.1-huawei.tar.gz +hmpi/1.1.1 https://github.com/kunpengcompute/hmpi/archive/refs/tags/v1.1.1-huawei.tar.gz hmpi-1.1.1-huawei.tar.gz +bisheng/2.1.0 https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_compiler/bisheng-compiler-2.1.0-aarch64-linux.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 + +[ENV] +module use ./software/modulefiles +module purge +module load bisheng2/2.1.0 +module load hmpi1/1.1.1 +export CC=mpicc CXX=mpicxx FC=mpifort + +[APP] +app_name = Amber +build_dir = $JARVIS_ROOT/amber20_src + +binary_dir = $JARVIS_ROOT/software/apps/amber20 +case_dir = $JARVIS_ROOT/software/apps/amber20/AmberTools/benchmarks/nab + +[BUILD] +#yum install cmake* flex* bison* boost* python2-pip -y + +mpi_path=`which mpicc` +mpi_path=${mpi_path%/*} + +content='CFLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wl,-z,muldefs -fuse-ld=lld" \\\ \ +CXXFLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wno-c++11-narrowing -Wl,-z,muldefs -fuse-ld=lld" \ +FCFLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -I$mpi_path/include -L$mpi_path/lib -fuse-ld=lld" \ +cmake $AMBER_PREFIX/amber20_src \ + -DCMAKE_INSTALL_PREFIX=$AMBER_PREFIX/amber20 \ + -DCOMPILER=CLANG \ + -DMPI=TRUE -DCUDA=FALSE -DINSTALL_TESTS=TRUE \ + -DDOWNLOAD_MINICONDA=FALSE -DMINICONDA_USE_PY3=FLASE \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DCMAKE_C_FLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wl,-z,muldefs -fuse-ld=lld" \ + -DCMAKE_CXX_FLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wno-c++11-narrowing -Wl,-z,muldefs -fuse-ld=lld" \ + -DCMAKE_Fortran_FLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -I$mpi_path/include -L$mpi_path/lib -fuse-ld=lld" \ + 2>&1 | tee cmake.log' +echo $content + + +#./run_cmake +#make -j 96 install + +[CLEAN] +./clean_build + +[RUN] +run = mpirun -mca btl ^vader,tcp,openib,uct -np 2 +binary = pmemd.cuda_SPFP.MPI -O -i mdinOPT.GPU -o mdout -p Cellulose.prmtop -c Cellulose.inpcrd && cat mdout +nodes = 1 diff --git a/templates/fvcom/4.1/data.fvcom.arm.gpu.config b/templates/fvcom/4.1/data.fvcom.arm.gpu.config new file mode 100644 index 0000000..f061e6f --- /dev/null +++ b/templates/fvcom/4.1/data.fvcom.arm.gpu.config @@ -0,0 +1,109 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +FVCOM/4.1 http://fvcom.smast.umassd.edu/releases/fvcom-4.1.tar.gz +metis_patch/4.0 https://www.math-linux.com/IMG/patch/metis-4.0.patch + +[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 +export CC=mpicc CXX=mpicxx FC=mpifort +./jarvis -install package/hdf5/1.10.1 clang+mpi +./jarvis -install package/pnetcdf/1.11.2 clang+mpi +./jarvis -install package/netcdf/4.7.0 clang+mpi + +[ENV] +module use ./software/modulefiles +module purge +module load bisheng2/2.1.0 +module load hmpi1/1.1.1 +module load hdf5/1.10.1 +module load pnetcdf/1.11.2 +module load netcdf/4.7.0 +export CC=mpicc CXX=mpicxx FC=mpifort + +[APP] +app_name = fvcom +build_dir = $JARVIS_ROOT +binary_dir = $JARVIS_ROOT/software/apps/bisheng2/hmpi1/fvcom +case_dir = $JARVIS_ROOT/software/apps/bisheng2/hmpi1/fvcom + +[BUILD] +set -x +set -e + +mkdir -p $JARVIS_ROOT/software/apps/bisheng2/hmpi1/fvcom +rm -rf $JARVIS_ROOT/software/apps/bisheng2/hmpi1/fvcom/* +cd $JARVIS_ROOT/software/apps/bisheng2/hmpi1/fvcom +tar -xvf ${JARVIS_DOWNLOAD}/fvcom-4.1.tar.gz +cp ${JARVIS_DOWNLOAD}/metis-4.0.patch FVCOM4.1/METIS_source/ + +cd FVCOM4.1 +cp Examples/Estuary/make.inc_example FVCOM_source/make.inc + +fvcom_path=`pwd` +sed -i "51s%$%${fvcom_path}/FVCOM_source%g" FVCOM_source/make.inc +sed -i '73c LIBDIR=-L$(INSTALLDIR)/lib -L../METIS_source/metis -L./libs/julian' FVCOM_source/make.inc +sed -i '74c INCDIR=-I$(INSTALLDIR)/include -I../METIS_source/metis -I./libs/julian' FVCOM_source/make.inc + + +hdf5_path=`which h5diff` +hdf5_path=${hdf5_path%/*/*} +netcdf_path=`nc-config --prefix` +bisheng_path=`which clang` +bisheng_path=${bisheng_path%/*/*} + +sed -i "97c IOLIBS=-L${netcdf_path}/lib -L${hdf5_path}/lib -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz -lcurl -lm" FVCOM_source/make.inc +sed -i "99c IOINCS=-I${netcdf_path}/include -I${hdf5_path}/include" FVCOM_source/make.inc +sed -i "534,539s/^/#/g" FVCOM_source/make.inc +#sed -i "554i CPP = ${bisheng_path}/bin/clang-cpp\nCOMPILER = -DGFORTRAN \nCC = mpicc \nCXX = mpicxx \nFC = mpif90 \nDEBFLGS = \nOPT = -O3 -ffree-form -ffree-line-length-none \nCLIB =" FVCOM_source/make.inc +sed -i "554i CPP = /usr/bin/cpp\nCOMPILER = -DGFORTRAN \nCC = mpicc \nCXX = mpicxx \nFC = mpif90 \nDEBFLGS = \nOPT = -O3 -ffree-form -ffree-line-length-none \nCLIB =" FVCOM_source/make.inc + +ln -sf FVCOM_source/make.inc ./ + +#编译METIS +cd ./METIS_source +tar -zxvf metis.tgz +cd metis +patch -p2 < ../metis-4.0.patch +mkdir -p ../../FVCOM_source/libs/install/lib +mkdir -p ../../FVCOM_source/libs/install/include +mkdir -p ../../FVCOM_source/libs/install/bin +make -j +make install + +#编译julian +cd ../../FVCOM_source/libs +tar -zxvf julian.tgz +cd julian +make -j +make install + + +cd ../.. +sed -i "51c Character( Len = 256 ) Function N_Fmt( c , n ) \n Character( Len = * ) , Intent( IN ) :: c \n Integer , Intent( IN ) :: n \n integer :: i , j \n character( len = 16 ) :: cn \n i = index( c , '<' ) \n j = index( c , '>' ) \n write( cn , '(g0)' ) n \n N_Fmt = c(:i-1) // Trim(adjustL(cn)) // c(j+1:) \n End Function N_Fmt" mod_newinp.F + +sed -i "352c write(*,N_Fmt('(A20,F10.4)',SIZE))trim(argname)//': ',fval(1:SIZE)" mod_newinp.F +sed -i "421c write(*,N_Fmt('(A20,I10)',SIZE))trim(argname)//': ',ival(1:SIZE)" mod_newinp.F +sed -i "494c write(*,N_Fmt('(A20,L10)',SIZE))trim(argname)//': ',cval(1:SIZE)" mod_newinp.F +sed -i "567c write(*,N_Fmt('(A20,A10)',SIZE))trim(argname)//': ',sval(1:SIZE)" mod_newinp.F + +sed -i 's/\/=\.TRUE\./\.neqv\.\.TRUE\./g' mod_scal.F +sed -i 's/==\.TRUE/\.eqv\.\.TRUE/g' internal_step.F +sed -i 's/==\.FALSE\./\.eqv\.\.FALSE\./g' adv_t.F +sed -i 's/==\.FALSE\./\.eqv\.\.FALSE\./g' adv_s.F + +make + +[CLEAN] +./clean_build + +[RUN] +run = +binary = +nodes = 1 -- Gitee From 06e14733db965af7c14415f415eeebceca07f21c Mon Sep 17 00:00:00 2001 From: wanghanwen Date: Sat, 14 May 2022 08:59:16 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20temp?= =?UTF-8?q?lates/amber/20/bisheng/data.amber.arm.gpu.config.bak?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20/bisheng/data.amber.arm.gpu.config.bak | 63 ------------------- 1 file changed, 63 deletions(-) delete mode 100644 templates/amber/20/bisheng/data.amber.arm.gpu.config.bak diff --git a/templates/amber/20/bisheng/data.amber.arm.gpu.config.bak b/templates/amber/20/bisheng/data.amber.arm.gpu.config.bak deleted file mode 100644 index 7917679..0000000 --- a/templates/amber/20/bisheng/data.amber.arm.gpu.config.bak +++ /dev/null @@ -1,63 +0,0 @@ -[SERVER] -11.11.11.11 - -[DOWNLOAD] -hucx/1.1.1 https://github.com/kunpengcompute/hucx/archive/refs/tags/v1.1.1-huawei.tar.gz hucx-1.1.1-huawei.tar.gz -xucg/1.1.1 https://github.com/kunpengcompute/xucg/archive/refs/tags/v1.1.1-huawei.tar.gz xucg-1.1.1-huawei.tar.gz -hmpi/1.1.1 https://github.com/kunpengcompute/hmpi/archive/refs/tags/v1.1.1-huawei.tar.gz hmpi-1.1.1-huawei.tar.gz -bisheng/2.1.0 https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_compiler/bisheng-compiler-2.1.0-aarch64-linux.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 - -[ENV] -module use ./software/modulefiles -module purge -module load bisheng2/2.1.0 -module load hmpi1/1.1.1 -export CC=mpicc CXX=mpicxx FC=mpifort - -[APP] -app_name = Amber -build_dir = $JARVIS_ROOT/amber20_src - -binary_dir = $JARVIS_ROOT/software/apps/amber20 -case_dir = $JARVIS_ROOT/software/apps/amber20/AmberTools/benchmarks/nab - -[BUILD] -#yum install cmake* flex* bison* boost* python2-pip -y - -mpi_path=`which mpicc` -mpi_path=${mpi_path%/*} - -content='CFLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wl,-z,muldefs -fuse-ld=lld" \\\ \ -CXXFLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wno-c++11-narrowing -Wl,-z,muldefs -fuse-ld=lld" \ -FCFLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -I$mpi_path/include -L$mpi_path/lib -fuse-ld=lld" \ -cmake $AMBER_PREFIX/amber20_src \ - -DCMAKE_INSTALL_PREFIX=$AMBER_PREFIX/amber20 \ - -DCOMPILER=CLANG \ - -DMPI=TRUE -DCUDA=FALSE -DINSTALL_TESTS=TRUE \ - -DDOWNLOAD_MINICONDA=FALSE -DMINICONDA_USE_PY3=FLASE \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DCMAKE_C_FLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wl,-z,muldefs -fuse-ld=lld" \ - -DCMAKE_CXX_FLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -Wno-c++11-narrowing -Wl,-z,muldefs -fuse-ld=lld" \ - -DCMAKE_Fortran_FLAGS="-O3 -mllvm -force-customized-pipeline -march=armv8.2-a -mcpu=tsv110 -I$mpi_path/include -L$mpi_path/lib -fuse-ld=lld" \ - 2>&1 | tee cmake.log' -echo $content - - -#./run_cmake -#make -j 96 install - -[CLEAN] -./clean_build - -[RUN] -run = mpirun -mca btl ^vader,tcp,openib,uct -np 2 -binary = pmemd.cuda_SPFP.MPI -O -i mdinOPT.GPU -o mdout -p Cellulose.prmtop -c Cellulose.inpcrd && cat mdout -nodes = 1 -- Gitee