diff --git a/LifeSciences/namd/NAMD-2.13.sh b/LifeSciences/namd/NAMD-2.13.sh new file mode 100644 index 0000000000000000000000000000000000000000..85f673cf3e4139dba14ca1453f743911fa78034e --- /dev/null +++ b/LifeSciences/namd/NAMD-2.13.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +if [[ $# -ne 1 ]]; then + echo "The format is as follows:" + echo "bash NAMD-2.13.sh installpath" + echo ":param installpath: 应用安装绝对路径" + exit 1 +fi + +[[ ! "$1" =~ ^/.* || ! -d "$1" || "$1" = "/" ]] && echo "请输入正确的安装路径" && exit 1 + +installpath=$1 +[[ "$installpath" =~ .*/$ ]] && installpath=${installpath%/*} + +wget -t 0 -c -P $installpath https://www.ks.uiuc.edu/Research/namd/2.13/download/412487/NAMD_2.13_Source.tar.gz +tar -zxvf $installpath/NAMD_2.13_Source.tar.gz -C $installpath && rm -rf $installpath/NAMD_2.13_Source.tar.gz +cd $installpath/NAMD_2.13_Source + +charm=`find / -name CHARM` +cp arch/Linux-x86_64.fftw3 arch/Linux-ARM64.fftw3 +sed -i '5d' Make.charm +sed -i '4a CHARMBASE = '$charm'' Make.charm +sed -i '1,12d' arch/Linux-ARM64-g++.arch +sed -i '1a NAMD_ARCH = Linux-ARM64\ +CHARMARCH = mpi-linux-arm8\ +FLOATOPTS = -O3 -ffast-math -funsafe-math-optimizations -fomit-frame-pointer -march=armv8-a\ +CXX = g++ -std=c++11\ +CXXOPTS = $(FLOATOPTS)\ +CXXNOALIASOPTS = $(FLOATOPTS) -fno-strict-aliasing\ +CC = gcc\ +COPTS = $(FLOATOPTS)' arch/Linux-ARM64-g++.arch + +FFTW=`find / -name FFTW` +TCL=`find / -name tcl8.5.9-linux-arm64-threaded` +./config Linux-ARM64-g++ --with-fftw3 --fftw-prefix $FFTW --with-tcl --tcl-prefix $TCL --charm-arch mpi-linux-arm8 --cxx clang++ --cc clang +cd Linux-ARM64-g++ +make -j$(nproc) + +cat>"$installpath/NAMD_2.13_Source/namd_modulefiles"<"pkg/NAMD_2.13-hpc/run.sh"< /dev/null +current_dir=\$(cd "\$(dirname "\${BASH_SOURCE[0]}")" &> /dev/null && pwd) +for d in \$(ls \$current_dir) +do + [[ ! \$d =~ "namd" && ! \$d =~ "tcl8.5.9-linux-arm64-threaded" && ! \$d =~ "CHARM" && ! \$d =~ "charm-6.9.0" && ! -f "\$current_dir/\$d" ]] && cd \$current_dir/\$d && module use \$(pwd) && module load \$(pwd)/*modulefiles +done +cd \$current_dir +[[ ! -d "$installpath/hmpi-1.1.1" ]] && mkdir -p $installpath/hmpi-1.1.1 && cp -r \$current_dir/hmpi-1.1.1/* $installpath/hmpi-1.1.1/ +EOF +cd pkg/ && tar zcvf NAMD_2.13-hpc.tar.gz NAMD_2.13-hpc +rm -rf $buildpath $installpath + diff --git a/LifeSciences/namd/dependency/bisheng-compiler-2.1.0.sh b/LifeSciences/namd/dependency/bisheng-compiler-2.1.0.sh new file mode 100644 index 0000000000000000000000000000000000000000..46c4a649dc72698024187e227e575196559f9bfe --- /dev/null +++ b/LifeSciences/namd/dependency/bisheng-compiler-2.1.0.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +if [[ $# -ne 2 ]]; then + echo "The format is as follows:" + echo "bash bisheng-compiler-2.1.0.sh buildpath installpath" + echo ":param buildpath: 应用构建绝对路径" + echo ":param installpath: 应用安装绝对路径" + exit 1 +fi + +[[ ! "$1" =~ ^/.* || ! -d "$1" || "$1" = "/" ]] && echo "请输入正确的构建路径" && exit 1 +[[ ! "$2" =~ ^/.* || ! -d "$2" || "$2" = "/" ]] && echo "请输入正确的安装路径" && exit 1 + +buildpath=$1 +installpath=$2 +[[ "$buildpath" =~ .*/$ ]] && buildpath=${buildpath%/*} +[[ "$installpath" =~ .*/$ ]] && installpath=${installpath%/*} +if [[ "$buildpath" = "$installpath" ]]; then echo "构建路径和安装路径相同,请重新输入"; exit 1; fi + +set -e +yum install -y wget tar environment-modules libatomic + +wget -t 0 -c -P $buildpath https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_compiler/bisheng-compiler-2.1.0-aarch64-linux.tar.gz +tar xf $buildpath/bisheng-compiler-2.1.0-aarch64-linux.tar.gz -C $buildpath && rm -rf $buildpath/bisheng-compiler-2.1.0-aarch64-linux.tar.gz +mkdir -p $installpath/bisheng-compiler-2.1.0 && cp -r $buildpath/bisheng-compiler-2.1.0-aarch64-linux/* $installpath/bisheng-compiler-2.1.0/ + +cat>"$installpath/bisheng-compiler-2.1.0/bisheng_modulefiles"<"$installpath/FFTW/fftw_modulefiles"<"$installpath/hmpi-1.1.1/hmpi_modulefiles"<