博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
openpbs环境下GPU版NAMD的作业提交问题
阅读量:4197 次
发布时间:2019-05-26

本文共 1230 字,大约阅读时间需要 4 分钟。

本文纯属友情帮忙的产物,在此之前关于GPU只是帮人在linux 64位环境下编译过NAMD。Torque从2.5.4版本起已经支持GPU的调度了,只不过作业调度得用pbs_ched,maui还是不支持。经过大半晚上的摸索,总算是勉强搞定此事。

先说说之前的问题,nodes结点里已经添加了gpu数的描述:gpus=6,pbsnodes也可以看到gpus=6的信息。并且,脚本提交里加了gpus=x的参数后也能调度GPU资源了,但运行之后却发现多个作业都挤在一个GPU上了,显然有问题。说一说我的解决思路吧:

1、torque的编译似乎没什么特别的,首先检查node文件(TORQUE_HOME/server_priv/nodes)的配置:

node1 np=x gpus=y

node2…

pbsnode检查一下,应该能看到关于结点的gpus=y的描述信息。具体可以参考。

2、检查作业提交后是否正确生成了$PBS_GPUFILE,这一步很关键,费了好大劲才查到相关说明,简单写个如下脚本

#PBS -S /bin/bash

#PBS -l nodes=1:ppn=2:gpus=2

echo $PBS_GPUFILE

如正确则应由如下的输出

node1-gpu1

node1-gpu0

表示作业分配到了node1的gpu 0和gpu 1$PBS_GPUFILE一般在/var/spool/torque/aux下放着。

3、第三步,就是怎么用$PBS_GPUFILE内容生成NAMD运行命令的+device参数值,在提交脚本里加入如下语句:

for i in `sed ‘s/node1-gpu//’ $PBS_GPUFILE`;do device=$device$i”,”;done

一个完整的NAMD提交脚本可以写成如下形式:

#PBS -S /bin/bash

#PBS -l nodes=1:ppn=2:gpus=1

for i in `sed ‘s/node1-gpu//’ $PBS_GPUFILE`;do device=$device$i”,”;done

cd /opt/NAMD

/opt/NAMD/charmrun  ++local +p2 /opt/NAMD/namd2  +idlepoll +devices $device/path/to/namd-config-file

大概解释一下,+p2对应着ppn=2,而$device的值形如“0,1,”,即将分配给作业的gpu编号用逗号分隔开来,作为+device选项的值。由此就正确的设置了NAMD对GPU的使用。

4、ok了,你可以多提交几个作业,然后用nvidia-smi -a命令查看所有gpu device的使用情况,看跟实际分配情况是否一致。

最后说一句,网上实在没有找到好的解决办法,我仔细测试过此法针对但结点的调度是好使的。多结点应该就没戏了。

转载请注明: 转载自

本文链接: 

你可能感兴趣的文章
android——学生信息显示和添加
查看>>
Android——ImageSwitcher轮流显示动画
查看>>
Android——利用手机端的文件存储和SQLite实现一个拍照图片管理系统
查看>>
图像调优1:清晰度相关参数MTF,SFR,MTF50,MTF50P 以及TVL的概念以及换算说明
查看>>
罗永浩欲直播带货,京东说可以帮忙联系
查看>>
B站,正在变成下一个“公众号”?
查看>>
小米启动安心服务月 手机家电产品可免费清洁保养
查看>>
刘作虎:一加新品将全系支持 5G
查看>>
滴滴顺风车上线新功能,特殊时期便捷出行
查看>>
不会延期!iPhone 12S预计如期在9月发售:升级三星LTPO屏幕
查看>>
腾讯物联网操作系统TencentOS tiny线上移植大赛,王者机器人、QQ公仔、定制开发板等礼品等你来拿 !
查看>>
为云而生,腾讯云服务器操作系统TencentOS内核正式开源
查看>>
腾讯汤道生:开源已成为许多技术驱动型产业重要的创新推动力
查看>>
微信小程序多端框架 kbone 开源
查看>>
视频质量评估算法 DVQA 正式开源
查看>>
腾讯优图开源视频动作检测算法DBG,打破两项世界纪录
查看>>
在中国提供了60亿次服务的疫情模块向世界开源 腾讯抗疫科技输出海外
查看>>
在中国提供了60亿次服务的疫情模块向世界开源
查看>>
世界卫生组织与腾讯加深合作 新冠肺炎AI自查助手全球开源
查看>>
Hibernate 中get, load 区别
查看>>