国产ARM aarch64 v8架构安装namd-2.14

说明:

  • 文章采用源码编译方法,主要是为了在大规模HPC集群上能够实现跨节点使用,以大幅提升计算效率。
  • NAMD官方提供了各种预编译的二进制版本,如果你的系统不涉及跨节点的多核并行,那可以直接下载相应二进制版本使用,该文章对你的帮助或许不大。

参考:https://nscc.mrzhenggang.com/how-to-compile-namd-on-arm-platform/

一、编译环境

module purge
module load GCC/11.1.0
module load mpich/4.1.2-ch4-gcc11.1.0

二、源码包下载

下载地址:http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=NAMD

wget https://www.ks.uiuc.edu/Research/namd/2.14/download/946183/NAMD_2.14_Source.tar.gz
tar zxf NAMD_2.14_Source.tar.gz
cd NAMD_2.14_Source/

三、charm安装

说明:在安装namd-2.14时使用charm-6.10.2能够编译,但是在测试算例时报错段错误,经过测试,可使用namd-2.12中的charm-6.7.1进行编译,后续算例运行成功。

1. charm-6.10.2(报段错误,弃用)

新建mpi-linux-aarch64架构配置文件:

CHARMARCH=mpi-linux-aarch64
tar xf charm-6.10.2.tar
cd charm-6.10.2/src/arch
mkdir $CHARMARCH
cp mpi-linux/conv-mach.* $CHARMARCH 
sed -i "s/i386-gcc/generic64-light/" $CHARMARCH/conv-mach.sh
sed -i "/#endif/i #define CMK_64BIT         1" $CHARMARCH/conv-mach.h
cd ../..
# 指定arrch64的汇编文件
sed -i 's/arm8/arm8\\|aarch64/g' build
./build charm++ $CHARMARCH --with-production -j16
cd mpi-linux-aarch64/tests/charm++/megatest/
make pgm -j16
# 测试报段错误
srun -p vp -n 16 ./pgm
cd ../../../../..

2. charm-6.7.1

# 使用namd-2.12的charm
## 将namd-2.12中的charm-6.7.1.tar拷到namd-2.14中编译
cp ../NAMD_2.12_Source/charm-6.7.1.tar ./
CHARMARCH=mpi-linux-aarch64
tar xf charm-6.7.1.tar
cd charm-6.7.1/src/arch
mkdir $CHARMARCH
cp mpi-linux/conv-mach.* $CHARMARCH 
sed -i "s/i386-gcc/generic64-light/" $CHARMARCH/conv-mach.sh
sed -i "/#endif/i #define CMK_64BIT         1" $CHARMARCH/conv-mach.h
cd ../..
./build charm++ $CHARMARCH --with-production -j16
cd mpi-linux-aarch64/tests/charm++/megatest/
make pgm -j16
# 测试通过
srun -p vp -n 16 ./pgm
cd ../../../../..

四、配置fftw和tcl

下载地址下载架构对应版本的fftwtclarm64架构可点击下面链接直接下载。

# fftw和tcl-pthreads源码包下载到NAMD_2.14_Source目录
#tar xzf fftw-linux-arm64.tar.gz
#mv fftw-linux-arm64 fftw
tar xzf tcl8.5.9-linux-arm64-threaded.tar.gz 
mv tcl8.5.9-linux-arm64-threaded tcl
# 修改ARCH变量
sed -i "s/multicore-arm7/mpi-linux-aarch64/" arch/Linux-ARM64-g++.arch

# 使用系统上的fftw
sed -i '2s|.*|FFTDIR=/thfs4/software/fftw/3.3.7-gcc11.1.0-sve|' arch/Linux-ARM64.fftw
sed -i '4s/-lsrfftw -lsfftw/-lfftw3f/' arch/Linux-ARM64.fftw
sed -i '5s/$/ -DNAMD_FFTW_3/' arch/Linux-ARM64.fftw
  • 可选)指定fftwtcl路径

    charm-6.10.2fftwtclnamd主目录下时非必须,否则指定绝对路径。

    charm-6.7.1必须修改。

    sed -i '5s|.*|CHARMBASE = .rootdir/charm-6.7.1|' Make.charm
    sed -i '2s|.*|FFTDIR=.rootdir/fftw|' arch/Linux-ARM64.fftw
    sed -i '3s|.*|TCLDIR=.rootdir/tcl|' arch/Linux-ARM64.tcl
    

五、编译NAMD

./config Linux-ARM64-g++ --charm-arch mpi-linux-aarch64 --with-fftw --with-tcl
time make -j16 -C Linux-ARM64-g++ >& log

六、测试

module purge
module load GCC/11.1.0
module load mpich/4.1.2-ch4-gcc11.1.0
export PATH=$HOME/software/NAMD_2.14_Source/Linux-ARM64-g++:$PATH

srun -p vp -N 1 -n 56 namd2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值