diff --git a/BasicScientficResearch/QE-6.6/build.sh b/BasicScientficResearch/QE-6.6/build.sh new file mode 100644 index 0000000000000000000000000000000000000000..f21bca4074a9c170850580dd057cbc10e3697f08 --- /dev/null +++ b/BasicScientficResearch/QE-6.6/build.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +if [[ $# -ne 2 ]]; then + echo "The format is as follows:" + echo "./build.sh buildpath installpath" + echo ":param buildpath: 应用构建绝对路径" + echo ":param installpath: 应用安装绝对路径" + exit 1 +fi + +[[ ! "$1" =~ ^/.* || "$1" = "/" ]] && echo "请输入正确的构建路径" && exit 1 +[[ ! "$2" =~ ^/.* || "$2" = "/" ]] && echo "请输入正确的安装路径" && exit 1 + +create_dir() +{ + local path=$1 + [[ "$path" =~ .*/$ ]] && path=${path%/*} + if [[ ! -d "$path" && ! -f "$path" ]]; then mkdir -p $path; else path=$path`date "+%y%m%d%H%M%S"` && mkdir -p $path; fi + echo $path +} + +buildpath=$(create_dir $1) +installpath=$(create_dir $2) + +yum install -y --nogpgcheck m4 environment-modules systemd-devel +source /etc/profile +module purge + +set -e +dep_dir="dependency" +#毕昇编译器安装 +bash $dep_dir/bisheng-compiler-2.1.0.sh $buildpath $installpath +module use $installpath/bisheng-compiler-2.1.0 +module load $installpath/bisheng-compiler-2.1.0/bisheng_modulefiles +#hmpi安装 +bash $dep_dir/hmpi-1.1.1.sh $buildpath $installpath +module use $installpath/hmpi-1.1.1 +module load $installpath/hmpi-1.1.1/hmpi_modulefiles +#安装openblas +bash $dep_dir/OpenBLAS-0.3.6.sh $buildpath $installpath +module use $installpath/OPENBLAS +module load $installpath/OPENBLAS/OPENBLAS_modulefiles +#安装scaLAPACK +bash $dep_dir/ScaLAPACK-2.2.1.sh $buildpath $installpath +module use $installpath/SCALAPACK +module load $installpath/SCALAPACK/SCALAPACK_modulefiles +#安装q-e6.6 +bash q-e-6.6.sh $buildpath $installpath +module use $installpath/q-e-6.6 +module load $installpath/q-e-6.6/q-e_modulefiles + +mkdir -p pkg/q-e-6.6-hpc && cp -r $installpath/* pkg/q-e-6.6-hpc/ +cat>"pkg/q-e-6.6-hpc/run.sh"< /dev/null +current_dir=\$(cd "\$(dirname "\${BASH_SOURCE[0]}")" &> /dev/null && pwd) +for d in \$(ls \$current_dir) +do + [ ! -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 q-e-6.6-hpc.tar.gz q-e-6.6-hpc +rm -rf $buildpath $installpath diff --git a/BasicScientficResearch/QE-6.6/dependency/OpenBLAS-0.3.6.sh b/BasicScientficResearch/QE-6.6/dependency/OpenBLAS-0.3.6.sh new file mode 100644 index 0000000000000000000000000000000000000000..ba2729eb242574d1dc40388030c77596beffeac6 --- /dev/null +++ b/BasicScientficResearch/QE-6.6/dependency/OpenBLAS-0.3.6.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +if [[ $# -ne 2 ]]; then + echo "The format is as follows:" + echo "bash OpenBLAS-0.3.6.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%/*} +[[ "$buildpath" == "$installpath" ]] && echo "构建路径与安装路径需为不同路径" && exit 1 +set -e +yum install -y --nogpgcheck wget tar environment-modules + +wget -t 10 -c -P $buildpath https://github.com/xianyi/OpenBLAS/archive/refs/tags/v0.3.6.tar.gz +tar xf $buildpath/v0.3.6.tar.gz -C $buildpath && rm -rf $buildpath/v0.3.6.tar.gz +cd $buildpath/OpenBLAS-0.3.6 +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +make +make PREFIX=$installpath/OPENBLAS install +export LD_LIBRARY_PATH=$installpath/OPENBLAS:$LD_LIBRARY_PATH +cat>"$installpath/OPENBLAS/OPENBLAS_modulefiles"<"$installpath/SCALAPACK/SCALAPACK_modulefiles"<"$installpath/bisheng-compiler-2.1.0/bisheng_modulefiles"<"$installpath/hmpi-1.1.1/hmpi_modulefiles"<"$installpath/q-e-6.6/q-e_modulefiles"<