这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
atk:通过命令行方式手动提交atk计算 [2016/03/27 16:13] – 创建 fermi | atk:通过命令行方式手动提交atk计算 [2021/04/26 17:25] (当前版本) – 已恢复为旧版 (2018/03/20 18:27) dong.dong | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== 通过命令行方式手动提交ATK计算 ====== | + | ====== 通过命令行方式手动提交QuantumATK计算 ====== |
===== 运行串行计算 ===== | ===== 运行串行计算 ===== | ||
行 13: | 行 13: | ||
</ | </ | ||
- | <WRAP center | + | <WRAP center important |
- | 注意:在单机上使用MPI并行可能和MKL的多线程并行互相干扰,降低并行效率。应使用环境变量 MKL_NUM_THREADS=1 MKL_DYNAMIC=FALSE | + | ==== 注意 |
- | 将动态多线程功能关闭。 | + | * 在单机上使用MPI并行可能和MKL的多线程并行互相干扰,降低并行效率。应使用环境变量 MKL_NUM_THREADS=1 MKL_DYNAMIC=FALSE 将动态多线程功能关闭。 |
+ | * 2017版本以后,QuantumATK使用内置Intel MPI并行,可更好的管理同时使用MPI多进程和MKL多线程并行,敬请测试。 | ||
</ | </ | ||
===== 在Linux计算机集群上并行计算 ===== | ===== 在Linux计算机集群上并行计算 ===== | ||
行 46: | 行 47: | ||
export LD_LIBRARY_PATH=$MPI_DIR/ | export LD_LIBRARY_PATH=$MPI_DIR/ | ||
export PATH=$MPI_DIR/ | export PATH=$MPI_DIR/ | ||
+ | |||
+ | ## 通知计算时需要访问的License server所在位置或自动搜索 | ||
+ | export QUANTUM_LICENSE_PATH=" | ||
cd $PBS_O_WORKDIR | cd $PBS_O_WORKDIR | ||
行 114: | 行 118: | ||
目前主流的计算机集群都配备了InfiniBand(IB)高速网络用于节点间并行的高速数据交换,用户应选择IB网络进行并行。 | 目前主流的计算机集群都配备了InfiniBand(IB)高速网络用于节点间并行的高速数据交换,用户应选择IB网络进行并行。 | ||
- | <WRAP center | + | <WRAP center important |
+ | ==== 注意 ==== | ||
与OpenMPI不同,MPICH和Intel MPI可能不会自动选择IB网络,敬请留意。 | 与OpenMPI不同,MPICH和Intel MPI可能不会自动选择IB网络,敬请留意。 | ||
</ | </ | ||
+ | <WRAP center important 100%> | ||
+ | ==== 说明 ==== | ||
+ | 以上脚本的修改需要根据具体的集群hosts文件中的主机名规律进行调试。 | ||
+ | </ | ||
- | 通常情况下''/ | ||
- | < | ||
- | 输出的节点主机名文件hostfile.XXXX中的信息,并与''/ | ||
- | |||
- | 例如在PBS的输出的log文件中看到: | ||
- | <code bash> | ||
- | Job is running on node(s): | ||
- | c0101 | ||
- | c0101 | ||
- | c0101 | ||
- | c0101 | ||
- | c0101 | ||
- | c0101 | ||
- | c0101 | ||
- | c0101 | ||
- | c0102 | ||
- | c0102 | ||
- | c0102 | ||
- | c0102 | ||
- | c0102 | ||
- | c0102 | ||
- | c0102 | ||
- | c0102 | ||
- | </ | ||
- | 而在''/ | ||
- | <code bash> | ||
- | # 以下是以太网络的IP和主机名 | ||
- | 192.168.1.1 c0101 | ||
- | 192.168.1.2 c0102 | ||
- | 192.168.1.3 c0103 | ||
- | ... | ||
- | ... | ||
- | 192.168.2.11 c0211 | ||
- | 192.168.2.12 c0212 | ||
- | |||
- | # | ||
- | 10.10.1.1 c0101-ib | ||
- | 10.10.1.2 c0102-ib | ||
- | 10.10.1.3 c0103-ib | ||
- | ... | ||
- | ... | ||
- | 10.10.2.12 c0212-ib | ||
- | </ | ||
- | |||
- | 这说明计算使用的是以太网络。 | ||
- | |||
- | 为使计算使用高速的ib网络,应修改主机名。 | ||
- | 上例中,需要在hostfile的每行结尾增加' | ||
- | <code bash> | ||
- | # | ||
- | cat $PBS_NODEFILE > hostfile.$PBS_JOBID | ||
- | </ | ||
- | 修改为: | ||
- | <code bash> | ||
- | # | ||
- | sed ' | ||
- | </ | ||
- | |||
- | 有些集群的ib主机名为eth主机名前增加“ib”,PBS脚本中应为: | ||
- | <code bash> | ||
- | # | ||
- | sed ' | ||
- | </ | ||
- | |||
- | **说明:以上脚本的修改需要根据具体的集群hosts文件中的主机名规律进行调试。** |