u vol 6 u vol 6home u vol

  • Slides: 95
Download presentation

系统编译环境 u共享目录 /vol 6 u用户根目录 /vol 6/home u常用软件安装目录 /vol 6/appsoftware u常用动态链接库目录 /vol 6/intellib/lib /vol

系统编译环境 u共享目录 /vol 6 u用户根目录 /vol 6/home u常用软件安装目录 /vol 6/appsoftware u常用动态链接库目录 /vol 6/intellib/lib /vol 6/intellib/mkl

系统编译环境 其它环境(Python)等 目前TH-1 HN系统还安装了诸如Python等运行环境,python版本 为 2. 7,安装目录为/vol 6/python 2. 7,用户使用时可以进行选择,通 过设置相应的环境变量如下: export PATH=/vol 6/python

系统编译环境 其它环境(Python)等 目前TH-1 HN系统还安装了诸如Python等运行环境,python版本 为 2. 7,安装目录为/vol 6/python 2. 7,用户使用时可以进行选择,通 过设置相应的环境变量如下: export PATH=/vol 6/python 2. 7/bin: $PATH export LD_LIBRARY_PATH=/vol 6/python 2. 7/lib: $LD_LIBRARY_PATH

系统登陆 用户登录服务器后, 默认进入到与用户名同名的目录下, 进 入到/vol 6/home/user_name。 Connecting to 25. 8. 2. 1: 22. .

系统登陆 用户登录服务器后, 默认进入到与用户名同名的目录下, 进 入到/vol 6/home/user_name。 Connecting to 25. 8. 2. 1: 22. . . Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Last login: Sun Oct 11 10: 23: 30 2015 from 192. 168. 20. 11 [cleng@ln 1%tianhe ~]$ 特别注意:TH-1 HN的ln系列登录节点,只负责用户的登录, 编译、提交任务等操作,不允许直接在登录节点运行可执行程序。

 • 分区限制 用户可以使用yhi命令查看节点的使用情况 PARTITION表示分区 TIMELIMIT表示该分区的时间限制 NODES表示节点数 STATE表示节点运行状态, 其中down表示未启动,idle表示启动后处于空闲 状态,alloc表示节点已经分配了作业 NODELIST为节点列表 [root@ln 0%tianhe appsoftware]#

• 分区限制 用户可以使用yhi命令查看节点的使用情况 PARTITION表示分区 TIMELIMIT表示该分区的时间限制 NODES表示节点数 STATE表示节点运行状态, 其中down表示未启动,idle表示启动后处于空闲 状态,alloc表示节点已经分配了作业 NODELIST为节点列表 [root@ln 0%tianhe appsoftware]# yhinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST u_test* up 5: 00 10 idle cn[1062 -1071] work up infinite 86 alloc cn[219, 221 -225, 302 -306, 308 -310, 312 -313, 316 -328, 376377, 431 -433, 435 -437, 457 -460, 497 -503, 510, 1088, 1105 -1107, 1110 -1112, 1164 -1166, 12081211, 1213 -1215, 1284 -1287, 1304 -1306, 1308 -1310, 1327 -1329, 1410 -1416] work up infinite 617 idle cn[136 -170, 172 -216, 218, 227 -250, 252 -253, 255 -278, 280300, 307, 314, 329 -375, 379 -408, 410 -429, 434, 438 -453, 455 -456, 461, 463 -472, 474, 476 -477, 479496, 504 -506, 508 -509, 511, 1024, 1026, 1028 -1032] lxz up infinite 2 idle cn[1101 -1102] hbyi up infinite 9 alloc cn[1527 -1535]

 作业查看 用户通过yhqueue只能看到自己提交的作业。 JOBID表示任务ID Name表示任务名称 USER为用户 TIME为已运行时间 NODES表示占用节点数 NODELIST为任务运行的节点列表 [cleng@ln 1%tianhe NASTRAN]$ yhqueue JOBID

作业查看 用户通过yhqueue只能看到自己提交的作业。 JOBID表示任务ID Name表示任务名称 USER为用户 TIME为已运行时间 NODES表示占用节点数 NODELIST为任务运行的节点列表 [cleng@ln 1%tianhe NASTRAN]$ yhqueue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 1018321 work csz. SW-P. hnu_ckq R 11 -09: 19: 01 3 cn[308 -310] 1018492 work csz. DWFe- hnu_ckq R 6 -08: 03: 05 2 cn[312 -313] 1018493 work csz. DWFe- hnu_ckq R 6 -08: 03: 01 2 cn[376 -377] 1018544 work 3. 0. sh hnu_ckq R 4 -05: 29: 42 3 cn[1110 -1112] 1018545 work 3. 2. sh hnu_ckq R 4 -05: 29: 37 3 cn[1304 -1306] 1018547 work L-400 K. s hnu_ckq R 4 -04: 11: 59 4 cn[302 -305] 1018560 work csz. SWFe- hnu_ckq R 3 -21: 22: 11 3 cn[1308 -1310] 1018561 work csz. SWFe- hnu_ckq R 3 -21: 22: 02 3 cn[1327 -1329] 1018564 work q 001 hnu_hwy R 3 -21: 01: 25 1 cn 306

查看作业明细: 用户可以通过如下命令来查看自己提交的作业明细 [cleng@ln 1%tianhe NASTRAN]$ yhcontrol show jobs 1019171 Job. Id=1019171 Name=nast 20130 User.

查看作业明细: 用户可以通过如下命令来查看自己提交的作业明细 [cleng@ln 1%tianhe NASTRAN]$ yhcontrol show jobs 1019171 Job. Id=1019171 Name=nast 20130 User. Id=cleng(1136) Group. Id=cleng(1148) Priority=1 Account=test QOS=normal WCKey=*test Job. State=RUNNING Reason=None Dependency=(null) Requeue=1 Restarts=0 Batch. Flag=1 Exit. Code=0: 0 Run. Time=00: 14 Time. Limit=UNLIMITED Time. Min=N/A Submit. Time=2015 -10 -11 T 20: 29: 18 Eligible. Time=2015 -10 -11 T 20: 29: 18 提交时间 Start. Time=2015 -10 -11 T 20: 29: 18 End. Time=Unknown Preempt. Time=None Suspend. Time=None Secs. Pre. Suspend=0 Partition=work Alloc. Node: Sid=ln 1: 41008 Req. Node. List=(null) Exc. Node. List=(null) Node. List=cn[504 -506] 提交节点 Batch. Host=cn 504 Num. Nodes=3 Num. CPUs=36 CPUs/Task=1 Req. S: C: T=*: *: * Min. CPUs. Node=4 Min. Memory. Node=0 Min. Tmp. Disk. Node=0 Features=(null) Gres=(null) Reservation=(null) Shared=0 Contiguous=0 Licenses=(null) Network=(null) Command=/vol 6/home/cleng/test/MSC/NASTRAN/. /nasat. sh 作业目录 Work. Dir=/vol 6/home/cleng/test/MSC/NASTRAN [cleng@ln 1%tianhe NASTRAN]$ yhcancel 1019171 取消作业

作业管理 u 作业提交 yhrun 交互作业提交方式 yhrun –p PARTITION –N 20 –n 240. /EXE -p,指定使用的分区

作业管理 u 作业提交 yhrun 交互作业提交方式 yhrun –p PARTITION –N 20 –n 240. /EXE -p,指定使用的分区 -N,指定要运行的节点数 -n, 指定要运行的进程数 示例: yhrun -p work –N 2 –n 24. /vasp > result. log [cleng 1@ln 3%tinhe 3]$ ls INCAR KPOINTS POSCAR POTCAR vasp [cleng 1@ln 3%tinhe 3]$ yhbrun -p work -N 2 -n 24. /vasp > results. log

u 作业提交 yhbatch 批处理作业提交方式 yhbatch –p PARTITION –N 20 –n 240. /sub. sh 示例一:

u 作业提交 yhbatch 批处理作业提交方式 yhbatch –p PARTITION –N 20 –n 240. /sub. sh 示例一: yhbatch提交的脚本中即可以包含yhrun 假设用户作业为可执行文件vasp, [cleng@ln 1 %tianhe 3]$ vi vasp. sh 编辑脚本 #!/bin/bash #!/bin/sh #SBATCH -J vasp #SBATCH -N 2 --ntasks-per-node=12 #SBATCH -p work #SBATCH –exclusive yhrun –p work –N 2 –n 24 vasp > result. log [cleng@ln 1 %tianhe 3]$ chmod +x vasp. sh 增加执行权限 [cleng@ln 1 %tianhe 3]$ yhbatch –p work –N 2 –n 24. /vasp. sh 提交作业 Submitted batch job 1018989 [cleng@ln 1 %tianhe 3]$ yhq | grep cleng 查看作业 1018929 work vasp cleng 1 R 0: 09 2 cn[252 -253] [cleng@ln 1 %tianhe 3]$

示例二: yhbatch提交的脚本中即可以包含非系统自带的mpirun等其他提交作业方式 如:Actran的可执行文件actranpy_mp需要软件自带的openmpi 的mpirun提交 作业,例如需要运行在节点cn 1103 -cn 1105,共计 3个节点 36个进程,按照软件安装 的mpirun提交任务的规则。 Step 1:编写host_list文件包含cn 1103

示例二: yhbatch提交的脚本中即可以包含非系统自带的mpirun等其他提交作业方式 如:Actran的可执行文件actranpy_mp需要软件自带的openmpi 的mpirun提交 作业,例如需要运行在节点cn 1103 -cn 1105,共计 3个节点 36个进程,按照软件安装 的mpirun提交任务的规则。 Step 1:编写host_list文件包含cn 1103 -cn 1105,如下所示: [cleng@ln 1 actran_test]$ cat host_list cn 1103 cn 1104 cn 1105 Step 2:编写脚本actran_mpi. sh #!/bin/bash #!/bin/sh #SBATCH -J actran #SBATCH -N 3 --ntasks-per-node=4 #SBATCH -p work #SBATCH –exclusive /vol 6/appsoftware/MSC/FFT/Actran_14. 1/mpi/openmpi/bin/mpirun --mca btl_tcp_if_include gn 0 --np 36 --hostfile host_list actranpy_mp –inputfile=test. edat --mem=500 --parallel=frequency

作业取消 yhcancel JOBID [cleng@ln 1 vasp]$ yhqueue JOBID PARTITION NAME USER ST TIME NODES

作业取消 yhcancel JOBID [cleng@ln 1 vasp]$ yhqueue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 1019013 u_test bash testuser 4 R 0: 08 2 cn[1062 -1063] [cleng@ln 1 vasp]$ yhcancel 1019013 yhalloc: Job allocation 1019013 has been revoked. Hangup [cleng@ln 1 vasp]$ yhqueue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) [cleng@ln 1 vasp]$

部署软件介绍 TH-1 HN大系统在共享目录下部署了常用的科学计算软件: Ø 程仿真模拟软件Ansys ,Fluent,CFX,AUTODYN, LS-DYNA /vol 6/appsoftware/ansys_inc/v 150/ansys Ø 程仿真软件 Dytran,MARC,ADAMS,NASTRAN,ACTRAN, PATRAN

部署软件介绍 TH-1 HN大系统在共享目录下部署了常用的科学计算软件: Ø 程仿真模拟软件Ansys ,Fluent,CFX,AUTODYN, LS-DYNA /vol 6/appsoftware/ansys_inc/v 150/ansys Ø 程仿真软件 Dytran,MARC,ADAMS,NASTRAN,ACTRAN, PATRAN /vol 6/appsoftware/MSC Ø 材料、生物等模拟软件均在/vol 6/appsoftware下,如NAMD,LAMMPS, siesta,CP 2 K,CPMD,ESPRESSO,DL_POLY等。 Ø 数学库均在/vol 6/appsoftware下,如FFTW,SCALAPACK,LIBXC, LAPACK,LIBINT,JPEG等。 Ø 除系统自带的mpi外,其他mpi均在/vol 6/appsoftware下,如mpich-3. 1. 4, openmpi-1. 6. 5。

部署软件环境变量加载 通过指令module avail查看可以加载的应用 [cleng@ln 0%tianhe ~]$ module avail ------------------------------- /usr/share/Modules/modulefiles -------------------------------dot module-cvs module-info modules

部署软件环境变量加载 通过指令module avail查看可以加载的应用 [cleng@ln 0%tianhe ~]$ module avail ------------------------------- /usr/share/Modules/modulefiles -------------------------------dot module-cvs module-info modules mpich 2 -x 86_64 null use. own ----------------------------------- /etc/modulefiles ----------------------------------CPMD/3 -1. 5(default) cp 2 k/2. 6. 0(default) mvapich-psm-x 86_64 openmpi-x 86_64 Gromacs/5. 0. 4(default) cp 2 k_2. 61/2. 6. 1(default) mvapich-x 86_64 MPICH/3. 1. 4(default) ansys 150/15. 0(default) fftw/3. 3. 3(default) mvapich 2 -psm-x 86_64 NAMD/2015 -01 -21(default) compat-openmpi-psm-x 86_64 intellib_dynamic/11. 1(default) mvapich 2 x 86_64 Siesta/exit compat-openmpi-x 86_64 lammps/10 -Aug 2015(default) openmpi/1. 6. 5(default) [cleng@ln 0%tianhe ~]$ 如要使用系统的cp 2 k,则输入module load cp 2 k_2. 61/2. 61即加载了cp 2 k的环境变量。

部署软件环境变量加载 如要使用系统的cp 2 k,则输入module load cp 2 k_2. 61/2. 61即加载了cp 2 k的环境变量。 卸载cp 2

部署软件环境变量加载 如要使用系统的cp 2 k,则输入module load cp 2 k_2. 61/2. 61即加载了cp 2 k的环境变量。 卸载cp 2 k环境变量,则输入module unload cp 2 k_2. 61/2. 61。具体示例如下: [cleng@ln 0%tianhe cp 2 k_test]$ which cp 2 k. popt /usr/bin/which: no cp 2 k. popt 加载前找不到cp 2 k环境变量 [cleng@ln 0%tianhe cp 2 k_test]$ module avail 查看可用加载模块 ------------------------------- /usr/share/Modules/modulefiles -------------dot module-cvs module-info modules mpich 2 -x 86_64 null use. own ----------------------------------- /etc/modulefiles -------------------CPMD/3 -1. 5(default) abaqus/6. 11(default) cp 2 k/2. 6. 0(default) mvapich-psm-x 86_64 openmpi-x 86_64 Gromacs/5. 0. 4(default) ansys 145/14. 5(default) cp 2 k_2. 61/2. 6. 1(default) mvapich-x 86_64 MPICH/3. 1. 4(default) ansys 150/15. 0(default) fftw/3. 3. 3(default) mvapich 2 -psm-x 86_64 NAMD/2015 -01 -21(default) compat-openmpi-psm-x 86_64 intellib_dynamic/11. 1(default) mvapich 2 -x 86_64 Siesta/exit compat-openmpi-x 86_64 lammps/10 -Aug 2015(default) openmpi/1. 6. 5(default) [cleng@ln 0%tianhe cp 2 k_test]$ module load cp 2 k_2. 61/2. 6. 1 选择 2. 61版本加载 [cleng@ln 0%tianhe cp 2 k_test]$ which cp 2 k. popt 显示已加载cp 2 k环境变量 /vol 6/appsoftware/cp 2 k-2. 6. 1/exe/cp 2 k. popt [cleng@ln 0%tianhe cp 2 k_test]$

软件编译与测试 编译 编译对象一般为Makefile,一般在安装包中,修改Makefile后,一般编译步骤为: make install 如果执行以上任意过程报错,可以make clean清理掉之前编译产生的文件。 另外一些软件安装包没有Makefile,需要检测程序configure检测用户的操作 环境产生对应的Makefile,基本过程如下: . /configure; make install 一般需.

软件编译与测试 编译 编译对象一般为Makefile,一般在安装包中,修改Makefile后,一般编译步骤为: make install 如果执行以上任意过程报错,可以make clean清理掉之前编译产生的文件。 另外一些软件安装包没有Makefile,需要检测程序configure检测用户的操作 环境产生对应的Makefile,基本过程如下: . /configure; make install 一般需. /configure –help查看相关的参数设置。如安装Mpich-2. 1. 5中configure 的参数设置:. /configure --prefix=/vol 6/home/cleng 1/software/mpich 2 -1. 5. 1 p 1/build --enable-f 77 -enable-fc --enable-cxx --enable-threads --with-PACKAGE=yes --with-pm=mpd CC=icc CXX=icpc F 77=ifort FC=ifort

Makefile • Makefile时由规则来组成的, 每一条规则都有三部分组 成: 目标(object), 依赖(dependency)和命令(command). sum (exe)目标 sum. o 依赖 main. o

Makefile • Makefile时由规则来组成的, 每一条规则都有三部分组 成: 目标(object), 依赖(dependency)和命令(command). sum (exe)目标 sum. o 依赖 main. o 命令 main. c main. h 目标. . . : 依赖. . . 命令 sum. c main. h sum: main. o sum. o 目标:依赖 gcc –o sum main. o sum. o main. o: main. c main. h gcc –c main. c 命令 sum. o: sum. c main. h gcc –c sum. c

Makefile sum: main. o sum. o gcc –o sum main. o sum. o main.

Makefile sum: main. o sum. o gcc –o sum main. o sum. o main. o: main. c sum. h gcc –c main. c sum. o: sum. c sum. h gcc –c sum. c 源码:main. c sum. h 编译器:gcc 头文件:sum. h 函数库:头文件声明后的函数实现

Makefile example # Makefile to compare sorting routines CC = gcc 编译器 CFLAGS =

Makefile example # Makefile to compare sorting routines CC = gcc 编译器 CFLAGS = -O –Wall INCLS = -I$(LOC)/include 头文件路径 LIBS = $(LOC)/lib/g_lib. a 各种库 $(LOC)/lib/h_lib. a LOC = /usr/local OBJS = main. o another_qsort. o chk_order. o compare. o quicksort. o $(EFILE): $(OBJS) @echo “linking …” @$(CC) $(CFLAGS) –o $@ $(OBJS) $(LIBS) $(OBJS): compare_sorts. h $(CC) $(CFLAGS) $(INCLS) –c $*. c # Clean intermediate files clean: rm *~ $(OBJS)

Makefile example SRC =. DEST =. BIN =. FFLAGS = -c -O 2 -fcray-pointer

Makefile example SRC =. DEST =. BIN =. FFLAGS = -c -O 2 -fcray-pointer LFLAGS = -L/opt/intel/Compiler/11. 1/059/mkl/lib/em 64 t -lmkl_lapack -Vaxlib -lmkl_blas 95_lp 64 -lmkl_core -lmkl_intel_lp 64 -pthread -lmkl_cdft_core 各种库 -lmkl_gnu_thread -lguide /opt/intel/Compiler/11. 1/059/lib/intel 64/libiomp 5. a - L/opt/intel/Compiler/11. 1/059/mkl/lib/em 64 t -Vaxlib CFLAGS = -c -O 2 -Wall -I/usr/local/mpi 3/include 头文件 CPP = /lib/cpp -P -C -traditional CPPFLAGS = -D__Linux -D__PGI -DFFT_DEFAULT -DPARALLEL -DMYRINET -DLINUX_IFC NOOPT_FLAG = CC = mpicc FC = mpif 90 编译器 LD = mpif 90 AR = ar

软件编译与测试 数学� 安装fftw(以fftw-3. 3. 3� 例) 1,从网上下� fftw-3. 3. 3. tar. gz�� 包; 2,通�

软件编译与测试 数学� 安装fftw(以fftw-3. 3. 3� 例) 1,从网上下� fftw-3. 3. 3. tar. gz�� 包; 2,通� ftp将文件上� 至服� 器指定目� 下; tar –xvf fftw-3. 3. 3. tar. gz 3,解� , ,在当前目� 下生成fftw-3. 3. 3文件� ; 4, � cd fftw-3. 3. 3 入� 文件� ,开始安装:. /configure --prefix=/vol 6/home/cleng/fftw-3. 3. 3 make –j 8 make install 安装完� ! 注意:. /configure --help按各自需求加关�� ,如:. /configure --prefix=/vol 6/home/cleng/fftw-3. 3. 3 --enable-shared --enable-sse 2 --enable-float --enable-mpi

软件编译与测试 编译完成后,查看是否在--prefix设定的目录下产生lib,include, bin等文件夹,并进入查看。 [cleng@ln 1 fftw-3. 3. 3]$ ls bin include lib share [cleng@ln

软件编译与测试 编译完成后,查看是否在--prefix设定的目录下产生lib,include, bin等文件夹,并进入查看。 [cleng@ln 1 fftw-3. 3. 3]$ ls bin include lib share [cleng@ln 1 lib]$ ls libfftw 3. a libfftw 3 f_mpi. la libfftw 3 f. so libfftw 3_mpi. a libfftw 3 f_mpi. so libfftw 3 f. so. 3 libfftw 3_mpi. la libfftw 3 f_mpi. so. 3 libfftw 3 f. so. 3. 3. 2 pkgconfig libfftw 3 f_mpi. a libfftw 3 f_mpi. so. 3. 3. 2 libfftw 3. la [cleng@ln 1 lib]$ cd. . /include/ [cleng@ln 1 include]$ ls fftw 3. f fftw 3. h fftw 3 l-mpi. f 03 fftw 3 -mpi. h fftw 3. f 03 fftw 3 l. f 03 fftw 3 -mpi. f 03 fftw 3 q. f 03

软件版本: lammps-10 Aug 15 编译器:mpicxx(天河系统自带) 数学库:FFTW-3. 3. 4(网上下载) 并行通信实现:MPICH 3. 1. 3 其他库:JPEG-8 B(网上下载)

软件版本: lammps-10 Aug 15 编译器:mpicxx(天河系统自带) 数学库:FFTW-3. 3. 4(网上下载) 并行通信实现:MPICH 3. 1. 3 其他库:JPEG-8 B(网上下载) 1,FFTW-3. 3. 4安装 …. 如前所述,省略。 2,JPEG-8 B安装 下载,解压,tar -xvf jpegsrc. v 8 b. tar. gz,产生jpeg-8 b文件夹,在别的 目录下新建一个文件夹JPEG,如路径为/vol 6/home/cleng/lammps 10 Aug 15/jpeg 进入解压文件夹jpeg-8 b,执行:. /configure --prefix=/vol 6/home/cleng/lammps-10 Aug 15/jpeg make install

lammps-10 Aug 15的安装 [cleng@ln 1%tianhe cleng] $ tar –xvf lammps-10 Aug 15. tar [cleng@ln

lammps-10 Aug 15的安装 [cleng@ln 1%tianhe cleng] $ tar –xvf lammps-10 Aug 15. tar [cleng@ln 1%tianhe cleng] $ cd /lammps-10 Aug 15/src/MAKE [cleng@ln 1%tianhe MAKE]$ vi Makefile. mpi 9 CC = mpicxx 10 CCFLAGS = -g -O -DLAMMPS_MEMALIGN=64 -restrict -nofor-main 14 LINK = mpicxx 42 MPI_INC = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1 44 MPI_LIB = -lmpi -lpthread 53 FFT_INC = -DFFT_FFTW 3 -I/vol 6/appsoftware/fftw-3. 3. 4/build/include 54 FFT_PATH = -L/vol 6/appsoftware/fftw-3. 3. 4/build/lib 55 FFT_LIB = -lfftw 3 64 JPG_INC = -I/vol 6/home/cleng/lammps-10 Aug 15/jpeg/include 65 JPG_PATH = -L/vol 6/home/cleng/lammps-10 Aug 15/jpeg/lib 66 JPG_LIB = -ljpeg [cleng@ln 1%tianhe MAKE]$ cd. . [cleng@ln 1%tianhe src]$ make yea-all 选择所有模块 停掉以下模块 [cleng@ln 1%tianhe src]$ make no-USER-COLVARS no-USER-QUIP no-KOKKOS no -USER-SMD no-MEAM no-REAX no-POEMS no-KIM no-GPU no-USER-ATC no. USER-CUDA no-USER-AWPMD no-USER-OMP no-VORONOI

[cleng@ln 1%tianhe src]$ make mpi 中间可能出现以下错误,如No rule to make target `. . /lib/qmmm/Makefile. lammps‘.

[cleng@ln 1%tianhe src]$ make mpi 中间可能出现以下错误,如No rule to make target `. . /lib/qmmm/Makefile. lammps‘. Stop. 则需进入对应. . /lib/qmmm中修改,如此处则需要执行cp Makefile. gfortran Makefile. pammps。总之具体问题具体分析。 最后在src所在目录下生成可执行文件lmp_mpi ,加入环境变量. bashrc中 #-----LAMMPS------export PATH=/vol 6/home/cleng/lammps-10 Aug 15/src: $PATH export LD_LIBRARY_PATH=/vol 6/appsoftware/fftw 3. 3. 4/build/lib: /vol 6/home/cleng/lammps-10 Aug 15/jpeg/lib: $LD_LIBRARY_PATH [cleng@ln 1%tianhe ~]$ cd /vol 6/home/cleng/lammps-10 Aug 15/examples/dipole 进入算例文件夹 [cleng@ln 1%tianhe dipole]$ ls in. dipole log. 15 May 15. dipole. g++. 1 log. 15 May 15. dipole. g++. 4 log. lammps [cleng@ln 1%tianhe dipole]$ source ~/. bashrc 使修改后的环境变量生效 [cleng@ln 1%tianhe dipole]$ yhrun -p work -N 2 -n 24 lmp_mpi -in in. dipole > dipole. out 2>&1 & [7] 22074 提交作业,算例为in. diple [cleng@ln 1%tianhe dipole]$ tail -f dipole. out 实时查看作业运行 Histogram: 1 0 0 2 0 3 5 0 7 6 Nghost: 51. 0417 ave 57 max 44 min Dangerous builds = 0

具体软件测试 NAMD为例: 生成的可执行文件为:namd 2, 将其通过bashrc加入环境变量 Step 1: 打开家目录下的bashrc文件夹: vi ~/. bashrc Step 2:将namd 2所在路径加入环境变量,如下:

具体软件测试 NAMD为例: 生成的可执行文件为:namd 2, 将其通过bashrc加入环境变量 Step 1: 打开家目录下的bashrc文件夹: vi ~/. bashrc Step 2:将namd 2所在路径加入环境变量,如下: #-----------NAMD------------------------export PATH= /vol 6/home/cleng/software/NAMD_CVS-2015 -0121_Source/Linux-x 86_64 -g++ : $PATH Step 3: 使环境变量生效: source ~/. bashrc 作业提交:yhrun -N 2 -n 20 -p work namd 2 +idlepoll apoa 1. namd > result. log 2>&1 &

通过脚本方式提交:(不用再bashrc中添加环境变量) [cleng@ln 1%tianhe apoa 1]$ cat NAMD. sh #!/bin/bash #!/bin/sh #SBATCH -J NAMD #SBATCH

通过脚本方式提交:(不用再bashrc中添加环境变量) [cleng@ln 1%tianhe apoa 1]$ cat NAMD. sh #!/bin/bash #!/bin/sh #SBATCH -J NAMD #SBATCH -N 2 --ntasks-per-node=10 #SBATCH -p work #SBATCH --exclusive yhrun -p work -N 2 -n 20 /vol 6/home/cleng/software/NAMD_CVS 2015 -01 -21_Source/Linux-x 86_64 -g++/namd 2 +idlepoll apoa 1. namd > result. log [cleng@ln 1%tianhe apoa 1]$ yhbatch -p work -N 2 -n 20. /NAMD. sh Submitted batch job 1025946 [cleng@ln 1%tianhe apoa 1]$ yhq | grep cl 1025946 work NAMD cleng R 0: 04 2 cn[476 -477] [cleng@ln 1%tianhe apoa 1]$

计算结果 ENERGY: 497 20212. 6670 20059. 9184 5713. 4613 175. 7242 -335952. 5064 23166.

计算结果 ENERGY: 497 20212. 6670 20059. 9184 5713. 4613 175. 7242 -335952. 5064 23166. 3546 0. 0000 44261. 0294 -222363. 3515 161. 0095 -266624. 3809 -222042. 7505 161. 0095 -421. 0235 -2316. 7929 921491. 4634 421. 0235 -2316. 7929 ENERGY: 498 20182. 0167 19957. 1217 5718. 5597 177. 2604 -336366. 4949 23189. 3585 0. 0000 44728. 2541 -222413. 9238 162. 7091 -267142. 1779 -222044. 5224 162. 7091 -993. 4683 -2331. 6475 921491. 4634 993. 4683 -2331. 6475 ENERGY: 499 20158. 0680 19847. 7302 5722. 4090 178. 6361 -337058. 4833 23219. 2403 0. 0000 45439. 2653 -222493. 1344 165. 2956 -267932. 3997 -222047. 2067 165. 2956 -2020. 8692 -2376. 3392 921491. 4634 2020. 8692 -2376. 3392 Info: Benchmark time: 20 CPUs 0. 0692415 s/step 0. 801407 days/ns 355. 215 MB memory TIMING: 500 CPU: 36. 0582, 0. 068698/step Wall: 36. 0582, 0. 0686981/step, 0 hours remaining, 355. 214844 MB of memory in use. ETITLE: TS BOND ANGLE DIHED IMPRP ELECT VDW BOUNDARY MISC KINETIC TOTAL TEMP POTENTIAL TOTAL 3 TEMPAVG PRESSURE GPRESSURE VOLUME PRESSAVG GPRESSAVG ENERGY: 500 20974. 8938 19756. 6569 5724. 4523 179. 8271 -337741. 4190 23251. 1007 0. 0000 45359. 0791 -222495. 4091 165. 0039 -267854. 4881 -222061. 0909 165. 0039 -3197. 5168 -2425. 4140 921491. 4634 3197. 5168 -2425. 4140 WRITING EXTENDED SYSTEM TO OUTPUT FILE AT STEP 500 WRITING COORDINATES TO OUTPUT FILE AT STEP 500 The last position output (seq=-2) takes 0. 001 seconds, 363. 148 MB of memory in use WRITING VELOCITIES TO OUTPUT FILE AT STEP 500 The last velocity output (seq=-2) takes 0. 001 seconds, 363. 148 MB of memory in use ========================== Wall. Clock: 60. 072002 CPUTime: 60. 072002 Memory: 363. 148438 MB [Partition 0][Node 0] End of program [cleng@ln 1%tianhe apoa 1]$

CP 2 K测试 [cleng 1@ln 1%tinhe benchmark]$ cat cp 2 k. sh #!/bin/bash #!/bin/sh

CP 2 K测试 [cleng 1@ln 1%tinhe benchmark]$ cat cp 2 k. sh #!/bin/bash #!/bin/sh #SBATCH -J cp 2 k #SBATCH -N 2 --ntasks-per-node=12 #SBATCH -p work #SBATCH --exclusive #--------INPUT && OUTPUT---------INPUTFILE=H 2 O-64. inp OUTPUTFILE=H 2 O-64_result. out #------ENVIRONMENT---------export LD_LIBRARY_PATH=/vol 6/intellib/mkl: /vol 6/intellib/lib: $LD_LIBRARY_PATH export PATH=/vol 6/home/cleng 1/cp 2 k-2. 6. 0/exe/cp 2 k: $PATH cp 2 k=`which cp 2 k. popt` echo "$cp 2 k" #-------EXECUTION-----time yhrun -p work -N 2 -n 24 $cp 2 k -i $INPUTFILE -o $OUTPUTFILE [cleng 1@ln 1%tinhe benchmark]$ yhbatch -p work -N 2 -n 24. /cp 2 k. sh Submitted batch job 1029122 [ [cleng 1@ln 1%tinhe benchmark]$ yhq | grep cleng 1 1029122 work cp 2 k cleng 1 R 0: 00 2 cn[1188 -1189] [cleng 1@ln 1%tinhe benchmark]$ tail -f H 2 O-64_result. out max_diis: 4 ---------------------------- eps_scf: 1. 00 E-05 eps_scf_history: 0. 00 E+00 eps_diis: 1. 00 E-01 eps_eigval: 1. 00 E-05

注意:并非所用核数越多速度越快,如cp 2 k其中的benchmark。 /vol 6/home/cleng 1/software/cp 2 k-2. 6. 0/tests/QS/benchmark

注意:并非所用核数越多速度越快,如cp 2 k其中的benchmark。 /vol 6/home/cleng 1/software/cp 2 k-2. 6. 0/tests/QS/benchmark

Ansys版本:ANSYS 15. 0 Ansys环境变量: source /vol 6/appsoftware/ansys_inc/ansys. sh Ansys执行文件提交结构: ansys 150 –b –s –dis

Ansys版本:ANSYS 15. 0 Ansys环境变量: source /vol 6/appsoftware/ansys_inc/ansys. sh Ansys执行文件提交结构: ansys 150 –b –s –dis –machines cn 71: 2: cn 72: 2 –i bm-5. dat –o bm -5. out **machines后面接参与计算的机器及用到的核数 **bm-1. dat为算题文件,内容如下: RESUME, 文件名, db /solu solve 中心提供的并行脚本如下:

并行脚本:ansys. sh [cleng@ln 1 test 1]$ cat ansys. sh #!/bin/bash #!/bin/sh 作业名 总节点数 #SBATCH

并行脚本:ansys. sh [cleng@ln 1 test 1]$ cat ansys. sh #!/bin/bash #!/bin/sh 作业名 总节点数 #SBATCH -J ansys #SBATCH -N 2 --ntasks-per-node=4 每个节点核数 #SBATCH -p work 分区名 #SBATCH --exclusive 输入文件 INPUTFILE=bm-5. dat OUTPUTFILE=result. out 输出文件 yhrun -N 2 hostname -s > ${SLURM_JOBID}. list #source environment 总节点数 source /vol 6/appsoftware/ansys_inc/ansys. sh ANSYS=`which ansys 150` # format the host list for mechanical mech_hosts="" for host in `sort -u ${SLURM_JOBID}. list`; do n=`grep -c $host ${SLURM_JOBID}. list` mech_hosts=$(printf "%s%s: %d: " "$mech_hosts" "$host" "$n") done # run the solver echo "hosts ${mech_hosts%%: }" > ${SLURM_JOBID}. log $ANSYS -dis -b -machines ${mech_hosts%%: } -i $INPUTFILE -o pcg${SLURM_JOBID}. out

(1)命令流格式文件计算 如果ansys 计算文件是命令流格式文件(如bm-5. dat),修改脚本参数,提交: yhbatch –p work –N 2 –n 8. /ansys. sh [cleng@ln

(1)命令流格式文件计算 如果ansys 计算文件是命令流格式文件(如bm-5. dat),修改脚本参数,提交: yhbatch –p work –N 2 –n 8. /ansys. sh [cleng@ln 1%tianhe test 1]$ yhbatch -p work -N 2 -n 8. /ansys. sh Submitted batch job 1019161 [cleng@ln 1%tianhe test 1]$ yhq | grep cleng 1019161 work ansys cleng R 0: 10 2 cn[252 -253] [cleng@ln 1%tianhe test 1]$ tail -f pcg 1019161. out 实时查看作业输出状态 will expire in 20 day(s)! Please contact your ANSYS Sales Representative or ANSYS, Inc. *** WARNING *** CP = 1. 289 TIME= 20: 02: 51 It has been detected that the communication speed for Distributed ANSYS between processor 0 and processor 5 is only 284026 MB/sec. In order to achieve optimal performance it is recommended that the minimal interconnect speed between any set of processors be at least 1000 MB/sec. ^C [cleng@ln 1%tianhe test 1]$

Fluent版本:Fluent 15. 0. 0 Fluent环境变量: source /vol 6/appsoftware/ansys_inc/ansys. sh Fluent执行文件提交结构: fluent –ssh –g 3

Fluent版本:Fluent 15. 0. 0 Fluent环境变量: source /vol 6/appsoftware/ansys_inc/ansys. sh Fluent执行文件提交结构: fluent –ssh –g 3 d –t 8 –cnf=. /hostlist –pethernet –mpi=pcmpi –i pingban. jou –o test. out **-t 8表明一共要用到的核数 **hostlist是参与计算的机器信息列表,内容为: cn 71 cn 72 **pingban. jou内容如下: /file/read-case hl. cas /solve/iterate 100 /file/write-case-data /home/ansystest/…. /fluent/test exit 该提交模式需要用户提交作业前将指定的的节点数写入hostlist中。

并行脚本:parallel_fluent. sh [cleng@ln 1%tianhe fluent-test]$ cat parallel_fluent. sh #!/bin/bash #!/bin/sh #SBATCH -J fluent #SBATCH

并行脚本:parallel_fluent. sh [cleng@ln 1%tianhe fluent-test]$ cat parallel_fluent. sh #!/bin/bash #!/bin/sh #SBATCH -J fluent #SBATCH -N 2 --ntasks-per-node=4 #SBATCH -p work #SBATCH --exclusive #file INPUTFILE=pingban. jou # yhrun -N 2 hostname -s > hostlist #source environment source /vol 6/appsoftware/ansys_inc/ansys. sh fluent=`which fluent` # run the solver $fluent -ssh -g 3 d -t 8 -cnf=. /hostlist -pethernet -mpi=pcmpi -i $INPUTFILE [cleng@ln 1%tianhe fluent-test]$ yhbatch –p work –N 2 –n 8. /parallel_fluent. sh 脚本中各参数释义参见ansys. sh,通过该脚本可自动抓取节点的hostlist中, 毋须提前手写hostlist!

CFX版本:CFX 15. 0 CFX环境变量: source /vol 6/appsoftware/ansys_inc/ansys. sh CFX执行文件提交结构: CFX: cfx 5 solve –def

CFX版本:CFX 15. 0 CFX环境变量: source /vol 6/appsoftware/ansys_inc/ansys. sh CFX执行文件提交结构: CFX: cfx 5 solve –def Benchmark. def –par-dist cn 71*4, cn 72*4 –start-method “Platform MPI Distributed Parallel” **-par-dist后面接参与计算的机器及核数,以逗号分隔

[cleng@ln 1%tianhe CFX-test]$ cat CFX_Parallel. sh #!/bin/bash #!/bin/sh #SBATCH -J cfx #SBATCH -N 2

[cleng@ln 1%tianhe CFX-test]$ cat CFX_Parallel. sh #!/bin/bash #!/bin/sh #SBATCH -J cfx #SBATCH -N 2 --ntasks-per-node=4 #SBATCH -p work #SBATCH --exclusive INPUTFILE=Benchmark. def OUTPUTFILE=1. out yhrun -N 2 hostname -s > ${SLURM_JOBID}. list source /vol 6/appsoftware/ansys_inc/ansys. sh CFX=`which cfx 5 solve` mech_hosts="" for host in `sort -u ${SLURM_JOBID}. list`; do n=`grep -c $host ${SLURM_JOBID}. list` mech_hosts=$(printf "%s%s*%d, " "$mech_hosts" "$host" "$n") done echo "hosts ${mech_hosts%%, }" > ${SLURM_JOBID}. log cd output $CFX -def. . /$INPUTFILE -par-dist ${mech_hosts%%, } -start-method "Platform MPI Distributed Parallel" [cleng@ln 1%tianhe CFX-test]$ yhbatch –p work –N 2 –n 8. / CFX_Parallel. sh

Nastran版本:Nastran 2013 Nastran环境变量: source /vol 6/appsoftware/MSC. sh Nastran执行文件提交结构: 1) 单节点单CPU 计算命令格式 nast 20130 d.

Nastran版本:Nastran 2013 Nastran环境变量: source /vol 6/appsoftware/MSC. sh Nastran执行文件提交结构: 1) 单节点单CPU 计算命令格式 nast 20130 d. dat scr=yes 2)单节点多CPU 并行命令格式 nast 20130 d. dat dmp=n scr=yes s. rsh=ssh (n:指定的CPU 的 核数) 以上即为共享内存式计算。

并行脚本: nasat. sh #!/bin/bash #!/bin/sh #SBATCH -J actran #SBATCH -N 3 --ntasks-per-node=4 #SBATCH -p

并行脚本: nasat. sh #!/bin/bash #!/bin/sh #SBATCH -J actran #SBATCH -N 3 --ntasks-per-node=4 #SBATCH -p work #SBATCH --exclusive INPUTFILE=test. edat yhrun -N 3 hostname -s > ${SLURM_JOBID}. list INPUTFILE=oilpan. bdf yhrun -N 3 hostname -s > ${SLURM_JOBID}. list #source environment source /vol 6/appsoftware/MSC. sh nast=`which nast 20130` # format the host list for mechanical mech_hosts="" for host in `sort -u ${SLURM_JOBID}. list`; do n=`cat ${SLURM_JOBID}. list | wc -l` mech_hosts=$(printf "%s%s: " "$mech_hosts" "$host" ) done echo "hosts=${mech_hosts%%: }" > ${SLURM_JOBID}. log $nast $INPUTFILE dmp=$n hpmpi=yes scr=yes s. rsh=ssh hosts=${mech_hosts%%: } 参数设置参考ansys示例 [cleng@ln 1%tianhe NASTRAN]$ yhbatch -p work -N 3 -n 12. /nasat. sh

Dytran版本:Dytran 2013 Dytran环境变量: source /vol 6/appsoftware/MSC. sh Dytran执行文件提交结构: 假设计算文件的名称为:d. dat (Dytran 的输入文件其后缀是固定的,即. dat) 1)

Dytran版本:Dytran 2013 Dytran环境变量: source /vol 6/appsoftware/MSC. sh Dytran执行文件提交结构: 假设计算文件的名称为:d. dat (Dytran 的输入文件其后缀是固定的,即. dat) 1) 单节点单CPU 计算命令格式: dytran jid=d 注意:参数jid 后面直接跟文件名,不带后缀。 2) 并行命令格式(仅针对流固耦合问题) dytran jid=f 01 b ncpus=4 dmp=yes 目前Dytran 在中心集群上仅支持单机多核并行。 因此单机计算需要先用yhalloc分配计算节点,再进入计算节点提交命令。 [cleng@ln 1 Dytran] yhalloc –p work –w cn 123 [cleng@ln 1 Dytran] ssh cn 123 [cleng@ln 1 Dytran] source /vol 6/appsoftware/MSC. sh [cleng@ln 1 Dytran] dytran jid=f 01 b ncpus=12 dmp=yes

Actran版本:Actran 2014. 1 Actran环境变量: source /vol 6/appsoftware/MSC. sh source /vol 6/appsoftware/MSC/FFT/actran_14. 1 Actran执行文件提交结构: 1)

Actran版本:Actran 2014. 1 Actran环境变量: source /vol 6/appsoftware/MSC. sh source /vol 6/appsoftware/MSC/FFT/actran_14. 1 Actran执行文件提交结构: 1) 单机多核并行 actranpy. sh --np=4 ( 使用 4 核, 可以设定为其它值。) --inputfile=test. edat --parallel=frequency -m 1000 2) 多机多核并行 /vol 6/appsoftware/MSC/FFT/Actran_14. 1/mpi/openmpi/bin/mpirun -np 4 --hostfile host_list /vol 6/appsoftware/MSC/FFT/Actran_14. 1/bin/actranpy_mp --inputfile=test. edat -mem=500 --parallel=frequency (-np为总核数) 其中host. list 是计算节点文件名,可任意取名。内容如下: cn 1188 cn 1189 cn 1190

Actran并行脚本:actran_mpi. sh #!/bin/bash #!/bin/sh #SBATCH -J actran #SBATCH -N 3 --ntasks-per-node=4 #SBATCH -p work

Actran并行脚本:actran_mpi. sh #!/bin/bash #!/bin/sh #SBATCH -J actran #SBATCH -N 3 --ntasks-per-node=4 #SBATCH -p work #SBATCH --exclusive INPUTFILE=test. edat yhrun -N 3 hostname -s > ${SLURM_JOBID}. list #source environment source /vol 6/appsoftware/MSC. sh source /vol 6/appsoftware/MSC/FFT/actran_14. 1 actran=`which actranpy_mp` # format the host list for mechanical mech_hosts="" for host in `sort -u ${SLURM_JOBID}. list`; do n=`cat ${SLURM_JOBID}. list | wc -l` done # run the solver sort ${SLURM_JOBID}. list | awk '{if($0!=line)print; line=$0}' > host_list mpirun --mca btl_tcp_if_include gn 0 --np $n --hostfile host_list $actran --inputfile=$INPUTFILE -mem=500 --parallel=frequency [cleng@ln 1 actran_test]$ yhbatch -p work -N 3 -n 12. /actran_mpi. sh Submitted batch job 1019037