作业描述:新竹清华大学,周志远老师的并行计算课程,作业一
- 环境配置
在slurm平台搭建成功的基础上,(使用
sinfo
查看,应该如下图所示),包含2台机器(虚拟机ubuntu16.04 64位),一台master, 既作为control节点,又作为computing节点,配置为2核cpu。一台slaver,只作为computing节点,配置为一核cpu。 - 配置共享nfs文件服务器
这是根据报错来的,我在master节点独立目录下运行任务时报错如下图所示,显示在slaver节点上找不到这个目录,于是采用share memory的方式,根据这篇nfs配置对nfs进行配置。
我的配置是将物理主机的/mnt/nfs_share
作为共享目录,然后将虚拟机(master and slaver)的/mnt/nfs_clientshare
作为挂载目录1
2
3# 需要注意的一条命令,在nfs client上对nfs server上目录进行挂载
sudo mount 192.168.1.103:/mnt/nfs_share /mnt/nfs_clientshare
# 注意,最后面没有 '/',不然好像会挂在失败(未提示错误但是就是显示不出文件) - 修改slaver状态
我这默认salver’s state=down, 需要手动设置其状态为idle,然后再使用
sinfo
查看节点状态scontrol: update NodeName=slave1 State=down
- hello.c进行测试
用master主机在共享目录下下载测试文件,运行如下
1
2
3# mpicc编译
mpicc hello.c -o hello
srun -n 3 hello结果如下图所示,但是按道理来说应该是0 of 2, 1 of 2, 2 of 2啊,为啥是3个 0 of 1 呢,奇怪