豪爽的针织衫 · python3压缩和解压文件案例总结_pyt ...· 1 年前 · |
细心的桔子 · SpringData JPA ...· 1 年前 · |
想发财的苹果 · 三大神器助力Python提取pdf文档信息- ...· 1 年前 · |
酷酷的水煮鱼 · Spring Cloud (六)单点登录 - 知乎· 1 年前 · |
高性能计算集群提供了安全多样的 远程登录 方法,使用 SFTP、ZMODEM、云盘等多种方式可以进行数据传输。集群已 集成云盘 便捷同步和备份数据,如数据量巨大可采用移动存储直接进行数据拷贝,主要文件数据请自行备份!注意查看组和用户的的存储配额情况,满了就无法写入数据了。
禁止在登录节点或计算节点直接运行计算程序,用户必须通过作业调度系统 提交作业 并 控制作业 ,通过 容器化 技术可以在完全自主和隔离的环境中运行程序。 海量作业 需要进行优化以便管理, 查看信息 可见作业调度和集群等整体情况。
集群有丰富的种类各异 计算资源 ,有详细的描述和配置信息,用户可以根据自己的需求进行选择。 存储资源 中的高性能的全闪Burst Buffer为所有文件系统提供了高速缓存,可大幅提高IO密集型作业的性能。
集群在
/fs00/software/
中安装有大量的
软件资源
,如
GNU
、
Intel
、
NVIDIA
、
AMD
的编译器和数学库等,常用的
计算资源
和
支撑软件
。
集群的所有运行监控 运行监控 数据全部公开访问,所有维护操作都记录在 维护记录 中,其中对用户有显著影响和重大维护均在 维护日志 中列出。
请用户仔细阅读使用手册,如有疑问可以通过QQ群、邮件和电话咨询。
地址:江苏省南京市鼓楼区金银街15号唐仲英楼
电话:025-83621186
邮箱: yaoge@nju.edu.cn
QQ群:1406661 公众号:微结构eScience
YaoGe123
,手机APP动态口令是
123456
,则输入
YaoGe123 123456
)
YaoGe123
,手机APP动态口令是
123456
,则输入
YaoGe123 123456
)
/fsa/home/yaoge123
,则SFTP路径为
/hpc_login1 sftp (10.1.0.101)/self/fsa/home/yaoge123
$
结尾($+空格)
为方便大数据传输,中心提供数据拷贝服务,用户需提供支持 USB 3.0 接口的大容量移动硬盘存储设备,存储设备应为空且文件系统格式化为 ext4/XFS/exFAT ,并告知需要拷贝数据的目录(绝对路径),保证目录的容量小于移动存储的空余空间。
高性能计算集群和 云盘 已紧密集成。
并行文件系统fsa等有存储空间配额,存储空间收费按照配额收费。
可以使用命令
myquota
查看配额,用户和组配额同时生效。用户或组占用存储空间超过配额但是<10%的,可以在7天宽限期内降低至配额以内,超期将无法写入任何数据;超过配额>10%,立刻无法写入任何数据,需要降低至配额以内才能写入数据。
仅限受邀用户测试,请先申请测试再使用
参考上述远程控制-登录方式链接内容,并合并覆盖以下内容:
高性能计算集群用户可以使用集群账号直接登录云盘,用户名为
集群账号@hpc.nju.edu.cn
,密码即集群账号密码;如集群账号为
yaoge
,用户名填写
yaoge@hpc.nju.edu.cn
。首次使用需要登录网页端激活账号,但集群账号不能使用云盘的上下传外链功能。
云盘上的集群账号与南京大学统一身份认证账号相互独立,如集群账号
yaoge@hpc.nju.edu.cn
和南京大学统一身份认证账号
0102003
是两个完全独立的账号,需要分别激活才能使用。
通过云盘的多平台多终端同步功能,可将集群中的目录和本地计算机的目录同步,对本地目录的操作几乎立刻反应在集群的目录中,不再需要通过 SFTP 上下传文件。
登录节点已安装云盘同步客户端和挂载盘客户端
获取Token(
<username>
替换为集群账号,
<password>
替换为密码)
curl -d 'username=<username>@hpc.nju.edu.cn' -d 'password=<password>' https://box.nju.edu.cn/api2/auth-token/
创建配置文件~/seadrive.conf
,<username>
替换为集群账号,<token>
替换为上一步的返回值
[account]
server = https://box.nju.edu.cn
username = <username>@hpc.nju.edu.cn
token = <token>
is_pro = true
[general]
client_name = hpc-login
[cache]
size_limit = 10GB
clean_cache_interval = 10
启动挂载盘,命令在前台运行,新开一个窗口进行其它操作
seadrive -c ~/seadrive.conf -f -d ~/.seadrive/data -l ~/.seadrive/data/logs/seadrive.log ~/SeaDrive
如果报错 Transport endpoint is not connected
,执行:fusermount -u ~/SeaDrive
~/SeaDrive
目录就是云盘挂载在本地的目录,可以直接读写访问
同步命令行客户端
创建客户端本地数据目录(目录名可更改)
mkdir ~/Seafile
初始化客户端并指定本地数据目录(上一步创建的目录)
seaf-cli init -d ~/Seafile
启动客户端
seaf-cli start
列出云盘资料库ID(<username>
替换为集群账号)
seaf-cli list-remote -s https://box.nju.edu.cn -u <username>@hpc.nju.edu.cn
将本地目录与云盘资料库同步(<library-id>
替换为上一步列出的某个资料库ID,<folder>
替换为本地目录)
seaf-cli sync -s https://box.nju.edu.cn -u <username>@hpc.nju.edu.cn -l <library-id> -d <folder>
将云盘资料库下载到本地目录
seaf-cli download -s https://box.nju.edu.cn -u <username>@hpc.nju.edu.cn -l <library-id> -d <folder>
查看当前同步状态
seaf-cli status
解除本地目录同步
seaf-cli desync -d <folder>
停止客户端
seaf-cli stop
集群使用Environment Modules以模块的形式对环境变量进行管理。在高性能计算集群系统中,安装有多种软件及其不同版本,它们需要设置不同的环境变量,Environment Module可以将这些环境变量做成模块文件(modulefile)。模块可以被加载(load)、卸载(unload)、切换(switch)等,这些操作会改变相应的环境变量设置,让用户方便的在不同环境之间切换。相比将环境变量设置写入/etc/profile、~/.bashrc或~/.bash_profile,Environment Module操作只影响当前用户的当前登录环境;相比直接source文件,Environment Module的操作可以撤销(卸载)。普通用户还可以自己编写module,具有很好的定制性。用户不仅可以在命令行中Environment Modules,也能在作业提交脚本中使用,对编译和计算环境都能够很好的控制。
显示module帮助:module help
显示所有可用模块:module avail
显示已加载模块:module list
加载模块:module load MODULEFILE
卸载模块:module unload MODULEFILE
切换模块:module switch OLD_MODULEFILE NEW_MODULEFILE(等价于:module unload OLD_MODULEFILE; module load NEW_MODULEFILE)
卸载所有已加载模块:module purge
显示模块说明:module whatis MODULEFILE
显示模块内容:module display MODULEFILE
非 Bash
使用非 Bash 作为 Login Shell 的用户,请在作业提交脚本的首行指明 Shell 或使用 bsub 选项 -L 指定作业运行时 Login Shell 为 Bash
如 Login Shell 为 tcsh,使用下面两种方法中的一种
#!/bin/tcsh #首行指明Shell
#BSUB ...
#BSUB -L /bin/bash #指定运行时Login Shell为Bash
$ module avail #查看所有可用模块
------------------------------ /fs00/software/modulefiles ------------------------------
gcc/5.2.0 impi/5.0.3.048
iccifort/15.0.3 ips/2011sp1u3
ics/2013 ips/2015u3
ics/2013sp1u1 openmpi/1.10.0-gcc-5.2.0
imkl/11.2.3 openmpi/1.10.0-iccifort-15.0.3
$ module list #显示已加载模块
No Modulefiles Currently Loaded. #没有模块被加载
$ icc --version #故icc找不到
-bash: icc: command not found
$ module whatis ips/2015u3 #查看模块说明
ips/2015u3 : Intel Parallel Studio XE 2015 Update 3 Cluster Edition
$ module load ips/2015u3 #加载模块
$ icc --version
icc (ICC) 15.0.3 20150407
$ module list #显示已加载模块
Currently Loaded Modulefiles:
1) ips/2015u3
$ module unload ips/2015u3 #卸载模块
集群使用作业调度系统管理所有计算作业,该系统接受用户的作业请求,并将作业合理的分配到合适的节点上运行,因此所有用户均应通过作业调度系统提交计算作业,不可直接在任何节点上直接运行。用户使用bsub
命令向作业调度系统提交作业,bsub
选项非常繁多,可对作业进行非常细致的控制,这里简要介绍常用选项和方法。
bsub 使用方式
命令行方式
bsub [options] command [arguments]
[options]
为 bsub 的选项,可以设定队列、CPU核数等
command
为计算程序,如果是 MPI 并行程序需要使用 mpirun 启动
[arguments]
为计算程序的参数
例:提交一个作业到 e5v3ib 队列,需要24核的 MPI 并行程序
$ bsub -q e5v3ib -n 24 mpirun ./app
Job <3206000> is submitted to queue <e5v3ib>
bsub < jobfile
jobfile 为作业的 shell 脚本文件,文件名任意且不需要运行权限,脚本内容如下:
#BSUB [options]
command [arguments]
脚本中以#BSUB
开头的行后跟bsub
的选项,其它行为作业运行脚本
例:提交一个作业到 e5v3ib 队列,需要48核,需要大内存节点,作业名为 MgSiO3,标准输出文件为out
,标准错误输出文件为err
,Intel MPI 的并行作业0
$ cat job.lsf
#BSUB -q e5v3ib
#BSUB -n 48
#BSUB -J MgSiO3
#BSUB -o out
#BSUB -e err
module load ips/2018u4
mpirun ./app
$ bsub < job.lsf
Job <3207099> is submitted to queue <e5v3ib>.
等价如下命令行方式
$ bsub -q e5v3ib -n 48 -J MgSiO3 -o out -e err "module load ips/2018u4;mpirun ./app"
Job <3207099> is submitted to queue <e5v3ib>.
bsub 常用选项
-J job_name
:作业名称
-n min_tasks[,max_tasks]
:作业需要CPU核数;例:需要四核 -n 4
;需要4~8核均可 -n 4,8
-m
:作业运行的节点或节点组,多个节点写在双引号内并用空格分隔,节点组对应的具体节点可用 bmgroup
命令查看,此选项很复杂。在 hostname/hostgroup 前后可用这些符号:后加!
指定头结点、后加+[num]
指定节点使用顺序。例:指定在 c04n01 和 c04n02 运行-m "c04n01 c04n02"
;指定可在 f01n01~n03,但是最希望在 f01n01、次希望在 f01n02-m "f01n01+2 f01n02+1 f01n03"
;
-R "res_req"
:资源请求串,此选项非常复杂;例:有的队列某些节点内存较大,需要大内存节点可以指定 -R largemem
-R "select[hname!=host_name]"
:排除host_name节点,如果要排除多个节点中间用&&连接,如-R "select[hname!=x001 && hname!=x002]"
排除x001和x002节点
-x
:作业需要独占节点,无论申请多少核,作业均独占所运行的节点
-W [hour:]minute
:作业运行最长时间,超过这个时间则被 kill
CPU绑定
-R affinity[core:cpubind=core:membind=localprefer:distribute=pack]
:作业调度系统将进行CPU亲和性绑定,注意可能会和程序本身(如MPI)的绑定冲突,使用前请测试!
自动重运行
-r
:如果计算节点或系统故障则自动重新运行作业
-Q "exit_code [exit_code ...]"
:根据作业退出码自动重新提交作业。使用空格分隔多个退出码,all指所有退出码,加~
排除一个或多个退出码。
-I
:交互式作业,可在作业运行期间和程序进行交互(如输入参数等),可在调试期间使用,正常计算请勿使用
-K
:等待作业执行完才返回
-i input_file
:标准输入文件
-o output_file
:标准输出文件
-e error_file
:标准错误输出文件
以上三个选项的文件名中可以包含%J
用于表示 JOBID。如果没有用-o
或-oo
指定标准输出文件,那么系统会自动设定为output_%J
;如不想要输出文件请设置-o /dev/null
更多选项见官方文档
GPU 作业
提交作业时使用 -gpu
选项申请所需的 GPU 资源,计算进程只可见作业调度系统分配的 GPU。CPU 核自动按照申请节点 GPU 的比例分配,如一节点8个 GPU 和40个 CPU 核,申请2个 GPU 则分配10个 CPU 核。
-gpu
的各个选项用:分隔,默认值为num=1:mode=shared:mps=no:j_exclusive=yes
,常用选项如下
num=number
:每台主机需要GPU的数量
mode=shared | exclusive_process
:GPU运行模式,shared
对应 Nvidia/AMD DEFAULT compute mode、exclusive_process
对应 Nvidia EXCLUSIVE_PROCESS
mps=yes | no
:开启或关闭Nvidia Multi-Process Service (MPS)。关闭MPS,多进程通过时间分片的方式共享GPU;开启MPS,多进程共享一个CUDA Context并发执行,增加了GPU利用率
aff=yes | no
:是否强制进行严格的 GPU-CPU 亲和性绑定,还需要配合-R affinity[core:cpubind=core:membind=localprefer:distribute=pack]
才能一同完成GPU-CPU亲和性绑定
一个计算任务可能分成几步,而每一步对资源的需求不同,因此需要分开提交,但这些作业之间又具有依赖关系,bsub 可使用选项 -w 'dependency_expression'指定依赖关系。如果计算任务分成几步,但是每步对资源需求一样,那么请写在一个作业任务中依次执行。
-w 'done(job_ID | "job_name")'
:需要 job_ID 或 job_name 作业完成且状态为 DONE,即退出码为0
-w 'ended(job_ID | "job_name")
':需要 job_ID 或 job_name 作业完成或退出,状态为 EXIT 或 DONE
支持逻辑表达式&& (AND)、|| (OR)、! (NOT)
孤儿作业(即依赖条件不可能满足的)1分钟后会被自动终止
更多详细信息见官方文档
MPI/OpenMP 混合作业
OpenMP (Open Multi-Processing) 是一种共享内存方式的单进程多线程并行编程技术;MPI (Message Passing Interface) 是一种多进程基于信息传递的并行编程技术。OpenMP 的特点是单节点、进程内、多线程、基于共享内存的并行运算;MPI 的特点是单或多节点、进程间、非共享内存、基于消息传递的并行运算。
混合并行编程模型构建的应用程序可以同时使用 OpenMP 和 MPI ,节点内NUMA内进程内使用 OpenMP 共享内存并行可降低内存需求,跨节点跨NUMA跨进程使用 MPI 消息传递可大规模并行。需要注意的是,并不是一个节点一个MPI进程是最优的,这往往会导致跨NUMA的内存访问,因此需要通过测试确定最佳配比。
mpirun一般会根据环境变量LSB_MCPU_HOSTS启动相应的MPI进程,因此可以通过下列方法改变此环境变量中每个节点的CPU核数,以匹配MPI/OpenMP混合作业的MPI进程分布:
#BSUB -n
指定的仍然是总CPU核数
提交作业脚本中需要在计算命令前首先运行
source /fs00/software/lsf/misc/ompthreads.sh [N]
每个 MPI 进程的 OpenMP 线程数量可以用环境变量OMP_NUM_THREADS
指定或上述命令行参数指定,同时指定时命令行参数优先,需要保证每个节点的 CPU核数可以被线程数整除!
常用环境变量
作业运行时
LSB_JOBID:作业ID
LSB_QUEUE:队列名称
LSB_JOBNAME:作业名称
LSB_DJOB_NUMPROC:分配的CPU总核数
LSB_DJOB_HOSTFILE:分配的节点列表文件,每行一个
LSB_HOSTS:分配的节点列表,每个CPU核一个节点名的纯节点列表
LSB_MCPU_HOSTS:分配的节点和核数列表,每个节点名和CPU核数的列表
LSB_DJOB_NUMPROC=6
LSB_HOSTS="node1 node1 node1 node2 node2 node2"
LSB_MCPU_HOSTS="node1 3 node2 3"
$ cat $LSB_DJOB_HOSTFILE
node1
node1
node1
node2
node2
node2
LSB_HOSTS 和 LSB_MCPU_HOSTS 以不同的格式包含相同的信息,LSB_MCPU_HOSTS 比 LSB_HOSTS 更短更精简,如果 LSB_HOSTS 超过 4096 字节,则仅有 LSB_MCPU_HOSTS。
作业脚本示例
提交一个串行作业到 e52660 队列,命令行方式和脚本方式分别为:
$ bsub -q e52660 ./app
Job <3279929> is submitted to queue <e52660>.
$ cat job.lsf
#BSUB -q e52660
./app
$ bsub < job.lsf
Job <3279930> is submitted to queue <e52660>.
MPI 并行作业
MPI程序需要使用mpirun
启动
提交一个需要48核的 Intel MPI 并行作业到 e5v3ib,命令行方式为:
$ bsub -q e5v3ib -n 48 "module load ips/2018u4;mpirun ./app"
Job <3280120> is submitted to queue <e5v3ib>.
提交一个需要48核的 Open MPI 并行作业到 e5v3ib,脚本方式为:
$ cat job.lsf
#BSUB -q e5v3ib
#BSUB -n 48
module load iccifort/15.0.3 imkl/11.2.3 openmpi/1.10.0-iccifort-15.0.3
mpirun ./app
$ bsub < job.lsf
Job <3280122> is submitted to queue <e5v3ib>.
OpenMP 并行作业
OpenMP 不能跨节点,因此-n
不能指定超过一个节点的CPU核数
提交一个需要64核的 OpenMP 并行作业到 e7v4ib,使用程序参数 -nt 指定线程数量,命令行方式为:
$ bsub -q e7v4ib -n 64 "./app-nt \$LSB_DJOB_NUMPROC"
Job <3348175> is submitted to queue <e7v4ib>.
提交一个需要64核的 OpenMP 并行作业到 e7v4ib,使用环境变量OMP_NUM_THREADS
指定线程数量,脚本方式为:
$ cat job.lsf
#BSUB -q e7v4ib
#BSUB -n 64
OMP_NUM_THREADS="$LSB_DJOB_NUMPROC"
./app
$ bsub < job.lsf
Job <3348182> is submitted to queue <e7v4ib>.
MPI/OpenMP 混合作业
每个MPI进程跑6个OpenMP线程
通过环境变量OMP_NUM_THREADS
指定
#BSUB -q 6140ib
#BSUB -n 72
export OMP_NUM_THREADS=6
source /fs00/software/lsf/misc/ompthreads.sh
module load ips/2018u4
mpirun ./run
通过命令行参数指定(有些计算程序需要通过命令行参数指定线程数量)
#BSUB -q 6140ib
#BSUB -n 72
source /fs00/software/lsf/misc/ompthreads.sh 6
module load ips/2018u4
mpirun ./openmx -nt 6
GPU 作业
提交一个需要1个 GPU 的作业到 e5v4p100ib 队列
bsub -q e5v4p100ib -gpu num=1 ./gpu_app
提交一个需要4个 GPU 的作业到 62v100ib 队列,进行 GPU-CPU 绑定
bsub -q 62v100ib -gpu "num=4:aff=yes" ./gpu_app
常用控制命令
bwait -w "wait_condition" [-t timeout]
暂停并等待作业条件满足,不满足一直暂停等待,满足则执行完毕返回。
典型用法:在脚本中不要循环使用bjobs判断作业状态,而用bwait等待作业运行完成,这样更优雅且能显著降低对集群的压力。
-w wait_condition
:要满足的等待条件,此表达式与上述bsub -w
选项的格式相同。
-t timeout
:等待条件的超时,范围为1-525600分钟,默认为一年。
为了便于管理海量的作业,可以对作业定义作业组。
作业组的名字是类似于Linux的路径名的树状结构,如作业组 /test ,而 /test/1 和 /test/2 都属于 /test
需要注意的是作业组是全局的,创建者是这个作业组的拥有者,作业组拥有者可以对这个作业组及其子组内的所有作业进行控制(哪怕这个作业是其他人提交的,拥有者也能进行控制)。如果您不想作业被别人控制,请确保提交到的作业组从/开始拥有者都是自己。
创建作业组
bgadd /test #显式创建作业组
bsub -g /test #使用bsub提交作业时指定一个不存在的作业组,则作业组会被隐式创建
查看作业组
bjgroup /test #最后一列就是作业组的拥有者,请注意拥有者也是层次继承的
删除作业组
bgdel /test #集群已经配置自动清理空的隐式创建的作业组
有了作业组以后就可以对一组作业进行控制了
bjobs -g /test #查看指定作业组的作业
bkill -g /test 0 #终止指定作业组的所有作业
作业序列是一系列作业,这些作业执行相同的操作和资源要求,但是输入输出文件不同。这些作业共享同一个作业ID,并可以通过索引来区分每个子作业。
bsub 使用 -J "arrayName[indexList, ...]"
参数命名并创建一个作业序列,也可以理解为一个作业数组,中括号里面就是数组的下标,可以是一维数组也可以是多维数组。indexList = start[-end[:step]] 下标的起始、结束和步长均可指定。
作业调度系统提供了两个运行时变量 %I 和 %J,%I 为子作业的索引值,%J 为作业ID,一般用于输入输出文件名中;以及运行时环境变量 LSB_JOBINDEX
bsub -J "myArray[1-10]" myJob #提交一个有10个子作业的作业
bsub -J "myArray[1-10]" -i "input.%I" -o "output.%I" myJob #每个子作业定义不同的输入输出文件
bkill 123[1] #杀掉 jobid 是123的第一个子作业
bkill 123 #杀掉 jobid 是123的整个作业
提交大量的作业,将使得作业的管理将变得困难,虽然可以用上述作业组和作业序列进行批量管理,但是海量作业仍然对调度系统会造成很大的压力,特别是分钟级或秒级的短作业在调度时会浪费大量的时间,因此可以根据作业情况将多个作业合并为一个作业提交。对于不同的作业可以用两种方法来进行合并:
多作业串行执行
申请1个CPU核,顺序执行每个串行作业,前一个运行完成后再运行下一个,可以将非常多的串行作业合并成一个。对于每个串行作业运行时间都很短且运行时间不一定相同的适用这种方式提交。
4个串行作业串行执行合并为一个作业,提交到x5650队列,脚本方式为:
$ cat job.lsf
#BSUB -q x5650
./a.out >& 1.out
./a.out >& 2.out
./a.out >& 3.out
./a.out >& 4.out
$ bsub < job.lsf
Job <3366369> is submitted to queue <x5650>.
多作业并行执行
申请N个CPU核,同时执行N个串行作业,N不可大于单节点CPU核数,每个串行作业运行时间需要相同,最后需要 wait 命令等待所有作业运行完毕返回。对于每个串行作业运行时间较长且运行时间都完全相同的适用这种方式提交。
12个串行作业并行执行合并为一个作业,提交到x5650队列,脚本方式为:
$ cat job.lsf
#BSUB -q x5650
#BSUB -n 12
( ./a.out >& 1.out )&
( ./a.out >& 2.out )&
( ./a.out >& 3.out )&
( ./a.out >& 4.out )&
( ./a.out >& 5.out )&
( ./a.out >& 6.out )&
( ./a.out >& 7.out )&
( ./a.out >& 8.out )&
( ./a.out >& 9.out )&
( ./a.out >& 10.out )&
( ./a.out >& 11.out )&
( ./a.out >& 12.out )
$ bsub < job.lsf
Job <3366370> is submitted to queue <x5650>.
查看所有队列:bqueues
$ bqueues
QUEUE_NAME PRIO STATUS MAX JL/U JL/P JL/H NJOBS PEND RUN SUSP
x7542! 50 Open:Active - - - - 24 0 24 0
e5645! 50 Open:Active - - - - 0 0 0 0
e52643tgb! 50 Open:Active - - - - 8 0 8 0
6226rib 30 Open:Active - - - - 0 0 0 0
5218 30 Open:Active - - - - 0 0 0 0
6230r 30 Open:Active - - - - 32 0 32 0
QUEUE_NAME
:队列名称
PRIO
:队列优先级,越大优先级越高
STATUS
:队列状态。Open/Closed 表示是否可以提交,即用户是否可以提交作业到该队列;Active/Inact 表示否可以派发,即该队列的作业是否会被分发到计算节点运行。Open:Active 表示可提交可派发,Open:Inact 表示可提交但是不派发。
NJOBS
:排队、运行和挂起的作业所占总CPU核数
PEND
:排队中的作业所需总CPU核数
RUN
:运行中的作业所占总CPU核数
SUSP
:挂起的作业所占总CPU核数
查看队列详细信息:bqueues -l
$ bqueues -l e5v3ib
QUEUE: e5v3ib
-- CPU: 2*E5-2680v3, RAM: 256GB/128GB, NET: 56Gb FDR InfiniBand
SCHEDULING POLICIES: FAIRSHARE EXCLUSIVE
FAIRSHARE_QUEUES: e5v3ib e5v3ib! e7v4ib x5650ib 6140ib 62v100ib 722080tiib 72rtxib 7702ib ……
DISPATCH_ORDER: QUEUE
USER_SHARES: [root=, 999999] ……
SHARE_INFO_FOR: e5v3ib/
USER/GROUP SHARES PRIORITY STARTED RESERVED CPU_TIME RUN_TIME ADJUST GPU_RUN_TIME
root= 999999 202255.328 0 0 8456.5 1542 0.000 0
USERS: all ~test/
HOSTS: f01+10 f02+10 f03+10 f04+10 f05s+10 f05l/
RES_REQ: span[ptile=24]
Maximum slot reservation time: 43200 seconds
lshosts #查看节点配置和资源
lshosts -gpu #查看节点GPU配置和拓扑结构
lsload #查看节点当前负载信息
lsload -gpu #查看节点GPU整体负载
lsload -gpuload #查看节点每个GPU负载
bhosts #查看所有节点状态
集群会对动力环境进行监控,遇市电中断或温度过高,将会自动终止所有作业,按照安全顺序进行关机操作。
关机时会在 /fs00/reports/bjobs/
目录下会自动保存一份作业列表备查。如文件 /fs00/reports/bjobs/bjobs.20130728070457 表明2013年07月28日07点04分57秒时刻所有作业的状态(bjobs -uall -w
的输出),同时也说明这个时间点开始自动关机。
如果温度未触及高点,但已明显增高,为了防止温度继续增高,集群会停止派发新作业,并且关闭空闲节点。
用户只能登录到登录节点,且可从登录节点登录到有自己正在运行作业的计算节点。
所有节点的用户进程都会被检查,如果发现如下情况,将会杀掉该节点此用户所有进程,并记录在 /fs00/reports/process 中
计算节点有进程未通过作业调度系统提交运行的
计算节点用户进程占用的CPU资源明显高于在作业调度系统中请求的CPU资源
登录节点用户占用大于2个CPU核心的
容器技术能够对应用及其整个运行时环境(包括全部所需文件)一起进行打包或隔离。从而可以在不同环境(如开发、测试和生产等环境)之间轻松迁移应用,同时还可保留应用的全部功能。有了容器不再需要管理员为你安装任何东西。容器是一个独立的系统,你可以在里面做任何想做的事情。
Singularity
Singularity 是一套类似于 Docker 的容器解决方案,是用于HPC容器系统。
module load singularity/latest
source /fs00/software/singularity/latest/etc/bash_completion.d/singularity
一般保存为压缩只读Singularity Image File (SIF)格式的镜像文件。
在 /fs00/software/singularity-images/
已存放了许多常用的SIF镜像文件,可直接使用。
以从 Docker Hub 等镜像仓库或镜像文件直接创建SIF镜像文件
从 Docker Hub 南大源导入镜像:singularity build ubuntu.sif docker://docker.nju.edu.cn/ubuntu
从 NVIDIA NGC 南大源导入镜像:singularity build ngc_cuda.sif docker://ngc.nju.edu.cn/nvidia/cuda
从 docker save 保存的镜像文件导入镜像:singularity build abc.sif docker-archive://abc.tar
创建沙盒目录:singularity build --fix-perms --sandbox build docker://docker.nju.edu.cn/ubuntu
进入沙盒容器:singularity shell build/
在容器中安装和编译软件:如apt
make
退出容器:exit
将沙盒打包成SIF镜像文件:singularity build abc.sif build
因登录节点无root权限,可能出现问题,因此建议在自己的系统上制作镜像。
CI创建镜像
用 git.nju.edu.cn 上的 CI/CD 自动调用 kaniko 构建 Docker 镜像,详见官方文档,然后再导入singularity build ocr.sif docker://reg.nju.edu.cn/yaoge123/ocr
提交容器作业的示例脚本
#BSUB -q 62v100ib
#BSUB -gpu num=4
/fs00/software/singularity/latest/bin/singularity exec --nv cuda.sif app
--nv
:提供NVIDIA GPUs & CUDA支持
--bind/-B src[:dest[:opts]]
:绑定额外的路径
Singularity
Singularity Documentation
Docker Hub
NVIDIA NGC
Singularity Container Services
登录节点进行网络接入认证
集群中的登录节点进行网络接入认证后即可访问互联网,认证后登录节点所有用户均可访问互联网,请注意网络安全!。
命令行登录和登出p.nju.edu.cn的方法有:
curl -X POST https://p.nju.edu.cn/api/portal/v1/login -H "Content-type: application/json" -d '{"username":"<username>","password":"<password>"}'
curl -X POST https://p.nju.edu.cn/api/portal/v1/logout -H "Content-type: application/json" -d '{}'
curl -s "http://p2.nju.edu.cn/portal_io/login?username=<username>&password=<password>"
curl -s http://p2.nju.edu.cn/portal_io/logout
计算节点访问网络
所有计算节点均不能自由无限制的访问外网(含校园网和互联网),如需访问可以单独申请开放。当前已经放开的网络访问
SSH/SFTP登录时报 no matching host key type found
SSH/SFTP登录时报错no matching host key type found. Their offer: ssh-rsa,ssh-dss
,命令行添加选项-o HostKeyAlgorithms=+ssh-rsa
或在~/.ssh/config
中增加HostKeyAlgorithms +ssh-rsa
pip安装包到自己的目录下
Python的大多数包不需要root权限也能安装,只需在pip install后加-t指定安装目录即可,如:
cd scikit-opt-master
pip install -t $HOME .
这样就装到自己的家目录下。在~/.bashrc里或者作业脚本中加上环境变量
export PYTHONPATH=$HOME:$PYTHONPATH
作业运行时实际占用CPU核数过多
在作业中限定使用的CPU核数与申请核数相同,或者尝试在提交作业时添加如下参数
#BSUB -R affinity[core:cpubind=core:membind=localprefer:distribute=pack]
特别是Python,有些Python包会自动满核并行的,需要使用环境变量(如 OMP_NUM_THREADS
)等方式设定线程数。如果实在不行可以 #BSUB -x
独占节点运行作业。
排队作业数上限
动态限制用户排队作业数不能超过MAX(1000,MIN((30000-总作业数)/10,(20000-总排队作业数)/6))
即用户排队作业数,不超过三万减去总作业数的十分之一,也不超过二万减去总排队作业数的六分之一,但保底一千个。
计算存储等所有硬件资源详情
管理、监控、认证、调度、备份和登录节点均为虚拟机,CPU/RAM/HDD根据需求分配
CPU: Intel Xeon E5-2680 v3 (12 Cores, 30MB Cache, 2.50 GHz, 9.6 GT/s QPI)
RAM: 4 Channels, DDR4-2133 ECC RDIMM, Bandwidth: 136 GB/s
Storage: Huawei Oceanstor 5500 V3, 2.5-inch 10Krpm SAS 和 2.5-inch SSD SAS 自动分层
Network: 2*10 Gigabit Ethernet
服务网络:100Mb/1Gb Ethernet
管理网络:1/10/25/40/100Gb Ethernet
高速网络:20/40/56/100/200Gb DDR/QDR/FDR/HDR InfiniBand, 100Gb Omni-Path Architecture
命名规则和优先级
每组计算节点均对应两个队列;标准队列和优先队列
标准队列(CPU和加速卡型号+网络类型):所有用户都可以提交作业到这个队列进行计算;
优先队列(CPU和加速卡型号+网络类型+!):
公共设备的优先队列:仅用于测试用途,优先级高于标准队列,但运行时间、作业数量、核数都有限制,没有抢占。
自购设备的优先队列:只允许队列购置者提交作业,优先!队列的作业如果因为资源不足而不能运行,则会抢占标准队列作业的资源,将标准队列的作业挂起(状态SSUSP),腾出资源来运行优先!队列的作业,当作业完成后被挂起的作业会自动恢复执行。被挂起的作业可以用 brequeue <JOBID>
命令杀掉并自动重新提交。
每组计算节点的所有队列共享同一个 fairshare 数据。如果一个队列中的计算机由不止一个组出资购买,那么每个组在优先!队列运行中作业所能使用的节点限制为出资购买的部分,其它队列则无此限制。
组管理员可以来信设定本组所有用户可提交的队列,默认为所有队列均可提交作业。
所有公共共享队列共享同一个 fairshare 数据,公共共享队列的作业不会被抢占。
节点数量:344
CPU插槽数:721
CPU核数:13624
GPU卡数:95
GPU CUDA核数:791168
内存:63712 GB
显存:2020 GB
双精度浮点计算理论峰值:834.67696 TFLOPS (CPU: 675.41696, GPU: 159.26)
消费级GPU单精度浮点计算理论峰值:2718.252 TFLOPS
双路CPU:e52660tgb、e52660ib、e52692v2ib、e52680v3ib、e5v3ib、e52630v4、e52640v4、e52650v4、e52680v4ib、e52682v4opa、5218、7702ib、5220r、6230r、6330ib、7k83、9654
四路CPU:e74820v4、6140ib、5218q、9242opa
高主频CPU:e52643tgb、6226rib
双路大内存:6338
四路大内存:x7542、e7v4ib
双精度GPU:e5v3k40ib、e5v4p100ib、6148v100ib、62v100ib、83a100ib
单精度GPU:722080tiib、72rtxib、813080、723080、723090ib、734090ib
CPU融合:cpu1
-R "res_req"
节点
数量
每节点
CPU核数
每节点
内存(GB)
平均每核
内存(GB)
CPU主频
(GHz)
每节点
GPU数量
每GPU
显存(GB)
root 表示节点本地根文件系统采用SSD,用户可用 /tmp 或 /var/tmp
tmp 表示节点有额外的SSD用于临时存储,用户还可用 /ssd 或 /tmp/ssd
cache 表示节点有并行文件系统的本地高速缓存。
x7542
双精度浮点计算理论峰值:0.25536 TFLOPS
购置者:李建新100%
1*IBM System x3850 X5
Hostname: x008
CPU: 4*Intel Xeon X7542 (6 Cores, 18MB Cache, 2.66 GHz, 5.86 GT/s QPI)
RAM: 512 GB, 64*8GB DDR3-978 ECC RDIMM
HDD: 146 GB 2.5in 10Krpm 3Gb/s SAS
Network: Gigabit Ethernet
e52643tgb
双精度浮点计算理论峰值:2.112 TFLOPS
购置者:万贤纲100%
10*Dell PowerEdge 12G R620
Hostname: r001-r010
CPU: 2*Intel Xeon E5-2643 (4 Cores, 10MB Cache, 3.30 GHz, 8.00 GT/s QPI)
RAM: 128 GB(r004-r010)/96 GB(r001-r003), 4 Channels, DDR3-1600 ECC RDIMM, Bandwidth: 102.4 GB/s
HDD: 600 GB 2.5in 10Krpm 6Gb/s SAS
Network: 10 Gigabit Ethernet
e52660tgb
双精度浮点计算理论峰值:4.506 TFLOPS
购置者:万贤纲100%
16*Dell PowerEdge 12G M620
Hostname: m02n01-m02n16
CPU: 2*Intel Xeon E5-2660 (8 Cores, 20MB Cache, 2.20 GHz, 8.00 GT/s QPI)
RAM: 32 GB (8x4GB), 4 Channels, DDR3-1600 ECC RDIMM, Bandwidth: 102.4 GB/s
HDD: 600 GB 2.5in 10Krpm 6Gb/s SAS
SSD: Intel SSD 730, 20nm MLC, 480GB 128TBW, 2.5in SATA 6Gb/s
SSD mounted at /ssd & /tmp/ssd
Network: 10 Gigabit Ethernet
e52660ib
双精度浮点计算理论峰值:3.379 TFLOPS
购置者:王炜100%
12*Dell PowerEdge 12G M620
Hostname: m03n01-m03n12
CPU: 2*Intel Xeon E5-2660 (8 Cores, 20MB Cache, 2.20 GHz, 8.00 GT/s QPI)
RAM: 32 GB (8x4GB), 4 Channels, DDR3-1600 ECC RDIMM, Bandwidth: 102.4 GB/s
HDD: 600 GB 2.5in 10Krpm 6Gb/s SAS (m03n01-m03n06) / 300 GB 2.5in 10Krpm 6Gb/s SAS (m03n07-m03n12)
Network: Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
e52692v2ib
双精度浮点计算理论峰值:16.896 TFLOPS
购置者:孙建75%,王强华25%
40*Inspur NX5440
Hostname: i01n01-i01n20 i02n01-i02n20
CPU: 2*Intel Xeon E5-2692 v2 (12 Cores, 30MB Cache, 2.20 GHz, 8 GT/s QPI)
RAM: 64 GB (8x8GB), 4 Channels, DDR3-1866 ECC RDIMM, Bandwidth: 119.4 GB/s
HDD: 600 GB 2.5in 10Krpm 6Gb/s SAS
Network: Gigabit Ethernet, 40 Gbit/s QDR InfiniBand
e52680v3ib
双精度浮点计算理论峰值:24.96 TFLOPS
购置者:张海军100%
26*HP BladeSystem ProLiant BL460c Gen9
Hostname: s03n01-s03n13 s04n01-s04n13
CPU: 2*Intel Xeon E5-2680 v3 (12 Cores, 30MB Cache, 2.50 GHz, 9.6 GT/s QPI)
RAM: 128 GB ([s03n01-s03n13 s04n01-s04n02] 8x16GB / [s04n03-s04n13] 16x8GB), 4 Channels, DDR4-2133 ECC RDIMM, Bandwidth: 136 GB/s
HDD: 300 GB 2.5in 10Krpm 6Gb/s SAS
Network: Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
e5v3ib
双精度浮点计算理论峰值:67.2 TFLOPS
购置者:公共共享100%
70*Lenovo Flex System x240 M5
Hostname: f01n01-f01n14 f02n01-f02n14 f03n01-f03n14 f04n01-f04n14 f05n01-f05n14
CPU: 2*Intel Xeon E5-2680 v3 (12 Cores, 30MB Cache, 2.50 GHz, 9.6 GT/s QPI)
RAM: [f05n05-f05n14] 256 GB (8x32GB) / [f01n01-f05n04] 128 GB (8x16GB), 4 Channels, DDR4-2133 ECC RDIMM, Bandwidth: 136 GB/s
-R largemem 指定使用大内存节点(f05n05-f05n14)
SSD: Samsung Enterprise SSD PM863, 32-layer 3D TLC, 120GB 170TBW, 2.5in SATA 6Gb/s
Network: Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
e5v3k40ib
双精度浮点计算理论峰值:3.82 TFLOPS
购置者:公共共享100%
1*Lenovo System x3650 M5
Hostname: x001
CPU: 2*Intel Xeon E5-2680 v3 (12 Cores, 30MB Cache, 2.50 GHz, 9.6 GT/s QPI)
RAM: 128 GB (8x16GB), 4 Channels, DDR4-2133 ECC RDIMM, Bandwidth: 136 GB/s
GPU: 2*NVIDIA Tesla K40 (2880 Cores 875MHz, 12GB 384-bit GDDR5 3.0GHz 288GB/s, PCIe3.0 x16)
HDD: 300 GB 2.5in 10Krpm 6Gb/s SAS
Network: 10 Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
e52630v4
双精度浮点计算理论峰值:1.408 TFLOPS
购置者:邵陆兵100%(邢定钰组)
2*Inspur NX5460M4
Hostname: i04n01-i04n02
CPU: 2*Intel Xeon E5-2630 v4 (10 Cores, 25MB Cache, 2.20 GHz, 8 GT/s QPI)
RAM: 64 GB (4x16GB), 2 Channels, DDR4-2133 ECC RDIMM, Bandwidth: 68.3 GB/s
HDD: 2*300 GB 2.5in 10Krpm 12Gb/s SAS RAID1
Network: 10 Gigabit Ethernet
e52640v4
双精度浮点计算理论峰值:0.768 TFLOPS
购置者:李建新100%
1*Inspur NF5280M4
Hostname: n001
CPU: 2*Intel Xeon E5-2640 v4 (10 Cores, 25MB Cache, 2.40 GHz, 8 GT/s QPI)
RAM: 128 GB (8x16GB), 4 Channels, DDR4-2133 ECC RDIMM, Bandwidth: 136.6 GB/s
HDD: 2*600 GB 2.5in 10Krpm 12Gb/s SAS RAID1
Network: Gigabit Ethernet
e52650v4
双精度浮点计算理论峰值:2.5344 TFLOPS
购置者:盛利100%
3*Inspur NF5270M4
Hostname: n003-n005
CPU: 2*Intel Xeon E5-2650 v4 (12 Cores, 30MB Cache, 2.20 GHz, 9.6 GT/s QPI)
RAM: 128 GB (8x16GB), 4 Channels, DDR4-2400 ECC RDIMM, Bandwidth: 153.6 GB/s
HDD: 4*300 GB 2.5in 10Krpm 12Gb/s SAS RAID5 (n003-n004) / 3*300 GB 2.5in 10Krpm 12Gb/s SAS RAID5 (n005)
Network: Gigabit Ethernet
e52680v4ib
双精度浮点计算理论峰值:20.4288 TFLOPS
购置者:王炜84.21%,法伟15.79%
19*HPE BladeSystem ProLiant BL460c Gen9
Hostname: s04n14-s04n16 s05n01-s05n16
CPU: 2*Intel Xeon E5-2680 v4 (14 Cores, 35MB Cache, 2.40 GHz, 9.6 GT/s QPI)
RAM: 128 GB (8x16GB), 4 Channels, DDR4-2400 ECC RDIMM, Bandwidth: 153.6 GB/s
SSD: Samsung Enterprise SSD PM863, 32-layer 3D TLC, 120GB 170TBW, 2.5in SATA 6Gb/s
Network: Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
e52682v4opa
双精度浮点计算理论峰值:25.6 TFLOPS
购置者:万贤纲100%
20*Inspur NX5440M4
Hostname: i03n01-i03n20
CPU: 2*Intel Xeon E5-2682 v4 (16 Cores, 40MB Cache, 2.50 GHz, 9.6 GT/s QPI)
RAM: 64 GB (8x8GB), 4 Channels, DDR4-2400 ECC RDIMM, Bandwidth: 153.6 GB/s
SSD: Intel SSD DC S3500, 20nm MLC, 240GB 140TBW
SSD: 2.5in SATA 6Gb/s. [i03n01-i03n10] Samsung Enterprise SSD PM863, 32-layer 3D TLC, 960GB 1400TBW, 2.5in SATA 6Gb/s / [i03n11-i03n20] Intel SSD DC S3610, 20nm MLC, 800GB 5.3PBW, 2.5in SATA 6Gb/s
SSD mounted at /ssd & /tmp/ssd
Network: Gigabit Ethernet, 100 Gbit/s Omni-Path Architecture
e74820v4
双精度浮点计算理论峰值:1.28 TFLOPS
购置者:陈申见100%
1*Dell PowerEdge R930
Hostname: r012
CPU: 4*Intel Xeon E7-4820 v4 (10 Cores, 25MB Cache, 2.00 GHz, 6.4 GT/s QPI)
RAM: 256 GB (16x16GB), 4 Channels, DDR4-1333 ECC RDIMM
HDD: 2*600 GB 2.5in 15Krpm 12Gb/s SAS RAID1
Network: Gigabit Ethernet
e7v4ib
双精度浮点计算理论峰值:2.1504 TFLOPS
购置者:公共共享100%
1*Dell PowerEdge R930
Hostname: r011
CPU: 4*Intel Xeon E7-4850 v4 (16 Cores, 40MB Cache, 2.10 GHz, 8 GT/s QPI)
RAM: 1024 GB (32x32GB), 4 Channels, DDR4-1333 ECC RDIMM
SSD: 2*Intel SSD DC S3610, 20nm MLC, 200GB 1.1PBW, 2.5in SATA 6Gb/s RAID1
Network: 10 Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
e5v4p100ib
双精度浮点计算理论峰值:10.296 TFLOPS
购置者:公共共享100%
1*Lenovo System x3650 M5
Hostname: x002
CPU: 2*Intel Xeon E5-2660 v4 (14 Cores, 35MB Cache, 2.00 GHz, 9.6 GT/s QPI)
RAM: 128 GB (8x16GB), 4 Channels, DDR4-2400 ECC RDIMM, Bandwidth: 153.6 GB/s
GPU: 2*NVIDIA Tesla P100 PCIe 16GB (3584 Cores 1328MHz, 16GB 715MHz 4096-bit HBM2 732 GB/s, PCIe3.0 x16)
HDD: 300 GB 2.5in 10Krpm 6Gb/s SAS
Network: Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
6140ib
双精度浮点计算理论峰值:84.7872 TFLOPS
购置者:公共共享100%
16*H3C B7800 G3
Hostname: b01n01-b01n08 b02n01-b02n08
CPU: 4*Intel Xeon Gold 6140 (18 Cores, 24.75MB Cache, 2.30 GHz)
RAM: 384 GB (24x16GB), 6 Channels, DDR4-2666 ECC RDIMM, Bandwidth: 511.2 GB/s
SSD: Micron 5100, TLC, 240GB, M.2 2280, SATA 6Gb/s
Network: 10 Gigabit Ethernet, 100 Gbit/s EDR InfiniBand
6148v100ib
双精度浮点计算理论峰值:10.072 TFLOPS
购置者:赵宇心100%
1*Lenovo ThinkSystem SR650
Hostname: x003
CPU: 2*Intel Xeon Gold 6148 (20 Cores, 27.5MB Cache, 2.40 GHz)
RAM: 192 GB (12x16GB), 6 Channels, DDR4-2666 ECC RDIMM, Bandwidth: 255.6 GB/s
GPU: NVIDIA Tesla V100 PCIe 16GB (5120 CUDA Cores 1380MHz, 16GB HBM2 877MHz 4096-bit 900GB/s, PCIe3.0 x16)
SSD: LITEON, 128GB, M.2 2280, SATA 6Gb/s
Network: Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
双精度浮点计算理论峰值:1.1776 TFLOPS
提供者:CPU/准系统 Intel、内存 本中心
1*Intel S2600WFT
Hostname: o003
CPU: 2*Intel Xeon Gold 5218 (16 Cores, 22MB Cache, 2.30 GHz)
RAM: 192 GB (12x16GB), 6 Channels, DDR4-2666 ECC RDIMM
SSD: Intel SSD DC S3500, 20nm MLC, 275TBW 480GB, 2.5in SATA 6Gb/s
Network: Gigabit Ethernet
5218q
双精度浮点计算理论峰值:2.3552 TFLOPS
购置者:李建新100%
1*Inspur NF8480M5
Hostname: n032
CPU: 4*Intel Xeon Gold 5218 (16 Cores, 22MB Cache, 2.30 GHz)
RAM: 256 GB (8x32GB), 4 Channels, DDR4-2666 ECC RDIMM, Bandwidth: 170.7 GB/s
HDD: 2*600 GB 2.5in 10Krpm 12Gb/s SAS RAID1
Network: Gigabit Ethernet
62v100ib
双精度浮点计算理论峰值:65.6 TFLOPS
购置者:公共共享100%
1*Inspur NF5468M5-S
Hostname: n002
CPU: 2*Intel Xeon Gold 6248 (20 Cores, 27.5MB Cache, 2.50 GHz)
RAM: 768 GB (24x32GB), 6 Channels, DDR4-2933 ECC RDIMM, Bandwidth: 281.6 GB/s
GPU: 8*NVIDIA Tesla V100 SXM2 32GB (5120 CUDA Cores 1530MHz, 32GB HBM2 877MHz 4096-bit 900GB/s, NVLink 300GB/s, PCIe3.0 x16)
SSD: 2*Samsung Enterprise SSD PM883, TLC 3D NAND, 480GB 683TBW, 2.5in SATA 6Gb/s, RAID1
SSD: 2*Intel SSD DC P4510, 64-Layer TLC 3D NAND, 2TB 2.61PBW, U.2 15mm, PCIe3.1 x4 NVMe, RAID0
SSD mounted at /ssd & /tmp/ssd
Cache: 2*Intel SSD DC P4510, 64-Layer TLC 3D NAND, 2TB 2.61PBW, U.2 15mm, PCIe3.1 x4 NVMe
Network: 10 Gigabit Ethernet, 100 Gbit/s EDR InfiniBand
9242opa
双精度浮点计算理论峰值:141.312 TFLOPS
购置者:孙建100%
20*Intel S9248WK2HAC
Hostname: s001-s020
CPU: 2*Intel Xeon Platinum 9242 (48 Cores, 71.5MB Cache, 2.30 GHz)
RAM: 384 GB (24x16GB), 12 Channels, DDR4-2933 ECC RDIMM, Bandwidth: 563.2 GB/s
SSD: Intel SSD D3-S4510, 64-Layer TLC 3D NAND, 480GB 1.2PBW, M.2 2280, SATA 6Gb/s
Network: Gigabit Ethernet, 100 Gbit/s Omni-Path Architecture
7702ib
双精度浮点计算理论峰值:57.344 TFLOPS
购置者:公共共享100%
14*Asus RS720A-E9-RS24V2
Hostname: a001-a014
CPU: 2*AMD EPYC 7702 (64 Cores, 256MB Cache, 2.0 GHz)
RAM: 256 GB (16x16GB), 8 Channels, DDR4-3200 ECC RDIMM, Bandwidth: 409.6 GB/s
SSD: Samsung SSD 970 EVO Plus, V-NAND 3-bit MLC, 250GB 150TBW, M.2 2280, PCIe3.0 x4 NVMe 1.3
Network: Gigabit Ethernet, 100 Gbit/s HDR100 InfiniBand
722080tiib
CPU双精度浮点计算理论峰值:3.072 TFLOPS
GPU单精度浮点计算理论峰值:215.168 TFLOPS
购置者:公共共享100%
4*Gigabyte G242-Z10
Hostname: g001-g004
CPU: 1*AMD EPYC 7302 (16 Cores, 128MB Cache, 3.0 GHz)
GPU: 4*NVIDIA GeForce RTX 2080 Ti 11GB (4352 CUDA Cores 1545MHz, 11GB GDDR6 7000MHz 352-bit 616 GB/s, PCIe3.0 x16)
RAM: 128 GB (8x16GB), 8 Channels, DDR4-3200 ECC RDIMM, Bandwidth: 204.8 GB/s
SSD: Intel SSD DC S4600, 3D NAND TLC, 240GB 1.40PBW, 2.5in SATA 6Gb/s
SSD: Intel SSD DC P4510, 64-Layer TLC 3D NAND, 2TB 2.61PBW, U.2 15mm, PCIe3.1 x4 NVMe
SSD mounted at /ssd & /tmp/ssd
Cache: Intel SSD DC P4510, 64-Layer TLC 3D NAND, 2TB 2.61PBW, U.2 15mm, PCIe3.1 x4 NVMe
Network: Gigabit Ethernet, 100 Gbit/s HDR100 InfiniBand
72rtxib
CPU双精度浮点计算理论峰值:2.304 TFLOPS
GPU单精度浮点计算理论峰值:195.744 TFLOPS
购置者:公共共享100%
3*Gigabyte G242-Z10
Hostname: g005-g007
CPU: 1*AMD EPYC 7302 (16 Cores, 128MB Cache, 3.0 GHz)
GPU: 4*NVIDIA TITAN RTX 24GB (4608 CUDA Cores 1770MHz, 24GB GDDR6 7000MHz 384-bit 672 GB/s, PCIe3.0 x16)
RAM: 128 GB (8x16GB), 8 Channels, DDR4-3200 ECC RDIMM, Bandwidth: 204.8 GB/s
SSD: Intel SSD DC S4600, 3D NAND TLC, 240GB 1.40PBW, 2.5in SATA 6Gb/s
SSD: Intel SSD DC P4510, 64-Layer TLC 3D NAND, 2TB 2.61PBW, U.2 15mm, PCIe3.1 x4 NVMe
SSD mounted at /ssd & /tmp/ssd
Cache: Intel SSD DC P4510, 64-Layer TLC 3D NAND, 2TB 2.61PBW, U.2 15mm, PCIe3.1 x4 NVMe
Network: Gigabit Ethernet, 100 Gbit/s HDR100 InfiniBand
5220r
双精度浮点计算理论峰值:5.0688 TFLOPS
购置者:盛利100%
3*Inspur NF5280M5
Hostname: n006-n008
CPU: 2*Intel Xeon Gold 5220R (24 Cores, 35.75MB Cache, 2.20 GHz)
RAM: 192 GB (6x32GB), 3 Channels, DDR4-2666 ECC RDIMM, Bandwidth: 127.8 GB/s
SSD: 2*Intel SSD DC S4500, 3D NAND TLC, 480GB 0.90PBW, 2.5in SATA 6Gb/s, RAID1
Network: Gigabit Ethernet
6226rib
双精度浮点计算理论峰值:65.3312 TFLOPS
购置者:万贤纲100%
22*Huawei FusionServer Pro 1288H V5
Hostname: f001-f022
CPU: 2*Intel Xeon Gold 6226R (16 Cores, 22MB Cache, 2.90 GHz)
RAM: 192 GB (12x16GB), 6 Channels, DDR4-2933 ECC RDIMM, Bandwidth: 281.6 GB/s
SSD: Huawei ES3610C V5, 3D TLC, 1.6TB 8.76PBW, HHHL, PCIe3.0 x4 NVMe 1.3
Network: Gigabit Ethernet, 100 Gbit/s EDR InfiniBand
6230r
双精度浮点计算理论峰值:10.4832 TFLOPS
购置者:盛利100%
3*Inspur NF5280M5
Hostname: n009-n011
CPU: 2*Intel Xeon Gold 6230R (26 Cores, 35.75MB Cache, 2.10 GHz)
RAM: 192 GB (6x32GB), 3 Channels, DDR4-2666 ECC RDIMM, Bandwidth: 127.8 GB/s
SSD: 2*Samsung PM883, TLC 3D NAND, 480GB 683TBW, 2.5in SATA 6Gb/s
Network: Gigabit Ethernet
6330ib
双精度浮点计算理论峰值:57.344 TFLOPS
购置者:公共共享100%
16*Inspur NF5180M6
Hostname: n016-n031
CPU: 2*Intel Xeon Gold 6330 (28 Cores, 42MB Cache, 2.00 GHz)
RAM: 256 GB (16x16GB), 8 Channels, DDR4-2933 ECC RDIMM, Bandwidth: 375.5 GB/s
SSD: Intel SSD D3-S4510, 64-Layer TLC 3D NAND, 240GB 0.9PBW, 2.5in SATA 6Gb/s
Network: Gigabit Ethernet, 100 Gbit/s HDR100 InfiniBand
双精度浮点计算理论峰值:16.384 TFLOPS
购置者:卢毅100%
4*Inspur NF5180M6
Hostname: n012-n015
CPU: 2*Intel Xeon Gold 6338 (32 Cores, 48MB Cache, 2.00 GHz)
RAM: [n014 n015] 2048 GB (32x64GB)/[n012 n013] 1024 GB (32x32GB), 8 Channels, DDR4-3200 ECC RDIMM, Bandwidth: 409.6 GB/s
-R largemem 指定使用大内存节点(n014 n015)
SSD: Intel SSD D3-S4510, 64-Layer TLC 3D NAND, 240GB 0.9PBW, 2.5in SATA 6Gb/s
Network: 10 Gigabit Ethernet
双精度浮点计算理论峰值: 15.6672 TFLOPS
购置者:雷群利100%
2*Gigabyte R182-Z90 1*Asus RS700A-E11-RS4U
Hostname: g008-g009 a016
CPU: 2*AMD EPYC 7K83 (64 Cores, 256MB Cache, 2.55 GHz)
RAM: 256 GB (16x16GB), 8 Channels, DDR4-3200 ECC RDIMM, Bandwidth: 409.6 GB/s
SSD: Intel SSD D3-S4510, 64-Layer TLC 3D NAND, 480GB 1.2PBW, 2.5in SATA 6Gb/s
Network: 10 Gigabit Ethernet
83a100ib
双精度浮点计算理论峰值:82.9248 TFLOPS
购置者:公共共享100%
1*Supermicro SYS-420GP-TNAR+ (Powerleader PR4908WV)
Hostname: m001
CPU: 2*Intel Xeon Platinum 8358 (32 Cores, 48MB Cache, 2.60 GHz)
RAM: 512 GB (16x32GB), 8 Channels, DDR4-3200 ECC RDIMM, Bandwidth: 409.6 GB/s
GPU: 8*NVIDIA A100 SXM4 40GB (6912 CUDA Cores 1410MHz, 40GB HBM2 1215MHz 5120-bit 1555GB/s, NVLink 600GB/s, PCIe4.0 x16)
SSD: Samsung 983 DCT, V-NAND 3-bit MLC, 960GB 1.366PBW, M.2 22110, PCIe3.0 x4 NVMe 1.2b
SSD: 2*Intel SSD DC P4510, 64-Layer TLC 3D NAND, 2TB 2.61PBW, U.2 15mm, PCIe3.1 x4 NVMe, RAID0
SSD mounted at /ssd & /tmp/ssd
Cache: 2*Intel SSD DC P4510, 64-Layer TLC 3D NAND, 2TB 2.61PBW, U.2 15mm, PCIe3.1 x4 NVMe
Network: 10 Gigabit Ethernet, 200 Gbit/s HDR InfiniBand
813080
CPU双精度浮点计算理论峰值:3.84 TFLOPS
GPU单精度浮点计算理论峰值:178.62 TFLOPS
购置者:雷群利100%
1*Supermicro SYS-4029GP-TRT
Hostname: m004
CPU: 2*Xeon Platinum 8163 (24 Cores, 33MB Cache, 2.50 GHz)
RAM: 64 GB (4x16GB), 2 Channels, DDR4-2666 ECC RDIMM, Bandwidth: 85.3 GB/s
GPU: 6*NVIDIA GeForce RTX 3080 10GB (8704 CUDA Cores 2100MHz, 10GB GDDR6X 9501MHz 320-bit 760.3 GB/s, PCIe3.0 x16)
SSD: Intel SSD D3-S4510, 64-Layer TLC 3D NAND, 480GB 1.2PBW, 2.5in SATA 6Gb/s
Network: Gigabit Ethernet
723080
CPU双精度浮点计算理论峰值:4.608 TFLOPS
GPU单精度浮点计算理论峰值:238.16 TFLOPS
购置者:雷群利100%
1*ASUS ESC8000A-E11
Hostname: a015
CPU: 2*AMD EPYC 7B12 (64 Cores, 256MB Cache, 2.25 GHz)
RAM: 128 GB (16x8GB), 8 Channels, DDR4-3200 ECC RDIMM, Bandwidth: 409.6 GB/s
GPU: 8*NVIDIA GeForce RTX 3080 10GB (8704 CUDA Cores 2100MHz, 10GB GDDR6X 9501MHz 320-bit 760.3 GB/s, PCIe4.0 x16)
SSD: Intel SSD D3-S4510, 64-Layer TLC 3D NAND, 240GB 0.9PBW, 2.5in SATA 6Gb/s
Network: Gigabit Ethernet
723090ib
CPU双精度浮点计算理论峰值:4.3008 TFLOPS
GPU单精度浮点计算理论峰值:569.28 TFLOPS
购置者:公共共享100%
2*Supermicro AS -4124GS-TNR
Hostname: m002-m003
CPU: 2*AMD EPYC 7402 (24 Cores, 128MB Cache, 2.8 GHz)
RAM: 512 GB (16x32GB), 8 Channels, DDR4-3200 ECC RDIMM, Bandwidth: 409.6 GB/s
GPU: 8*NVIDIA GeForce RTX 3090 24GB (10496 CUDA Cores 2100MHz, 24GB GDDR6X 9751MHz 384-bit 936.2 GB/s, PCIe4.0 x16)
SSD: Intel SSD D3-S4510, 64-Layer TLC 3D NAND, 480GB 1.2PBW, 2.5in SATA 6Gb/s
SSD: 2*Intel SSD DC P4510, 64-Layer TLC 3D NAND, 2TB 2.61PBW, U.2 15mm, PCIe3.1 x4 NVMe, RAID0
SSD mounted at /ssd & /tmp/ssd
Cache: 2*Intel SSD DC P4510, 64-Layer TLC 3D NAND, 2TB 2.61PBW, U.2 15mm, PCIe3.1 x4 NVMe
Network: Gigabit Ethernet, 100 Gbit/s HDR100 InfiniBand
734090ib
CPU双精度浮点计算理论峰值:5.7344 TFLOPS
GPU单精度浮点计算理论峰值:1321.28 TFLOPS
购置者:公共共享100%
2*Supermicro AS -4124GS-TNR (Wuzhou S748E4)
Hostname: m005-m006
CPU: 2*AMD EPYC 7543 (32 Cores, 256MB Cache, 2.8 GHz)
RAM: 512 GB (16x32GB), 8 Channels, DDR4-3200 ECC RDIMM, Bandwidth: 409.6 GB/s
GPU: 8*NVIDIA GeForce RTX 4090 24GB (16384 CUDA Cores 3105MHz, 24GB GDDR6X 10501MHz 384-bit 1008 GB/s, PCIe4.0 x16)
SSD: Samsung PM883, TLC 3D NAND, 480GB 683TBW, 2.5in SATA 6Gb/s
SSD: Intel SSD D7-P5520, 144-Layer TLC 3D NAND, 3.84TB 7.0PBW, U.2 15mm, PCIe4.0 x4, NVMe 1.4
SSD mounted at /ssd & /tmp/ssd
Cache: Intel SSD D7-P5520, 144-Layer TLC 3D NAND, 3.84TB 7.0PBW, U.2 15mm, PCIe4.0 x4, NVMe 1.4
Network: Gigabit Ethernet, 100 Gbit/s HDR100 InfiniBand
双精度浮点计算理论峰值:7.3728 TFLOPS
购置者:雷群利100%
1*Asus RS720A-E12-RS12
Hostname: a017
CPU: 2*AMD EPYC 9654 (96 Cores, 384MB Cache, 2.4 GHz)
RAM: 384 GB (24x16GB), 12 Channels, DDR5-4800 ECC RDIMM, Bandwidth: 921.6 GB/s
SSD: Intel SSD D3-S4510, 64-Layer TLC 3D NAND, 480GB 1.2PBW, 2.5in SATA 6Gb/s
Network: 10 Gigabit Ethernet
作业≤24 cores 单节点运行于公共共享的CPU队列 e5v3ib 7702ib 6140ib 6330ib 中的任意节点,但优先级小于这些队列
双精度浮点计算理论峰值:1.788 TFLOPS
42*IBM BladeCenter HS21
Hostname: c01n01-c04n14
CPU: 2*Intel Xeon 5150 (2 Cores, 4M Cache, 2.66 GHz, 1333 MHz FSB)
RAM: 16GB / 8GB / 4GB
Network: Gigabit Ethernet
e5620
双精度浮点计算理论峰值:0.076.8 TFLOPS
1*IBM BladeCenter HS22
Hostname: c01n14
CPU: 2*Intel Xeon E5620 (4 Cores, 12M Cache, 2.40 GHz, 5.86 GT/s QPI)
RAM: 48 GB
Network: Gigabit Ethernet
e5430
双精度浮点计算理论峰值:2.383 TFLOPS
购置者:刘俊明50%,万贤纲50%
28*HP BladeSystem ProLiant BL260c G5
Hostname: s01n01-s01n14 s02n01-s02n14
CPU: 2*Intel Xeon E5430 (4 Cores, 12M Cache, 2.66 GHz, 1333 MHz FSB)
RAM: 16 GB
HDD: 146 GB 2.5in 10Krpm 3Gb/s SAS
Network: Gigabit Ethernet
x5550ib
双精度浮点计算理论峰值:23.8336 TFLOPS
购置者:公共共享100%
280*IBM BladeCenter HS22
Hostname: c08n01-c08n14 c09n01-c09n14 c10n01-c10n14 ... c27n01-c27n14
CPU: 2*Intel Xeon X5550 (4 Cores, 8M Cache, 2.66 GHz, 6.40 GT/s QPI)
RAM: 48 GB(c17,c18)/24 GB(c15,c16,c19,c20,c21)/12 GB, 3 Channels, DDR3-1333 ECC RDIMM, Bandwidth: 64 GB/s
HDD: 146 GB 2.5in 10Krpm 6Gb/s SAS
Network: Gigabit Ethernet, 20 Gbit/s DDR InfiniBand
-R largemem 指定使用大内存(24G/48G)节点(c15,c16,c17,c18,c19,c20,c21)
-R mem24g 指定使用24GB内存节点(c15n01-c15n14,c16n01-c16n14,c19n01-c19n14,c20n01-c20n14,c21n01-c21n14)
-R mem48g 指定使用48GB内存节点(c17n01-c17n14,c18n01-c18n14)
e52660
双精度浮点计算理论峰值:2.253 TFLOPS
购置者:公共共享100%(原董锦明100%)
8*中科曙光TC4600
Hostname: t01n01-t01n08
CPU: 2*Intel Xeon E5-2660 (8 Cores, 20M Cache, 2.20 GHz, 8.00 GT/s QPI)
RAM: 32 GB, 4 Channels, DDR3-1600 ECC RDIMM, Bandwidth: 102.4 GB/s
HDD: 300 GB 2.5in 10Krpm 6Gb/s SAS
Network: Gigabit Ethernet
提供者:AMD
1*QCT QuantaGrid D52BQ-2U
Hostname: o001
CPU: 2*AMD EPYC 7742 (64 Cores, 256MB Cache, 2.25 GHz)
RAM: 256 GB, 8 Channels, DDR4-2666 ECC RDIMM
SSD: Micron 1100 3D TLC 256GB 2.5in 6Gb/s SATA
Network: 10 Gigabit Ethernet
提供者:CPU: AMD、系统: 奥工
1*ASUS RS720A-E9-RS24V2
Hostname: o002
CPU: 2*AMD EPYC 7502 (32 Cores, 128MB Cache, 2.5 GHz)
RAM: 256 GB, 8 Channels, DDR4-2933 ECC RDIMM
SSD: Samsung SSD 970 PRO 512GB M.2 NVMe
Network: Gigabit Ethernet
x5650
双精度浮点计算理论峰值:3.57504 TFLOPS
购置者:公共共享100%(原邢定钰50%,舒大军50%)
28*IBM BladeCenter HS22
Hostname: c06n01-c06n14 c07n01-c07n14
CPU: 2*Intel Xeon X5650 (6 Cores, 12MB Cache, 2.66 GHz, 6.40 GT/s QPI)
RAM: 48 GB, 3 Channels, DDR3-1333 ECC RDIMM, Bandwidth: 64 GB/s
HDD: 146 GB 2.5in 10Krpm 3Gb/s SAS
Network: Gigabit Ethernet, iWARP 10 Gigabit Ethernet
x5650ib
双精度浮点计算理论峰值:35.7504 TFLOPS
购置者:公共共享100%
280*IBM BladeCenter HS22
Hostname: c08n01-c08n14 c09n01-c09n14 c10n01-c10n14 ... c27n01-c27n14
CPU: 2*Intel Xeon X5650 (6 Cores, 12MB Cache, 2.66 GHz, 6.40 GT/s QPI)
RAM: 48 GB(c17,c18)/24 GB(c15,c16,c19,c20,c21)/12 GB, 3 Channels, DDR3-1333 ECC RDIMM, Bandwidth: 64 GB/s
-R largemem 指定使用大内存(24G/48G)节点(c15,c16,c17,c18,c19,c20,c21)
-R mem24g 指定使用24GB内存节点(c15,c16,c19,c20,c21)
-R mem48g 指定使用48GB内存节点(c17,c18)
HDD: 146 GB 2.5in 10Krpm 3Gb/s SAS
Network: Gigabit Ethernet, 20 Gbit/s DDR InfiniBand
e5645
双精度浮点计算理论峰值:0.4608 TFLOPS
购置者:马余强100%
4*IBM System x3650 M3
Hostname: x004-x007
CPU: 2*Intel Xeon E5645 (6 Cores, 12MB Cache, 2.40 GHz, 5.86 GT/s QPI)
RAM: 16 GB, 2 Channels, DDR3-1333 ECC RDIMM, Bandwidth: 42.6 GB/s
HDD: 4*300 GB 2.5in 10Krpm 6Gb/s SAS RAID5
Network: Gigabit Ethernet
快照创建时间点
快照保留策略
可用容量:117 TiB
IO节点:4*HPE ProLiant DL380 Gen10: bb01 bb02 bb03 bb04
网络:2*25 Gigabit Ethernet, 100 Gbit/s EDR InfiniBand, 100 Gbit/s Omni-Path
硬盘:8*Intel SSD DC P4510, 64-Layer TLC 3D NAND, 4TB 6.3PBW, 2.5in U.2 15mm, PCIe 3.1 x4 NVMe
保护:元数据和数据双副本
/bbfs/fs*/
所有文件系统(/fs*/)均在此目录中有映射,/bbfs/fs*/ 是 /fs*/ 的高速缓存,在 /bbfs/fs*/ 中重读和写入具有极高的性能,与直接在 /fs*/ 下相比有显著提升,保存在 /bbfs/fs*/ 下的文件会自动回写 /fs*/ 保存。
如:作业输入文件位于 /fsa/home/yaoge/in,如果此输入文件近期会被读取多次(无论是单个作业还是多个作业),则应将输入文件路径指定为 /bbfs/fsa/home/yaoge/in,那么从第二次开始均从高速SSD上读取,减少作业读取文件上花费的时间。
如:作业输出文件如较大,则应将数据文件路径指定为 /bbfs/fsa/home/yaoge/out,那么将直接写入高速SSD中,然后系统会自动将文件回写到 /fsa/home/yaoge/out 便于长期保存,减少作业写入文件上花费的时间。
/bbfs/scratch/
用于保存临时文件,超过30天没有访问(atime)的文件会被自动删除,适合于临时存储计算中间结果、checkpoint等无需长期保留的文件。文件名以 .tmp 和 .temp 结尾的文件保存为单副本(无数据保护)。
如:作业运行过程中保存的Check Point文件或多个作业之间通过临时文件传输数据,这些文件无需长期保存,则可以保存在/bbfs/scratch/yaoge目录下,读写均在高速SSD上。
部分计算节点有额外的SSD为并行文件系统提供本地高速缓存,可提升此节点元数据和数据的读取性能,具体节点详见计算资源
家目录(Tier 1)
特点:温数据、普通性能、快照
快照是特定时间点数据的只读副本,用户可以从中恢复删除的文件或文件的过往版本。部分家目录文件系统有快照,可以在文件系统目录/.snapshot中查找。
如:/fsa的快照位于/fsa/.snapshots,/fsa/.snapshots/20220804-1800是2022年8月4日18时0分创建的快照,在这个目录下可以查阅快照创建时间点的所有文件。
购置者:公共共享100%
可用容量:361 TiB
IO节点:2*HP ProLiant DL380 Gen9: io01 io02
网络:2*10 Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
存储:DDN SFA7700X,双控制器,每控制器 32GB 缓存带电池备份至闪存
硬盘:Data: 10TB 3.5-inch 7.2Krpm 12Gb/s SAS,每10个盘做一组RAID6,5组RAID6。Metadata: Toshiba Enterprise SSD PX02SMU040 MLC 10DWPD 400GB 2.5-inch 12Gb/s SAS,10个盘做一组RAID6。
/fs04
购置者:万贤纲100%
可用容量:14 TiB
IO存储节点:Dell PowerEdge 12G R720xd: io08
网络:2*10 Gigabit Ethernet
RAID卡:Dell PERC H710P Mini (LSI SAS2208 ROC), 1GB cache with Intelligent Battery Backup Unit
硬盘:900GB 2.5-inch 10Krpm 6Gb/s SAS,每5个盘做一组RAID5,4组RAID5,2个热备盘
/fs08
购置者:孙建100%
可用容量:14 TiB
IO节点:2*Inspur NF5270M3: io10 io11
网络:2*1 Gigabit Ethernet, 40 Gbit/s QDR InfiniBand
存储:Inspur AS500H (NetApp E2600),双控制器,每控制器 4GB 缓存带电池备份至闪存,Write caching with mirroring, High Performance Tier
硬盘:900GB 2.5-inch 10Krpm 6Gb/s SAS,每5个盘做一组RAID5,4组RAID5,2个全局热备盘
/fs09
购置者:孙建100%
可用容量:24 TiB
IO节点:2*Inspur NF5270M3: io10 io11
网络:2*1 Gigabit Ethernet, 40 Gbit/s QDR InfiniBand
存储:Inspur AS500H (NetApp E2600),双控制器,每控制器 4GB 缓存带电池备份至闪存,Write caching with mirroring, High Performance Tier
硬盘:3TByte 3.5-inch 7.2Krpm 6Gb/s NL-SAS,12个盘做一个Disk Pool,保留1个硬盘空间,做2个Virtual Disk
/fs10
购置者:王强华100%
可用容量:9.9 TiB
IO存储节点:Inspur NF5270M3: io12
网络:2*1 Gigabit Ethernet, 40 Gbit/s QDR InfiniBand
RAID卡:LSI MegaRAID SAS 9271-8i (LSI SAS2208 ROC), 1GB缓存超级电容备份至闪存
硬盘:900GB 2.5-inch 10Krpm 6Gb/s SAS,每5个盘做一组RAID5,3组RAID5,1个全局热备盘
/fs12
购置者:张海军100%
可用容量:14 TiB
IO节点:2*HP ProLiant DL380 Gen9: io01 io02
网络:2*10 Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
存储:HP MSA 2040 SAN,双控制器,每控制器 4GB 缓存带超级电容备份至闪存
硬盘:900GB 2.5-inch 10Krpm 6Gb/s SAS,每5个盘做一组RAID5,4组RAID5,3个全局热备盘
/fs13
购置者:张海军100%
可用容量:30 TiB
IO节点:2*HP ProLiant DL380 Gen9: io01 io02
网络:2*10 Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
存储:HP MSA 2040 SAN,双控制器,每控制器 4GB 缓存带超级电容备份至闪存
硬盘:4TByte 3.5-inch 7.2Krpm 6Gb/s SAS,每6个盘做一组RAID6,2组RAID6,1个冷备盘
/fs14
购置者:陈申见100%
可用容量:262 TiB
IO节点:Dell PowerEdge R730: io13
网络:2*10 Gigabit Ethernet
RAID卡:Dell PERC H730P Mini (LSI SAS3108 ROC), 2GB NV cache with Intelligent Battery Backup Unit
硬盘:8TByte 3.5-inch 7.2Krpm 12Gb/s SAS,6个盘做一组RAID6
RAID卡:Dell PERC H830 (LSI SAS3108 ROC), 2GB NV cache with Intelligent Battery Backup Unit
JBOD:8TByte 3.5-inch 7.2Krpm 12Gb/s SAS,6个盘做一组RAID6,8组RAID6
/fs00
购置者:公共共享100%
可用容量:3.3 TB
IO节点:HP ProLiant DL380 Gen9: io01 io02
网络:2*10 Gigabit Ethernet, 56 Gbit/s FDR InfiniBand
存储:HP MSA 2040 SAN,双控制器,每控制器 4GB 缓存带超级电容备份至闪存
硬盘:900GB 2.5-inch 10Krpm 6Gb/s SAS,2个盘做一组RAID1,2组RAID1,1个全局热备盘
IO节点:Inspur NF5270M3: io10 io11
网络:2*1 Gigabit Ethernet, 40 Gbit/s QDR InfiniBand
存储:Inspur AS500H (NetApp E2600),双控制器,每控制器 4GB 缓存带电池备份至闪存,Write caching with mirroring, High Performance Tier
硬盘:900GB 2.5-inch 10Krpm 6Gb/s SAS,2个盘做一组RAID1,2个全局热备盘
IO存储节点):Inspur NF5270M3: io12
网络:2*1 Gigabit Ethernet, 40 Gbit/s QDR InfiniBand
RAID卡:LSI MegaRAID SAS 9271-8i (LSI SAS2208 ROC), 1GB cache with Battery Backup Unit
硬盘:900GB 2.5-inch 10Krpm 6Gb/s SAS,2个盘做一组RAID1,1个全局热备盘
保护:RAID1+元数据和数据双副本
归档存储(Tier 2)
特点:冷数据、低性能、便宜
/archive
购置者:公共共享100%
可用容量:1.10 PiB
IO存储节点:Dell PowerEdge R740xd: stor.nju.edu.cn
网络:2*25 Gigabit Ethernet
保护:RAID-Z 3
仅登录节点可访问
快照是特定时间点数据的只读副本,用户可以从中恢复删除的文件或文件的过往版本,可以在文件系统目录/.zfs/snapshot中查找。
如:/archive的快照位于/archive/.zfs/snapshot,/archive/.zfs/snapshot/20220904-0000是2022年9月4日0时0分创建的快照,在这个目录下可以查阅快照创建时间点的所有文件。
对象存储(Tier 2)
打破壁垒实现集群内外数据的统一访问。同一份数据,集群内外共同使用,访问方式相同,再无迁移数据的烦恼!
s3.nju.edu.cn
购置者:公共共享100%
裸容量:2.12 PB
系统:紫光西部数据 UniverStor P20000
网络:12*10 Gigabit Ethernet
保护:纠删码 Large object: 15/4, Small object: 6/4
协议:S3
Endpoint: http://s3.nju.edu.cn OR https://s3.nju.edu.cn
Region: “空” 或 us-east-1
访问范围:集群、校园网、互联网
计算和登录节点的本地目录,节点间相互独立不能跨节点互访
超过24小时未访问且节点无文件所有者进程的文件会被自动删除
/tmp/ /var/tmp/
节点本地根文件系统的临时文件目录
/dev/shm/
节点内存中的临时文件系统目录,容量为总内存的一半,重启不保留
/ssd/ /tmp/ssd
部分节点有额外的SSD用于临时存储,则挂载于此目录
/fs04
可用容量:885 GB
IO存储节点:IBM System x3650: io03
RAID卡:IBM ServeRAID 8k (Adaptec), 256MB cache with battery
硬盘:146GB 3.5-inch 10Krpm 3Gb/s SAS,每5个盘做一组RAID5,每节点1组共2组RAID5,每节点1个热备盘
/fs02
可用容量:7.3 TB
IO节点:IBM System x3650 M3: io05
网络:Chelsio 20 Gigabit Ethernet
存储:IBM System Storage DS3200, 1GB cache with battery backup
硬盘:2TByte 3.5-inch 7.2Krpm 3Gb/s SATA,6个盘做一组RAID6
/fs06
可用容量:443 GB
IO存储节点:HP ProLiant DL380 G5: io09
高速网络:20 Gbit/s DDR InfiniBand
RAID卡:HP Smart Array P400, 512MB Battery-Backed Write Cache
硬盘:146GB 2.5-inch 10Krpm 3Gb/s SAS,5个盘做一组RAID5,1个热备盘
/fs07
可用容量:7.3 TB
IO节点:HP ProLiant DL380 G5: io09
高速网络:20 Gbit/s DDR InfiniBand
存储:HP StorageWorks MSA2312sa G2 单控制器
硬盘:1TByte 3.5-inch 7.2Krpm 3Gb/s SATA,每6个盘做一组RAID6,2组RAID6
/fs05
可用容量:1010 GB
IO存储节点:HP ProLiant DL380 G5: io04
RAID卡:HP Smart Array P400, 512MB Battery-Backed Write Cache
硬盘:300GB 2.5-inch 10Krpm 3Gb/s SAS,5个盘做一组RAID5,1个热备盘
/fs05b
可用容量:932 GB
IO存储节点:HP ProLiant DL380 G5: io04
RAID卡:HP Smart Array P400, 512MB Battery-Backed Write Cache
硬盘:1TByte 2.5-inch 7.2Krpm 3Gb/s NL-SAS,1个盘RAID0
/fs03
可用容量:2.2 TB
IO存储节点:Dell PowerEdge 12G R720: io07
RAID卡:Dell PERC H710P Mini (LSI SAS2208 ROC), 1GB cache with Intelligent Battery Backup Unit
硬盘:600GB 2.5-inch 10Krpm 6Gb/s SAS,5个盘做一组RAID5,1个热备盘
/fs11
可用容量:16 TB
IO节点:Dell PowerEdge 12G R720: io07
存储:Dell MD3200i 单控,2GB cache with battery backup
硬盘:2TByte 3.5-inch 7.2Krpm 6Gb/s NL-SAS,12个盘做一个Disk Pool,保留1个硬盘空间,做一个Virtual Disk
/fs01
文件系统:fs01
购置者:公共共享100%(原邢定钰50%,舒大军50%)
可用容量:4.4 TB
IO存储节点:IBM System x3650 M3: io05 io06
网络:Chelsio 2*10 Gigabit Ethernet
RAID卡:IBM ServeRAID M5015 (LSI SAS2108 ROC), 512MB cache with Battery Backup Unit
硬盘:300GB 2.5-inch 10Krpm 6Gb/s SAS,每5个盘做一组RAID5,每节点2组共4组RAID5,每节点1个热备盘
部分软件资源
GNU Compiler Collection
Module
GNU Compiler Collection (GCC) 12.1.0 & GNU Binutils 2.38
/fs00/software/gcc/12.1.0
gcc/12.1.0
GNU Compiler Collection (GCC) 11.3.0 & GNU Binutils 2.36.1
/fs00/software/gcc/11.3.0
gcc/11.3.0
GNU Compiler Collection (GCC) 10.4.0 & GNU Binutils 2.34
/fs00/software/gcc/10.4.0
gcc/10.4.0
GNU Compiler Collection (GCC) 9.5.0 & GNU Binutils 2.32
/fs00/software/gcc/9.5.0
gcc/9.5.0
GNU Compiler Collection (GCC) 8.5.0 & GNU Binutils 2.30
/fs00/software/gcc/8.5.0
gcc/8.5.0
GNU Compiler Collection (GCC) 7.5.0 & GNU Binutils 2.28.1
/fs00/software/gcc/7.5.0
gcc/7.5.0
GNU Compiler Collection (GCC) 6.5.0 & GNU Binutils 2.26.1
/fs00/software/gcc/6.5.0
gcc/6.5.0
GNU Compiler Collection (GCC) 5.4.0
/fs00/software/gcc/5.4.0
gcc/5.4.0
GNU Make
Module
Intel Parallel Studio XE 2020 Update 2 Cluster Edition
/fs00/software/intel/ps2020u2
Modulefile: ips/2020u2
Intel Parallel Studio XE 2019 Update 5 Cluster Edition
/fs00/software/intel/ps2019u5
Modulefile: ips/2019u5
Intel Parallel Studio XE 2018 Update 4 Cluster Edition
/fs00/software/intel/ps2018u4
Modulefile: ips/2018u4
Intel Parallel Studio XE 2017 Update 6 Cluster Edition
/fs00/software/intel/ps2017u6
Modulefile: ips/2017u6
Intel Parallel Studio XE 2017 Update 2 Cluster Edition
/fs00/software/intel/ps2017u2
Modulefile: ips/2017u2
Intel Parallel Studio XE 2016 Update 4 Cluster Edition
/fs00/software/intel/ps2016u4
Modulefile: ips/2016u4
Intel Parallel Studio XE 2016 Update 2 Cluster Edition
/fs00/software/intel/ps2016u2
Modulefile: ips/2016u2
Intel Parallel Studio XE 2015 Update 6 Cluster Edition
/fs00/software/intel/ps2015u6
Modulefile: ips/2015u6
Intel Cluster Studio XE 2013 Service Pack 1 (SP1) Update 1
/fs00/software/intel/cs2013sp1u1
Modulefile: ics/2013sp1u1
Intel Cluster Studio XE 2013
/fs00/software/intel/cs2013
Modulefile: ics/2013
Intel Parallel Studio XE 2011 SP1 Update 3
/fs00/software/intel/ps2011sp1u3
Modulefile: ips/2011sp1u3
Intel Distribution for Python
Intel Distribution for Python 2.7 2019 Update 5
/fs00/software/intel/ps2019u5/intelpython2
Intel Distribution for Python 3.6 2019 Update 5
/fs00/software/intel/ps2019u5/intelpython3
Intel Distribution for Python 2.7 2018 Update 3
/fs00/software/intel/python2018u3/intelpython2
Intel Distribution for Python 3.6 2018 Update 3
/fs00/software/intel/python2018u3/intelpython3
Intel Distribution for Python 2.7 2017 Update 3
/fs00/software/intel/python2017u3/intelpython2
Intel Distribution for Python 3.5 2017 Update 3
/fs00/software/intel/python2017u3/intelpython3
GNU Compiler Collection (GCC) 11.2.0
/fs00/software/openmpi/4.1.2-gcc11.2.0
openmpi/4.1.2-gcc11.2.0
Open MPI 3.1.2
GNU Compiler Collection (GCC) 8.2.0
/fs00/software/openmpi/3.1.2-gcc8.2.0
openmpi/3.1.2-gcc8.2.0
Open MPI 1.10.0
Intel C++ Compiler XE 15.0 Update 3 & Fortran Compiler XE 15.0 Update 3
/fs00/software/openmpi/1.10.0-iccifort-15.0.3
openmpi/1.10.0-iccifort-15.0.3
Open MPI 1.10.0
GNU Compiler Collection (GCC) 5.2.0
/fs00/software/openmpi/1.10.0-gcc-5.2.0
openmpi/1.10.0-gcc-5.2.0
Open MPI 1.10.5
GNU Compiler Collection (GCC) 5.4.0
/fs00/software/openmpi/1.10.5-gcc5.4.0
openmpi/1.10.5-gcc5.4.0
GNU Compiler Collection (GCC) 11.2.0
/fs00/software/tcl/8.6.12-gcc11.2.0
tcl/8.6.12-gcc11.2.0
Tcl/Tk 8.6.6
Intel Parallel Studio XE 2017 Update 2
/fs00/software/tcl/8.6.6-ips2017u2
tcl/8.6.6-ips2017u2
Tcl/Tk 8.6.4
/fs00/software/tcl/8.6.4
tcl/8.6.4
Tcl/Tk 8.6.4
Intel Parallel Studio XE 2016 Update 2
/fs00/software/tcl/8.6.4-ips2016u2
tcl/8.6.4-ips2016u2
Tcl/Tk 8.6.4
Intel Parallel Studio XE 2016 Update 2
/fs00/software/tcl/8.6.4-ips2016u2-avx2
tcl/8.6.4-ips2016u2-avx2
请使用者自行解决License问题,本中心概不负责!
FFTW 3.3.7
/fs00/software/fftw/3.3.7-iccifort-17.0.6-* 依赖iccifort/17.0.6
FFTW 3.3.8
/fs00/software/fftw/3.3.8-ips2019u5 依赖ips/2019u5
LAMMPS 11Aug17
/fs00/software/lammps/11Aug17
OpenFOAM® v1806
/fs00/software/openfoam/v1806-ips2017u6
source /fs00/software/openfoam/v1806-ips2017u6/OpenFOAM-v1806/etc/bashrc
P4vasp 0.3.29
/fs00/software/p4vasp/0.3.29
Modulefile: p4vasp/0.3.29
Phonopy 1.11.2
/fs00/software/anaconda/2-4.3.1/bin
Modulefile: anaconda/2-4.3.1
Quantum ESPRESSO 5.2.0 & 6.1
/fs00/software/qe/5.2.0-ips2015u3/ 依赖ips/2015u3
/fs00/software/qe/6.1-ips2017u2/ 依赖ips/2017u2
ShengBTE
/fs00/software/shengbte 依赖 iccifort/15.0.3 openmpi/1.10.0-iccifort-15.0.3
Siesta 3.2-pl-5
/fs00/software/siesta/3.2-pl-5 依赖ips/2017u6
thirdorder 1.0.2 04d3f46feb78
/fs00/software/thirdorder/1.0.2
Modulefile: thirdorder/1.0.2 依赖 anaconda/2-4.3.1 spglib/1.9.9
VASP6 GPU 编译
VASP6 GPU(N卡) 编译实例
王勇 (孙建课题组)
人工微结构科学与技术协同创新中心高性能计算中心
根据vasp官方给出的信息,以后vasp gpu版本会着重开发openacc标准的版本,之前老cuda版本会逐渐被废弃,因此我们以vasp6.2 的openacc版本结合官方指导进行编译。
官方指导链接
https://www.vasp.at/wiki/index.php/OpenACC_GPU_port_of_VASP
Openacc gpu Vasp6官方给出编译器意见为使用NVIDIA HPC-SDK或者 PGI's Compilers & Tools (version >=19.10)。在此vasp官方建议使用NVIDIA HPC-SDK且版本号最好为20.9,因为之后的版本可能会有一些对于vasp的bug。
关于NVIDIA HPC-SDK 20.9的安装,见
https://developer.nvidia.com/nvidia-hpc-sdk-209-downloads
相关主页,安装流程十分简单,使用wget下载,一键式安装,对于不连接外网的节点,可以手动下载tarball压缩包,上传后本地解压,在此不再赘述,安装前请使用nvidia-smi命令查看本地硬件驱动和兼容的cuda版本(version >=10.0),确保匹配,必要时候需升级硬件驱动。
安装HPC-SDK 20.9的过程中会询问安装路径,我们以路径为/usr/software/nv-hpcsdk
为例,在安装过程中指定此路径为例以后,需要设定环境变量:
export NVARCH=`uname -s`_`uname -m`;
export NVCOMPILERS=/usr/software/nv-hpcsdk #修改此处为安装路径
export PATH=$NVCOMPILERS/$NVARCH/20.9/compilers/bin:$PATH
export MANPATH=$MANPATH:$NVCOMPILERS/$NVARCH/20.9/compilers/man
export LD_LIBRARY_PATH=$NVCOMPILERS/$NVARCH/20.9/compilers/lib/:$LD_LIBRARY_PATH
export PATH=$NVCOMPILERS/$NVARCH/20.9/comm_libs/mpi/bin/:$PATH
上述可以每次使用gpu vasp6时手动添加在任务脚本,也可直接写在bashrc,但是不建议直接写在bashrc,可能会和intel版本的 mpirun冲突,造成其他之前软件的运行问题。
安装完NVIDIA HPC-SDK 20.9以后,还需要将软件运行需要的依赖库整理好,主要有CUDA Toolkit, QD, NCCL, 以及FFTW, 前三项直接包含在HPC-SDK,不需要单独安装。
对于FFTW,最好不要用nvhpc-sdk的编译器进行安装,如果设置了上面安装完hpc-sdk的环境变量,请先用GNU或者intel的编译器环境变量进行覆盖,不然可能会导致计算效率问题,可以自己编译,也可以直接使用集群内已经安装好的版本,路径为/fs00/software/fftw/3.3.8-ips2019u5
准备好编译器和依赖库以后,就可以进行编译了,进入vasp6.2根目录,
cp arch/makefile.include.linux_nv_acc makefile.include`
which nvfortran | awk -F /compilers/bin/nvfortran '{ print $$1 }'`
查看nvfortran是否为nv-hpc-sdk的路径,如有问题,可以重新添加一遍环境变量。
(注:最近vasp官方又在官网添加了新的openacc+openmp混编版本的makefile.include.linux_nv_acc+omp+mkl来解决nccl库限制openacc版本只能单进程运行的问题,通过openmp来提升单进程多线程的运算效率,但目前没有太多相关测试的数据来支撑openmp混编会提升很多并行速度,所以在此我仍以旧版本的makefile.include.linux_nv_acc为例,同时官方也在积极改进这个问题,后续应该也可以多进程运行)
makefile.include的内容需要修改几处,包括确认编译器的位置,明确依赖库的路径等。修改后的makefile.include如下(需要注意和修改的位置后面有注释):
#Precompiler options
CPP_OPTIONS= -DHOST=\"LinuxPGI\" \
-DMPI -DMPI_BLOCK=8000 -DMPI_INPLACE -Duse_collective \
-DscaLAPACK \
-DCACHE_SIZE=4000 \
-Davoidalloc \
-Dvasp6 \
-Duse_bse_te \
-Dtbdyn \
-Dqd_emulate \
-Dfock_dblbuf \
-D_OPENACC \
-DUSENCCL -DUSENCCLP2P
CPP = nvfortran -Mpreprocess -Mfree -Mextend -E $(CPP_OPTIONS) $*$(FUFFIX) > $*$(SUFFIX)
FC = mpif90 -acc -gpu=cc60,cc70,cc80,cuda11.0
FCL = mpif90 -acc -gpu=cc60,cc70,cc80,cuda11.0 -c++libs
FREE = -Mfree
FFLAGS = -Mbackslash -Mlarge_arrays
OFLAG = -fast
DEBUG = -Mfree -O0 -traceback
#Specify your NV HPC-SDK installation, try to set NVROOT automatically
NVROOT =$(shell which nvfortran | awk -F /compilers/bin/nvfortran '{ print $$1 }')
#or set NVROOT manually
#NVHPC ?= /opt/nvidia/hpc_sdk
#NVVERSION = 20.9
#NVROOT = $(NVHPC)/Linux_x86_64/$(NVVERSION)
#Use NV HPC-SDK provided BLAS and LAPACK libraries
BLAS = -lblas
LAPACK = -llapack
BLACS =
SCALAPACK = -Mscalapack
CUDA = -cudalib=cublas,cusolver,cufft,nccl -cuda
LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) $(CUDA)
#Software emulation of quadruple precsion
QD = $(NVROOT)/compilers/extras/qd #注意并修改这里
LLIBS += -L$(QD)/lib -lqdmod -lqd
INCS += -I$(QD)/include/qd
#Use the FFTs from fftw
FFTW = /fs00/software/fftw/3.3.8-ips2019u5 #修改fftw路径至本地安装路径
LLIBS += -L$(FFTW)/lib -lfftw3
INCS += -I$(FFTW)/include
OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o
#Redefine the standard list of O1 and O2 objects
SOURCE_O1 := pade_fit.o
SOURCE_O2 := pead.o
#For what used to be vasp.5.lib
CPP_LIB = $(CPP)
FC_LIB = nvfortran
CC_LIB = nvc
CFLAGS_LIB = -O
FFLAGS_LIB = -O1 -Mfixed
FREE_LIB = $(FREE)
OBJECTS_LIB= linpack_double.o getshmem.o
#For the parser library
CXX_PARS = nvc++ --no_warnings
#Normally no need to change this
SRCDIR = ../../src
BINDIR = ../../bin
此外编译前和每次提交任务前请清除其他环境并重新设置一遍环境变量:
module load ips/2019u5 #这是为了我们使用集群安装好的fftw找到依赖的路径
export NVARCH=`uname -s`_`uname -m`;
export NVCOMPILERS=/usr/software/nv-hpcsdk
export PATH=$NVCOMPILERS/$NVARCH/20.9/compilers/bin:$PATH
export MANPATH=$MANPATH:$NVCOMPILERS/$NVARCH/20.9/compilers/man
export LD_LIBRARY_PATH=$NVCOMPILERS/$NVARCH/20.9/compilers/lib/:$LD_LIBRARY_PATH
export PATH=$NVCOMPILERS/$NVARCH/20.9/comm_libs/mpi/bin/:$PATH
/usr/software/nv-hpcsdk
为nv-hpc-sdk的安装路径
确认好以上所有设置后,就可以使用
make std gam ncl
进行编译了,注意,由于openacc版本的原因,直接取消了编译make gpu的方式,编译得到的vasp_std之类的版本直接可以使用GPU进行计算。
其他注意事项:
1.由于nccl库的限制,openacc的gpu版本只能单进程运行.
2.INCAR中NCORE在openacc版本中只能设为1.
3.INCAR中NSIM和KPAR参数需要对不同体系进行测试来达到效率最大化,一般来说,KPAR和所使用的GPU也就是进程数一致,NSIM需要设置的比在cpu上更大,具体请自行测试.
更多相关问题可以见GPU官方指导
也可以去VASP论坛提问
Quantum Espresso
直接使用Singularity
例:使用qe7.1版本,输入文件为当前目录下的FeO_test.in
,申请1个GPU提交到723090ib
队列,使用pw.x
#BSUB -J FeO_test
#BSUB -q 723090ib
#BSUB -gpu num=1
module load singularity/latest
export OMP_NUM_THREADS="$LSB_DJOB_NUMPROC"
SINGULARITY="singularity run --nv /fs00/software/singularity-images/ngc_quantum_espresso_qe-7.1.sif"
${SINGULARITY} pw.x < FeO_test.in > FeO_test.out
NAMD 2.12 (2016-12-22)
/fs00/software/namd/2.12
例:输入文件为当前目录下的in.conf,申请48个核提交到e5v3ib队列
#BSUB -n 48
#BSUB -q e5v3ib
input=in.conf
#bindir=/fs00/software/namd/2.12/verbs/
bindir=/fs00/software/namd/2.12/ibverbs/
nodefile=nodelist
echo "group main" > $nodefile
for i in `echo $LSB_HOSTS`
echo "host $i" >> $nodefile
${bindir}charmrun ++remote-shell ssh ++nodelist $nodefile +p$LSB_DJOB_NUMPROC ${bindir}namd2 $input
OOMMF
The Object Oriented MicroMagnetic Framework (OOMMF) 1.2 alpha 6
/fs00/software/oommf/12a6-tcl8.6.4-ips2016u2 依赖tcl/8.6.4-ips2016u2和ips/2016u2
/fs00/software/oommf/12a6-tcl8.6.4-ips2016u2-avx2 依赖tcl/8.6.4-ips2016u2-avx2和ips/2016u2
例:输入文件为当前目录下的sample.mif,申请72个核提交到6140ib队列
#BSUB -q 6140ib
#BSUB -n 72
oommfin=sample.mif
oommfrun=/fs00/software/oommf/12a6-tcl8.6.4-ips2016u2-avx2/oommf.tcl
module load tcl/8.6.4-ips2016u2-avx2
OOMMF_HOSTPORT=`tclsh $oommfrun launchhost 0`
export OOMMF_HOSTPORT
tclsh $oommfrun mmArchive
tclsh $oommfrun boxsi -numanodes auto -threads $LSB_DJOB_NUMPROC $oommfin
tclsh $oommfrun killoommf all
mumax
mumax 3.10
/fs00/software/mumax/3.10-cuda11.0/
例:输入文件为当前目录下的sample.mx3,申请1个GPU提交到723090ib队列
#BSUB -q 723090ib
#BSUB -gpu num=1
mx3in=sample.mx3
module load cuda/11.2.0
/fs00/software/mumax/3.10-cuda11.0/mumax3 $mx3in
请使用者自行解决License问题,本中心概不负责!
AWS CLI v2
Module
Environment Modules
添加 Environment Modules 至 Zsh
echo "source /fs00/software/modules/latest/init/profile.sh" >> ~/.zshrc
命令行提示符
因登录时需判断命令行提示符是否为$
,因此建议保持 Bash 为默认 Shell,登录后通过下列命令切换至 Zsh
module load zsh/latest && exec zsh
如设置 Zsh 为默认 Shell 或登录会自动切换至 Zsh,则必须更改 Zsh 的命令行提示符(环境变量PS1)以$
结尾($+空格),否则登录会失败!
Oh My Zsh
在本地克隆后获取安装脚本再进行安装
git clone https://mirror.nju.edu.cn/git/ohmyzsh.git
cd ohmyzsh/tools
REMOTE=https://mirror.nju.edu.cn/git/ohmyzsh.git sh install.sh
切换已有 Oh My Zsh 至镜像源
git -C $ZSH remote set-url origin https://mirror.nju.edu.cn/git/ohmyzsh.git
git -C $ZSH pull
omz update
Powerlevel10k
git clone --depth=1 https://mirror.nju.edu.cn/git/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
编辑 ~/.zshrc
的主题 ZSH_THEME="powerlevel10k/powerlevel10k"
cd ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k && git pull
256色终端
开启 xterm 终端的256色以便正确显示提示颜色
echo "export TERM=xterm-256color" >> ~/.zshrc
永久在左侧显示主机名
在集群中经常需要登录到各个节点,因此最好在左侧永久显示主机名防止误操作
编辑 ~/.p10k.zsh
将POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS
中的context
剪切到POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
的第一项
注释typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION=
这一行
更改typeset -g POWERLEVEL9K_CONTEXT_PREFIX=
为''
zsh-autosuggestions
git clone https://mirror.nju.edu.cn/git/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
编辑 ~/.zshrc
在 plugins=
中添加 zsh-syntax-highlighting
plugins=( ... zsh-autosuggestions)
cd ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions && git pull
zsh-syntax-highlighting
git clone https://mirror.nju.edu.cn/git/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
编辑 ~/.zshrc
在 plugins=
最后添加 zsh-syntax-highlighting
plugins=( [plugins...] zsh-syntax-highlighting)
cd ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting && git pull
https://scc.nju.edu.cn
使用集群的用户名密码登录中心主持研发的HPC服务门户,在集群上没有账号的使用门户的用户名密码登录。
组一般对应课题组,用户则对应每个人。因涉及到收费,组长一般为教职工(如PI、导师),组员一般为学生或老师。
组长可自助审批组员账号,通过后账号立刻生效,即可使用。组长还可以禁用启用组员账号,被禁用的账号不能远程登录集群和服务门户,被禁用账号的数据和作业不受影响。
新组长首页点击申请组
南京大学校内人员请绑定统一身份认证;
填写表单,提交申请;
与管理员联系,等待审批。
新用户在首页点击注册账户
南京大学校内人员请绑定统一身份认证;
填写表单,用户组输入Linux Group Name,提交申请;
组长登录服务门户自助审批新用户,通过后账号立刻生效,即可使用。
62v100ib队列,2*Intel Xeon Gold 6248 (20 Cores, 27.5MB Cache, 2.50 GHz) 768 GB RAM,8*NVIDIA Tesla V100 SXM2 32GB (5120 CUDA Cores 1290MHz, 32GB HBM2 876MHz 4096-bit 900 GB/s, NVLink, PCI-E 3.0 x16)
1CPU 1GPU
-.23554005E+04
校计算中心测试,软件版本:VASP 5.4.4 Intel 2017,CUDA 10.1.168
CPU/GPU
Elapsed time (s)
scf次数
E0 in OSZICAR
gpu_v100队列,8 X TESLA V100 NVLink GPU,2 X CPU intel Xeon Gold 6248, 20核,2.5GHz, 768GB 内存
3202.687
-.23554005E+04
gpu_v100队列,8 X TESLA V100 NVLink GPU,2 X CPU intel Xeon Gold 6248, 20核,2.5GHz, 768GB 内存
2244.153
-.23554005E+04
gpu_v100队列,8 X TESLA V100 NVLink GPU,2 X CPU intel Xeon Gold 6248, 20核,2.5GHz, 768GB 内存
1379.651
-.23554005E+04
gpu_v100队列,8 X TESLA V100 NVLink GPU,2 X CPU intel Xeon Gold 6248, 20核,2.5GHz, 768GB 内存
1214.461
-.23554005E+04
AMD EPYC Rome 比 Intel V3/V4 快一些,但比 Intel Gold 系列慢许多
核心太多对于VASP并不有利
Gromacs
注意:为了保证GPU性能, 在没有特殊要求的情况下,请使用2021版本的Gromacs,并用GPU计算所有的相互作用。没特殊要求的话请看第三部分。
1. Gromacs-2018.8
Gromacs使用CPU计算成键相互作用,使用GPU计算非键相互作用。
编译环境:
gcc/7.4.0
cmake/3.16.3
ips/2017u2
fftw/3.3.7-iccifort-17.0.6-avx2
cuda/10.0.130
软件信息:
GROMACS version: 2018.8
Precision: single
Memory model: 64 bit
MPI library: MPI
OpenMP support: enabled (GMX_OPENMP_MAX_THREADS = 64)
GPU support: CUDA
SIMD instructions: AVX2_256
FFT library: fftw-3.3.7-avx2-avx2_128
CUDA driver: 11.40
CUDA runtime: 10.0
测试算例:
ATOM 102808(464 residues, 9nt DNA, 31709 SOL, 94 NA, 94 CL)
nsteps = 25000000 ;50 ns
eScience中心GPU测试: 所有GPU节点使用单个GPU进行模拟。
2. Gromacs-2021.3
使用的是集群自带的容器化(singularity)的gromacs-2021.3. Gromacs使用CPU计算成键相互作用,使用GPU计算非键相互作用。
/fs00/software/singularity-images/ngc_gromacs_2021.3.sif
#BSUB -q GPU_QUEUE
#BSUB -gpu "num=1"
module load singlarity/latest
export OMP_NUM_THREADS="$LSB_DJOB_NUMPROC"
SINGULARITY="singularity run --nv /fs00/software/singularity-images/ngc_gromacs_2021.3.sif"
${SINGULARITY} gmx mdrun -nb gpu -deffnm <NAME>
软件信息:
GROMACS version: 2021.3-dev-20210818-11266ae-dirty-unknown
Precision: mixed
Memory model: 64 bit
MPI library: thread_mpi
OpenMP support: enabled (GMX_OPENMP_MAX_THREADS = 64)
GPU support: CUDA
SIMD instructions: AVX2_256
FFT library: fftw-3.3.9-sse2-avx-avx2-avx2_128-avx512
CUDA driver: 11.20
CUDA runtime: 11.40
测试算例:
ATOM 102808(464 residues, 9nt DNA, 31709 SOL, 94 NA, 94 CL)
nsteps = 25000000 ;50 ns
eScience中心GPU测试: 所有GPU节点使用单个GPU进行模拟。
3. Gromacs-2021.3(全部相互作用用GPU计算)
由于从2019版本开始,不同的相互作用慢慢都可以在GPU上进行运算,2021版本已经可以将所有模拟的计算用GPU来模拟,所以尝试用GPU进行所有相互作用的运算。
/fs00/software/singularity-images/ngc_gromacs_2021.3.sif
#BSUB -q GPU_QUEUE
#BSUB -gpu "num=1"
module load singlarity/latest
export OMP_NUM_THREADS="$LSB_DJOB_NUMPROC" # 需要,否则会占用所有CPU,反而导致速度变慢
SINGULARITY="singularity run --nv /fs00/software/singularity-images/ngc_gromacs_2021.3.sif"
${SINGULARITY} gmx mdrun -nb gpu -bonded gpu -update gpu -pme gpu -pmefft gpu -deffnm <NAME> # 设置所有的运算用GPU进行
测试算例:
ATOM 102808(464 residues, 9nt DNA, 31709 SOL, 94 NA, 94 CL)
nsteps = 25000000 ;50 ns
eScience中心GPU测试: 所有GPU节点使用单个GPU进行模拟。
对于GPU节点来说,如果使用GPU+CPU混合运算,主要限制的速度的会是CPU,所以应该尽可能使用GPU进行相互作用的计算。
每个GPU队列带有的CPU核数
Queue
CPU Core
4. Gromacs-2021.3 (比较常用GPU队列)
使用Singularity容器解决方案,调用/fs00/software/singularity-images/ngc_gromacs_2021.3.sif完成Gromacs的能量最小化(em)、平衡模拟(nvt、npt)以及成品模拟(md)在公共共享100%GPU队列722080tiib、72rtxib、723090ib的表现。
队列情况:
每节点CPU
每节点内存(GB)
平均每核内存(GB)
CPU主频(GHz)
每节点GPU数量
每GPU显存(GB)
浮点计算理论峰值(TFLOPS)
前人关于Gromacs-2021.3(全部相互作用用GPU计算)的测试报告中,尝试用GPU来模拟102808个原子体系(464 residues, 9nt DNA, 31709 SOL, 94 NA, 94 CL)50 ns内所有相互作用的运算,结果表明83a100ib(250 ns/day以上)>723090ib(220 ns/day以上)>722080tiib(170 ns/day以上)>72rtxib(180 ns/day以上),但83a100ib和723090ib队列常年存在80以上的NJOBS,因此作为成品模拟的前期准备,笔者通常不使用这两个队列。
文件位置:
/fs00/software/singularity-images/ngc\_gromacs\_2021.3.sif
提交代码:
能量最小化(em.lsf)
#BSUB -q 72rtxib
#BSUB -gpu "num=1"
module load singularity/latest
export OMP_NUM_THREADS="$LSB_DJOB_NUMPROC"
SINGULARITY="singularity run --nv /fs00/software/singularity-images/ngc_gromacs_2021.3.sif"
${SINGULARITY} gmx grompp -f minim.mdp -c 1aki_solv_ions.gro -p topol.top -o em.tpr
${SINGULARITY} gmx mdrun -nb gpu -ntmpi 2 -deffnm em
平衡模拟(nvt)
#BSUB -q 72rtxib
#BSUB -gpu "num=1"
module load singularity/latest
export OMP_NUM_THREADS="$LSB_DJOB_NUMPROC"
SINGULARITY="singularity run --nv /fs00/software/singularity-images/ngc_gromacs_2021.3.sif"
${SINGULARITY} gmx grompp -f nvt.mdp -c em.gro -r em.gro -p topol.top -o nvt.tpr
${SINGULARITY} gmx mdrun -nb gpu -ntmpi 2 -deffnm nvt
平衡模拟(npt)
#BSUB -q 72rtxib
#BSUB -gpu "num=1"
module load singularity/latest
export OMP_NUM_THREADS="$LSB_DJOB_NUMPROC"
SINGULARITY="singularity run --nv /fs00/software/singularity-images/ngc_gromacs_2021.3.sif"
${SINGULARITY} gmx grompp -f npt.mdp -c nvt.gro -r nvt.gro -t nvt.cpt -p topol.top -o npt.tpr
${SINGULARITY} gmx mdrun -nb gpu -ntmpi 2 -deffnm npt
成品模拟(md)
#BSUB -q 723090ib
#BSUB -gpu "num=1"
module load singularity/latest
export OMP_NUM_THREADS="$LSB_DJOB_NUMPROC"
SINGULARITY="singularity run --nv /fs00/software/singularity-images/ngc_gromacs_2021.3.sif"
${SINGULARITY} gmx grompp -f md.mdp -c npt.gro -t npt.cpt -p topol.top -o md_0_1.tpr
${SINGULARITY} gmx mdrun -nb gpu -bonded gpu -update gpu -pme gpu -pmefft gpu -deffnm md_0_1
成品模拟(md)
也可以参照以下命令进行修改,以作业脚本形式进行提交:
#BSUB -q 723090ib
#BSUB -gpu "num=1"
module load singularity/latest
export OMP_NUM_THREADS="$LSB_DJOB_NUMPROC"
SINGULARITY="singularity run --nv /fs00/software/singularity-images/ngc_gromacs_2021.3.sif"
${SINGULARITY} gmx pdb2gmx -f protein.pdb -o protein_processed.gro -water tip3p -ignh -merge all <<< 4
${SINGULARITY} gmx editconf -f protein_processed.gro -o pro_newbox.gro -c -d 1.0 -bt cubic
${SINGULARITY} gmx solvate -cp pro_newbox.gro -cs spc216.gro -o pro_solv.gro -p topol.top
${SINGULARITY} gmx grompp -f ../MDP/ions.mdp -c pro_solv.gro -p topol.top -o ions.tpr
${SINGULARITY} gmx genion -s ions.tpr -o pro_solv_ions.gro -p topol.top -pname NA -nname CL -neutral <<< 13
${SINGULARITY} gmx grompp -f ../MDP/minim.mdp -c pro_solv_ions.gro -p topol.top -o em.tpr
${SINGULARITY} gmx mdrun -v -deffnm em
${SINGULARITY} gmx energy -f em.edr -o potential.xvg <<< "10 0"
${SINGULARITY} gmx grompp -f ../MDP/nvt.mdp -c em.gro -r em.gro -p topol.top -o nvt.tpr
${SINGULARITY} gmx mdrun -deffnm nvt
${SINGULARITY} gmx energy -f nvt.edr -o temperature.xvg <<< "16 0"
${SINGULARITY} gmx grompp -f ../MDP/npt.mdp -c nvt.gro -r nvt.gro -t nvt.cpt -p topol.top -o npt.tpr
${SINGULARITY} gmx mdrun -deffnm npt
${SINGULARITY} gmx energy -f npt.edr -o pressure.xvg <<< "18 0"
${SINGULARITY} gmx grompp -f ../MDP/md.mdp -c npt.gro -t npt.cpt -p topol.top -o md.tpr
${SINGULARITY} gmx mdrun -v -deffnm md
${SINGULARITY} gmx rms -f md.xtc -s md.tpr -o rmsd.xvg <<< "4 4"
软件信息:
GROMACS version: 2021.3-dev-20210818-11266ae-dirty-unknown
Precision: mixed
Memory model: 64 bit
MPI library: thread_mpi
OpenMP support: enabled (GMX_OPENMP_MAX_THREADS = 64)
GPU support: CUDA
SIMD instructions: AVX2_256
FFT library: fftw-3.3.9-sse2-avx-avx2-avx2_128-avx512
CUDA driver: 11.20
CUDA runtime: 11.40
测试算例:
ATOM 218234 (401 Protein residues, 68414 SOL, 9 Ion residues)
nsteps = 100000000 ; 200 ns
eScience中心GPU测试: 能量最小化(em)、平衡模拟(nvt、npt)使用1个GPU进行模拟,成品模拟(md)使用1个GPU进行模拟。
平衡模拟(nvt)任务在722080tiib、72rtxib和723090ib队列中,Run time分别为1776.50 ± 181.73、357.00 ± 4.08和309.50 ± 39.06 s;
平衡模拟(npt)任务在722080tiib、72rtxib和723090ib队列中,Run time分别为5411.00 ± 247.49、371.25 ± 6.08和336.50 ± 16.68 s;
原子数218234的 200 ns成品模拟(md)任务在722080tiib、72rtxib、和723090ib队列中,性能表现差别不大,分别为110.03 ± 2.75、115.83 ± 1.54和107.66 ± 5.90 ns/day。
综上,建议在能量最小化(em)、平衡模拟(nvt、npt)等阶段使用排队任务较少的72rtxib队列 ,建议在成品模拟(md)阶段按照任务数量(从笔者使用情况来看,排队任务数量72rtxib<722080tiib<723090ib<83a100ib)、GPU收费情况(校内及协同创新中心用户:72rtxib队列1.8 元/卡/小时=0.45元/核/小时、722080tiib队列1.2 元/卡/小时=0.3元/核/小时、723090ib队列1.8 元/卡/小时=0.3元/核/小时、83a100ib队列4.8 元/卡/小时=0.3元/核/小时)适当考虑队列。
在以上提交代码中,未涉及到Gromacs的并行效率问题(直接“num=4”并不能在集群同时使用4块GPU),感兴趣的同学可以查看http://bbs.keinsci.com/thread-13861-1-1.html以及https://developer.nvidia.com/blog/creating-faster-molecular-dynamics-simulations-with-gromacs-2020/的相关解释。但根据前辈的经验,ATOM 500000以上才值得使用两张GPU加速卡,原因在于Gromacs的并行效率不明显。感兴趣的同学也可以使用Amber的GPU并行加速,但对显卡的要求为3090或者tesla A100。这里提供了GPU=4的gromacs命令:
gmx mdrun -deffnm $file.pdb.md -ntmpi 4 -ntomp 7 -npme 1 -nb gpu -pme gpu -bonded gpu -pmefft gpu -v
Desmond_2022-4在HPC上的表现和批量化MD操作
拳打Amber脚踢Gromacs最终攀上Desmond高峰
一、说明:
笔者在长期受到Amber、Gromacs模拟系统构建的折磨后,痛定思痛决定下载带有GUI美观、完全自动化、一键分析的Desmond。上海科技大学Wang-Lin搭建了Schrödinger中文社区微信群(公众号:蛋白矿工),实现了使用者的互相交流和问答摘录整理,并就Schrödinger软件的使用编写了大量实用脚本。
基于命令行操作的Amber代码包非常适合生物分子体系的模拟,包括AmberTools、Amber两部分。前者免费,但提升生产力的多CPU并行和GPU加速功能需要通过Amber实现,但发展中国家(如中国)可以通过学术申请获得。
同样基于命令行操作的的Gromacs代码包由于上手快、中文教程详尽等优点收到初学者的一致好评,教程可以参考李继存老师博客(http://jerkwin.github.io/)、B站和计算化学公社(http://bbs.keinsci.com/forum.php)等。 初学者跟着教程做就可以(http://www.mdtutorials.com/),深入学习还是推荐大家去看官方的文档。
初识Desmond是使用世界上最贵的分子模拟软件之一的“学术版”Maestro时,它是由D.E.Shaw Research开发的MD代码,但在Schrödinger公司的帮助下实现了GUI图形界面操作。投资界科学家D.E.Shaw顺手还制造l一台用于分子动力学模拟的专业超级计算机Anton2,当然相对于宇宙最快的Gromacs还是差了点(懂得都懂)。学术和非营利机构用户更是可以在D.E.Shaw Research官方网站注册信息,免费获得拥有Maestro界面的Desmond软件。
Figure 1: Molecular Dynamics run using default parameters in Schrödinger Suite 2023-1.
二、Desmonds的安装:
在D.E.Shaw Research注册后下载相应软件包,上传到HPC集群个人home下任意位置,随后创建软件文件夹(作为后续安装路径)复制pwd输出的路径内容(笔者为/fsa/home/ljx_zhangzw/software):
mkdir software
解压安装,进入安装引导界面并按Enter继续进行安装:
tar -xvf Desmond_Maestro_2022.4.tar
cd DESRES_Academic_2022-4_Linux-x86_64
./INSTALL
输出以下界面后粘贴复制pwd输出的路径内容,Enter确认为安装路径:
输出以下界面后粘贴复制pwd输出的路径内容,Enter确认为临时文件路径:
输出以下界面后输入y,Enter确认上述两个路径并进行安装:
安装完成后进入安装路径,并写入环境变量:
cd /fsa/home/ljx_zhangzw/software
echo "export Desmond=${PWD}/" >> ~/.bashrc
同时由于Desmond对集群计算中提交任务队列的要求,需要在安装路径修改schrodinger.host以定义GPU信息,示例给出的是83a100ib队列中m001节点信息:
#localhost
name:localhost
temdir:/fsa/home/ljx_zhangzw/software
name: HPC
host: m001
queue: LSF
qargs: -q 83a100ib -gpu num=1
tmpdir: /fsa/home/ljx_zhangzw/software
schrodinger: /fsa/home/ljx_zhangzw/software
gpgpu: 0, NVIDIA A100
gpgpu: 1, NVIDIA A100
gpgpu: 2, NVIDIA A100
gpgpu: 3, NVIDIA A100
gpgpu: 4, NVIDIA A100
gpgpu: 5, NVIDIA A100
gpgpu: 6, NVIDIA A100
gpgpu: 7, NVIDIA A100
需要注意的是:
1、修改tmpdir和schrodinger对应路径为自己的安装路径;
2、节点host、队列83a100ib以及显卡信息gpgpu: 0-7, NVIDIA A100自行调整,可以查看HPC的计算资源;
3、对于不同的任务调度系统,Schrödinger公司KNOWLEDGE BASE和蛋白矿工知乎号Q2进行了介绍;
4、截止2023年6月16日,HPC集群可供Desmond使用的计算卡(而非3090、4090等)包括:
Hostname
加速卡机时收费
e5v4p100ib
2*Intel Xeon E5-2660v4
2*NVIDIA Tesla P100 PCIe 16GB
128GB RAM
56Gb FDR InfiniBand
gpgpu: 0, NVIDIA Tesla P100
gpgpu: 1, NVIDIA Tesla P100
校内及协同创新中心用户
1.68 元/卡/小时=0.12元/核/小时
62v100ib
2*Intel Xeon Gold 6248
8*NVIDIA Tesla V100 SXM2 32GB
768GB RAM
100Gb EDR InfiniBand
gpgpu: 0, NVIDIA Tesla V100
gpgpu: 1, NVIDIA Tesla V100
gpgpu: 2, NVIDIA Tesla V100
gpgpu: 3, NVIDIA Tesla V100
gpgpu: 4, NVIDIA Tesla V100
gpgpu: 5, NVIDIA Tesla V100
gpgpu: 6, NVIDIA Tesla V100
gpgpu: 7, NVIDIA Tesla V100
校内及协同创新中心用户
3 元/卡/小时=0.6元/核/小时
AMD EPYC 7302
4*NVIDIA TITAN RTX 24GB
128GB RAM
100Gb HDR100 InfiniBand
g005 or g006 or g007
gpgpu: 0, NVIDIA TITAN RTX
gpgpu: 1, NVIDIA TITAN RTX
gpgpu: 2, NVIDIA TITAN RTX
gpgpu: 3, NVIDIA TITAN RTX
校内及协同创新中心用户
1.8 元/卡/小时=0.45元/核/小时
83a100ib
2*Intel Xeon Platinum 8358
8*NVIDIA Tesla A100 SXM4 40GB
512GB RAM
200Gb HDR InfiniBand
gpgpu: 0, NVIDIA A100
gpgpu: 1, NVIDIA A100
gpgpu: 2, NVIDIA A100
gpgpu: 3, NVIDIA A100
gpgpu: 4, NVIDIA A100
gpgpu: 5, NVIDIA A100
gpgpu: 6, NVIDIA A100
gpgpu: 7, NVIDIA A100
校内及协同创新中心用户
4.8 元/卡/小时=0.6元/核/小时
单次MD:
在个人笔记本(Linux)上依照上述步骤安装,或使用Windows浏览器以图形界面Web登陆HPC集群进行点击操作。
教程可参考2022薛定谔中文网络培训和知乎内容。
批量MD:
1、plmd/DSMDrun: Desmond分子动力学模拟一键式运行脚本:
通过以上脚本实现当前路径下所有的mae文件(类似于PDB的结构文件,需通过Maestro转存)按照设置参数进行模拟,plmd -h中给出了示例和详细的输入命令介绍:
Usage: plmd [OPTION] <parameter>
An automatic Desmond MD pipline for protein-ligand complex MD simulation.
Example:
1) plmd -i "*.mae" -S INC -P "chain.name A" -L "res.ptype UNK" -H HPC_CPU -G HPC_GPU
2) plmd -i "*.mae" -S OUC -P "chain.name A" -L "chain.name B" -t 200 -H HPC_CPU -G HPC_gpu01
3) plmd -i "*.mae" -S "TIP4P:Cl:0.15-Na-Cl+0.02-Fe2-Cl+0.02-Mg2-Cl" -L "res.num 999" -G HPC_gpu03
4) plmd -i "*.cms" -P "chain.name A" -L "res.ptype ADP" -H HPC_CPU -G HPC_gpu04
Input parameter:
-i Use a file name (Multiple files are wrapped in "", and split by ' ') *.mae or *.cms ;
or regular expression to represent your input file, default is *.mae.
System Builder parameter:
-S System Build Mode: <INC>
INC: System in cell, salt buffer is 0.15M KCl, water is TIP3P. Add K to neutralize system.
OUC: System out of cell, salt buffer is 0.15M NaCl, water is TIP3P. Add Na to neutralize system.
Custom Instruct: Such as: "TIP4P:Cl:0.15-Na-Cl+0.02-Fe2-Cl+0.02-Mg2-Cl"
Interactive addition of salt. Add Cl to neutralize system.
for positive_ion: Na, Li, K, Rb, Cs, Fe2, Fe3, Mg2, Ca2, Zn2 are predefined.
for nagative_ion: F, Cl, Br, I are predefined.
for water: SPC, TIP3P, TIP4P, TIP5P, DMSO, METHANOL are predefined.
-b Define a boxshape for your systems. <cubic>
box types: dodecahedron_hexagon, cubic, orthorhombic, triclinic
-s Define a boxsize for your systems. <15.0>
for dodecahedron_hexagon and cubic, defulat is 15.0;
for orthorhombic or triclinic box, defulat is [15.0 15.0 15.0];
If you want use Orthorhombic or Triclinic box, your parameter should be like "15.0 15.0 15.0"
-R Redistribute the mass of heavy atoms to bonded hydrogen atoms to slow-down high frequency motions.
-F Define a force field to build your systems. <OPLS_2005>
OPLS_2005, S-OPLS, OPLS3e, OPLS3, OPLS2 are recommended to protein-ligand systems.
Simulation control parameter:
-m Enter the maximum simulation time for the Brownian motion simulation, in ps. <100>
-t Enter the Molecular dynamics simulation time for the product simulation, in ns. <100>
-T Specify the temperature to be used, in kelvin. <310>
-N Number of Repeat simulation with different random numbers. <1>
-P Define a ASL to protein, such as "protein".
-L Define a ASL to ligand, such as "res.ptype UNK".
-q Turn off protein-ligand analysis.
-u Turn off md simulation, only system build.
-C Set constraint to an ASL, such as "chain.name A AND backbone"
-f Set constraint force, default is 10.
-o Specify the approximate number of frames in the trajectory. <1000>
This value is coupled with the recording interval for the trajectory and the simulation time: the number of frames times the trajectory recording interval is the total simulation time.
If you adjust the number of frames, the recording interval will be modified.
Job control:
-G HOST of GPU queue, default is HPC_GPU.
-H HOST of CPU queue, default is HPC_CPU.
-D Your Desmond path. <$Desmond>
2、AutoMD: Desmond分子动力学模拟一键式运行脚本:
下载地址:Wang-Lin-boop/AutoMD: Easy to get started with molecular dynamics simulation. (github.com)
脚本介绍:AutoMD:从初始结构到MD轨迹,只要一行Linux命令? - 知乎 (zhihu.com)
由于Desmond学术版本提供的力场有限,plmd无法有效引入其他力场参数,因此在plmd的迭代版本AutoMD上,通过配置D.E.Shaw Research开发的Viparr和Msys代码在Desmond中引入如Amber,Charmm等力场来帮助模拟系统的构建。
在个人笔记本(Linux)上下载以下代码文件,并上传至集群个人home的software中:
wget https://github.com/DEShawResearch/viparr/releases/download/4.7.35/viparr-4.7.35-cp38-cp38-manylinux2014_x86_64.whl
wget https://github.com/DEShawResearch/msys/releases/download/1.7.337/msys-1.7.337-cp38-cp38-manylinux2014_x86_64.whl
git clone git://github.com/DEShawResearch/viparr-ffpublic.git
git clone https://github.com/Wang-Lin-boop/AutoMD
随后进入desmond工作目录,启动虚拟环境以帮助安装Viparr和Msys:
cd /fsa/home/ljx_zhangzw/software
./run schrodinger_virtualenv.py schrodinger.ve
source schrodinger.ve/bin/activate
pip install --upgrade pip
pip install msys-1.7.337-cp38-cp38-manylinux2014_x86_64.whl
pip install viparr-4.7.35-cp38-cp38-manylinux2014_x86_64.whl
echo "export viparr=${PWD}/schrodinger.ve/bin" >> ~/.bashrc
同时,将viparr-ffpublic.git解压并添加到环境变量:
echo "export VIPARR_FFPATH=${PWD}/viparr-ffpublic/ff" >> ~/.bashrc
最后,将AutoMD.git解压并进行安装,同时指定可自动添加补充力场:
cd AutoMD
echo "alias AutoMD=${PWD}/AutoMD" >> ~/.bashrc
chmod +x AutoMD
source ~/.bashrc
cp -r ff/* ${VIPARR_FFPATH}/
#AutoMD -h
在输入命令介绍中,给出了四个示例:胞质蛋白-配体复合物、血浆蛋白-蛋白复合物、DNA/RNA-蛋白质复合物、以及需要Meastro预准备的膜蛋白。在这些示例中:
通过-i命令输入了当前路径所有的复合物结构.mae文件(也可以是Maestro构建好的模拟系统.cms文件);
通过-S指定了模拟系统的溶液环境,包括INC(0.15M KCl、SPC水、K+中和)、OUC(0.15M NaCl、SPC水、Na+中和),以及自定义溶液环境如"SPC:Cl:0.15-K-Cl+0.02-Mg2-Cl";
通过-b和-s定义了模拟系统的Box形状和大小;
通过-F定义力场参数,由于学术版Desmond的要求不被允许使用S-OPLS力场,仅可使用OPLS_2005或其他力场;OPLS适用于蛋白-配体体系,Amber适用于蛋白-核酸,Charmm适用于膜蛋白体系,DES-Amber适用于PPI复合体体系,但是这些搭配并不是绝对的,我们当然也可以尝试在膜蛋白体系上使用Amber力场,在核酸体系上使用Charmm力场,具体的情况需要用户在自己的体系上进行尝试;
-F Charmm ff
aa.charmm.c36m, misc.charmm.all36, carb.charmm.c36, ethers.charmm.c35, ions.charmm36, lipid.charmm.c36 and na.charmm.c36
-F Amber ff
aa.amber.19SBmisc, aa.amber.ffncaa, lipid.amber.lipid17, ions.amber1lm_iod.all, ions.amber2ff99.tip3p, na.amber.bsc1 and na.amber.tan2018
-F DES-Amber
aa.DES-Amber_pe3.2, dna.DES-Amber_pe3.2, rna.DES-Amber_pe3.2 and other force fields in -F Amber
Usage: AutoMD [OPTION] <parameter>
Example:
1) MD for cytoplasmic protein-ligand complex:
AutoMD -i "*.mae" -S INC -P "chain.name A" -L "res.ptype UNK" -F "S-OPLS"
2) MD for plasma protein-protein complex:
AutoMD -i "*.mae" -S OUC -F "DES-Amber"
3) MD for DNA/RNA-protein complex:
AutoMD -i "*.mae" -S "SPC:Cl:0.15-K-Cl+0.02-Mg2-Cl" -F Amber
4) MD for membrane protein, need to prior place membrane in Meastro.
AutoMD -i "*.mae" -S OUC -l "POPC" -r "Membrane" -F "Charmm"
Input parameter:
-i Use a file name (Multiple files are wrapped in "", and split by ' ') *.mae or *.cms ;
or regular expression to represent your input file, default is *.mae.
System Builder parameter:
-S System Build Mode: <INC>
INC: System in cell, salt buffer is 0.15M KCl, water is SPC. Add K to neutralize system.
OUC: System out of cell, salt buffer is 0.15M NaCl, water is SPC. Add Na to neutralize system.
Custom Instruct: Such as: "TIP4P:Cl:0.15-Na-Cl+0.02-Fe2-Cl+0.02-Mg2-Cl"
Interactive addition of salt. Add Cl to neutralize system.
for positive_ion: Na, Li, K, Rb, Cs, Fe2, Fe3, Mg2, Ca2, Zn2 are predefined.
for nagative_ion: F, Cl, Br, I are predefined.
for water: SPC, TIP3P, TIP4P, TIP5P, DMSO, METHANOL are predefined.
-l Lipid type for membrane box. Use this option will build membrane box. <None>
Lipid types: POPC, POPE, DPPC, DMPC.
-b Define a boxshape for your systems. <cubic>
box types: dodecahedron_hexagon, cubic, orthorhombic, triclinic
-s Define a boxsize for your systems. <15.0>
for dodecahedron_hexagon and cubic, defulat is 15.0;
for orthorhombic or triclinic box, defulat is [15.0 15.0 15.0];
If you want use Orthorhombic or Triclinic box, your parameter should be like "15.0 15.0 15.0"
-R Redistribute the mass of heavy atoms to bonded hydrogen atoms to slow-down high frequency motions.
-F Define a force field to build your systems. <OPLS_2005>
OPLS_2005, S-OPLS are recommended to receptor-ligand systems.
Amber, Charmm, DES-Amber are recommended to other systems. Use -O to show more details.
Use the "Custom" to load parameters from input .cms file.
Simulation control parameter:
-m Enter the maximum simulation time for the Brownian motion simulation, in ps. <100>
-r The relaxation protocol before MD, "Membrane" or "Solute". <Solute>
-e The ensemble class in MD stage, "NPT", "NVT", "NPgT". <NPT>
-t Enter the Molecular dynamics simulation time for the product simulation, in ns. <100>
-T Specify the temperature to be used, in kelvin. <310>
-N Number of Repeat simulation with different random numbers. <1>
-P Define a ASL to receptor, such as "protein".
-L Define a ASL to ligand and run interaction analysis, such as "res.ptype UNK".
-u Turn off md simulation, only system build.
-C Set constraint to an ASL, such as "chain.name A AND backbone"
-f Set constraint force, default is 10.
-o Specify the approximate number of frames in the trajectory. <1000>
This value is coupled with the recording interval for the trajectory and the simulation time:
the number of frames times the trajectory recording interval is the total simulation time.
If you adjust the number of frames, the recording interval will be modified.
Job control:
-G HOST of GPU queue, default is GPU.
-H HOST of CPU queue, default is CPU.
-D Your Desmond path. </fsa/home/ljx_zhangzw/>
-V Your viparr path. </fsa/home/ljx_zhangzw/schrodinger.ve/bin>
-v Your viparr force fields path. </fsa/home/ljx_zhangzw/viparr-ffpublic/ff>
示例任务提交脚本及命令,需修改相应计算节点和软件路径信息:
#BSUB -L /bin/bash
#BSUB -q 83a100ib
#BSUB -m m001
module load cuda/12.0.0
export Desmond=/fsa/home/ljx_zhangzw/
export viparr=/fsa/home/ljx_zhangzw/schrodinger.ve/bin
export VIPARR_FFPATH=/fsa/home/ljx_zhangzw/viparr-ffpublic/ff
alias AutoMD=/fsa/home/ljx_zhangzw/AutoMD/AutoMD
echo $PATH
echo $LD_LIBRARY_PATH
nvidia-smi
env|grep CUDA
AutoMD -i "*.mae" -S OUC -P "chain.name A" -L "res.ptype UNK" -F "OPLS_2005" -T 298 -s 10 -H m001 -G m001
在模拟参数控制命令中,通过-P和-L分别定义了mae文件中的受体和配体,-m默认
-T定义体系温度为298 K,默认进行100 ns和1次重复模拟次数,通过-H和-G指定了host文件中的相应计算队列。
四、性能表现:
笔者通过上述的示例任务提交脚本及命令调用Desmond和AutoMD进行了包含12个阶段的工作流:
Summary of user stages:
stage 1 - task
stage 2 - build_geometry
stage 3 - assign_forcefield
stage 4 - simulate, Brownian Dynamics NVT, T = 10 K, small timesteps, and restraints on solute_heavy_atom, 100 ps
stage 5 - simulate, Brownian Dynamics NVT, T = 10 K, small timesteps, and restraints on user defined sets, 100 ps
stage 6 - simulate, Langevin small steps NVT, T = 10 K, and restraints on solute heavy atoms, 12 ps
stage 7 - simulate, Langevin NPT, T = 10 K, and restraints on solute heavy atoms, 12 ps
stage 8 - simulate, Langevin NPT, T = 10 K, and restraints on solute heavy atoms, 12 ps
stage 9 - simulate, Langevin NPT and restraints on solute heavy atoms, 12ps
stage 10 - simulate, Langevin NPT and no restraints, 24ps
stage 11 - simulate, Final MD and analysis, 100000.0 ps
stage 12 - pl_analysis
(12 stages in total)
分别在83a100ib和72rtxib进行了相应尝试:
System Atoms:21173
System Residues:6363
System MOls:6202
Protein Atoms:2584
Protein Residues:162
Ligand Atoms:73
Ligand Residues:1
MIN time: 100 ps
MD time: 100000.0 ps
temperature: 298 K
Repeat: 1
Rondom numbers list: 2007
#Desmond
Multisim summary :
Total duration: 3h 38' 7"
Total GPU time: 3h 24' 42" (used by 8 subjob(s))
#HPC-83a100ib
Resource usage summary:
CPU time : 12745.00 sec.
Max Memory : 965 MB
Average Memory : 893.78 MB
Total Requested Memory : -
Delta Memory : -
Max Swap : -
Max Processes : 15
Max Threads : 45
Run time : 13262 sec.
Turnaround time : 13260 sec.
System Atoms:63284
System Residues:20178
System MOls:19955
Protein Atoms:2585
Protein Residues:224
Ligand Atoms:72
Ligand Residues:1
MIN time: 100 ps
MD time: 100000.0 ps
temperature: 298 K
Repeat: 1
Rondom numbers list: 2007
#Desmond
Multisim summary :
Total duration: 7h 51' 5"
Total GPU time: 7h 27' 48" (used by 8 subjob(s))
#HPC-72rtxib
Resource usage summary:
CPU time : 31316.00 sec.
Max Memory : 1634 MB
Average Memory : 400.16 MB
Total Requested Memory : -
Delta Memory : -
Max Swap : -
Max Processes : 15
Max Threads : 40
Run time : 85601 sec.
Turnaround time : 85602 sec.
笔者在测试时恰逢72rtxib g007中有同学在运行gmx,desmond的GPU利用率得到了进一步的凸显,但目前存在一点问题,即desmond在计算完毕后无法及时退出对GPU的占用,
***我将在错误解决后更新,或者如果你知道如何排除这个出错误,请在QQ群探讨***
五、模拟分析:
模拟完成后,将在工作路径创建一个名为结构文件名_随机种子号-md的文件夹,其中包含了:
多个阶段的工作流文件
AutoMD.msj
多个阶段 launching日志文件
md_multisim.log
多个阶段 launching阶段文件
md_1-out.tgz ... md_12-out.tgz
模拟系统结构文件
-in.cms and -out.cms
模拟执行参数文件
md.cpt.cfg and md-out.cfg
模拟轨迹文件夹
md_trj
模拟执行日志文件
md.log
检查点文件
md.cpt
md.ene
包含RMSF、RMSF、SSE等常规分析的结果文件
md.eaf
此外,还包含了部分的分析脚本文件,更多用于MD轨迹分析的脚本文件还可以通过访问官方脚本库获得Scripts | Schrödinger (schrodinger.com);
Resume previous MD
bash resume.sh
Extend MD
bash extend.sh # The total time will be extend to 2-fold of initial time
Cluster trajectory
bash cluster.sh "<rmsd selection>" "<fit selection>" "<number>"
Analysis Occupancy
bash occupancy.sh "<selection to analysis>" "<fit selection>"
Analysis ppi contact
bash ppi.sh "<Component A>" "<Component B>"
下载结构文件名_随机种子号-md的文件夹至个人笔记本,在TASKS中的Desmond找到Simulation Interaction Digram分析面板,并导入md.eaf文件进行常规分析。
六、致谢:
酷酷的水煮鱼 · Spring Cloud (六)单点登录 - 知乎 1 年前 |