超算小站 超算小站
首页
手册
  • 集群软件环境:

    • 01.编译环境
    • 02.基础库
    • 03.应用软件
    • 04.工具软件
    • 05.常用语言环境
    • 06.使用进阶
  • 入门课程

    • 01.超算历史
    • 02.VPN登录
    • 03.Mobaxterm工具
    • 04.Linux基本命令
    • 05.Module环境变量管理工具
    • 06.Vim文本编辑器使用
    • 07.Slurm作业管理系统
  • 01.登录问题
  • 02.编译问题
  • 03.作业问题
  • 04.存储和数据问题
  • 05.GPU问题
Linux使用
归档
关于我
🚀试用
首页
手册
  • 集群软件环境:

    • 01.编译环境
    • 02.基础库
    • 03.应用软件
    • 04.工具软件
    • 05.常用语言环境
    • 06.使用进阶
  • 入门课程

    • 01.超算历史
    • 02.VPN登录
    • 03.Mobaxterm工具
    • 04.Linux基本命令
    • 05.Module环境变量管理工具
    • 06.Vim文本编辑器使用
    • 07.Slurm作业管理系统
  • 01.登录问题
  • 02.编译问题
  • 03.作业问题
  • 04.存储和数据问题
  • 05.GPU问题
Linux使用
归档
关于我
🚀试用
  • 编译环境

    • 编译程序的四个过程简介
    • gcc编译安装教程
  • 基础库

    • fftw 编译安装教程
    • PETSc 编译安装教程
  • 应用软件

    • alamode 编译安装教程
    • ANGSD 编译安装教程
    • BEAST安装使用教程
    • BerkeleyGW-2.1 安装教程
    • COMSOL安装教程
    • CP2K编译安装教程
    • gromacs编译安装教程
    • jfeff安装说明
    • LAMMPS编译安装教程
    • MIgcm编译安装教程
    • MOLPRO安装使用说明
    • nciplot安装说明
    • ovito安装说明(windows+linux)
    • swash编译安装教程
    • UV-CDAT 安装教程
    • VASP编译安装教程
    • 如何使用WRF
  • 工具软件

    • citrix 安装记录及报错记录
    • 如何使用TACC launcher来批量提交串行任务
    • slurm作业管理系统怎么用?
    • Collectl在天河系统上的使用
    • WinSCP软件使用简介(支持断点续传)
  • 常用语言环境

    • Co-Array Fortran 使用说明
    • Anaconda 安装教程
    • python扩展包的安装方法(pip)
    • python扩展包的安装方法
    • python扩展包的安装方法 --- conda本地源使用说明
    • 使用代理配置天河系统python环境
    • R编译安装教程
    • R语言包的安装教程
  • 使用进阶

    • 如何在lammps里加入新的势函数形式?
    • Materials Studio 任务提交脚本详解
    • 如何在ARM平台编译NAMD
      • 简介
      • 版本信息
      • 编译器配置
      • 下载源码包
      • 构建和安装Charm
      • 构建和安装NAMD
        • 配置FFTW库(使用官方的版本)
        • 配置TCL库的变量
        • 配置NAMD ARCH的变量
        • 编译NAMD
        • 配置运行环境
      • 测试
      • 更多
    • VASP 固定晶胞方向不优化
    • 设置编辑器语法高亮支持NCL
    • 青索客户端
  • 软件中心
  • 使用进阶
郑刚
2018-08-14

如何在ARM平台编译NAMD

# 简介

NAMD是一种平行分子动力学代码,设计用于大型生物分子系统的高性能模拟。 利用Charm ++并行编程框架,NAMD可以扩展到几个核心,用于典型的仿真,超过500,000个核心,用于最大的仿真。

使用此系统编写的程序在具有或不具有共享内存的MIMD计算机上运行不变。 它提供了高级机制和策略,以促进开发甚至高度复杂的并行应用程序的任务。

有关Charm ++或NAMD的更多信息,请分别访问 Charm++ (opens new window) 或 NAMD (opens new window) 网站。

# 版本信息

这些说明着重于为多节点,多核平台构建NAMD。出于此构建的目的,使用以下组件:

序号 组件 版本
1 NAMD Version 2.12
2 Charm++ Version 6.7.1
3 GNU Compiler Version 4.9.3
4 MPICH Version 3.2.1

# 编译器配置

# GNU COMPILER
export PATH=/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/bin:$LD_LIBRARY_PATH

# MPI
export PATH=/usr/local/mpi3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/mpi3/lib:$LD_LIBRARY_PATH

# environment
export CC=gcc
export CXX=g++
export FC=gfortran
1
2
3
4
5
6
7
8
9
10
11
12

# 下载源码包

BUILD_DIR=~/NAMD
cd $BUILD_DIR
wget http://www.ks.uiuc.edu/Research/namd/2.12/download/832164/NAMD_2.12_Source.tar.gz 
tar -xf NAMD_2.12_Source.tar.gz
cd NAMD_2.12_Source
1
2
3
4
5

# 构建和安装Charm

CHARMARCH=mpi-linux-aarch64
tar xvf charm-6.7.1.tar
cd charm-6.7.1
cd src/arch
mkdir $CHARMARCH
cp mpi-linux/conv-mach.* $CHARMARCH 
cd $CHARMARCH

sed -i "s/i386-gcc/generic64-light/" conv-mach.sh
sed -i "/#endif/i #define CMK_64BIT         1" conv-mach.h

cd ../../..

# build
./build charm++ $CHARMARCH --with-production -j8
cd ..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

说明:因为针对ARM64,没有现成的ARCH配置,故自己拷贝一个类似的,然后修改。编译过程大约几分钟。

# 构建和安装NAMD

# 配置FFTW库(使用官方的版本)

下载FFTW库

wget http://www.ks.uiuc.edu/Research/namd/libraries/fftw-linux-arm64.tar.gz 
tar xvf fftw-linux-arm64.tar.gz 
1
2

也可以手动下载源码,并拷贝到NAMD解压后的目录。

sed -i "s%\$(HOME)%`pwd`%" arch/Linux-ARM64.fftw
1

如果系统中已安装了fftw库,也可以直接使用,例如自己手动修改配置文件 arch/Linux-ARM64.fftw ,改为以下内容:

FFTDIR=/usr/local/fftw
FFTINCL=-I$(FFTDIR)/include
FFTLIB=-L$(FFTDIR)/lib -lfftw3f 
FFTFLAGS=-DNAMD_FFTW -DNAMD_FFTW_3
FFT=$(FFTINCL) $(FFTFLAGS)
1
2
3
4
5

说明:FFTWDIR=/usr/local/fftw,指的是fftw库安装的根目录,请修改为自己的目录。

# 配置TCL库的变量

下载TCL库

wget http://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-arm64-threaded.tar.gz
tar xvf tcl8.5.9-linux-arm64-threaded.tar.gz 
1
2

也可以手动下载源码,并拷贝到NAMD解压后的目录。

修改配置文件:

sed -i "s%\$(HOME)%`pwd`%" arch/Linux-ARM64.tcl
1

# 配置NAMD ARCH的变量

sed -i "s/multicore-arm7/mpi-linux-aarch64/" arch/Linux-ARM64-g++.arch
1

# 编译NAMD

./config  Linux-ARM64-g++ --charm-arch mpi-linux-aarch64 \
 --with-fftw --with-tcl
cd Linux-ARM64-g++
time make -j8 2>&1 | tee m.log
cd ..
1
2
3
4
5

编译过程大约几分钟。

# 配置运行环境

安装后的NAMD可以将其拷贝到目标目录,并设置PATH路径

INSTALL_DIR=$HOME/software/namd/2.12
mkdir -p $INSTALL_DIR
cp Linux-ARM64-g++/charmrun $INSTALL_DIR
cp Linux-ARM64-g++/namd2 $INSTALL_DIR
export PATH=$INSTALL_DIR:$PATH
1
2
3
4
5

# 测试

The Apoa1 example is a standard NAMD cross-platform benchmark. For more information on the Apoa1 example, see the NAMD website.

wget http://www.ks.uiuc.edu/Research/namd/utilities/apoa1.tar.gz
tar -xf apoa1.tar.gz
mpirun -np 16 namd2  apoa1/apoa1.namd 
1
2
3

# 更多

  1. 官网关于单节点多核版本的安装说明 (opens new window)
  2. 有关NAMD的更多信息,请访问 NAMD (opens new window) 官网。
  3. 关于ARM平台应用程序移植和优化,请访问 Mr.ZhengGang (opens new window)。
Materials Studio 任务提交脚本详解
VASP 固定晶胞方向不优化

← Materials Studio 任务提交脚本详解 VASP 固定晶胞方向不优化→

最近更新
01
Linux使用:screen
12-21
02
不同系统账号之间相互共享数据
12-21
03
多用户使用同一账号SSH时的自动登陆配置
07-04
更多文章>
Theme by Vdoing | Copyright © 2015-2022 Zheng Gang | MIT License | 津ICP备2021008634号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×