USTC 信院集群使用
utils
本文字数:772 字 | 阅读时长 ≈ 3 min

USTC 信院集群使用

utils
本文字数:772 字 | 阅读时长 ≈ 3 min

https://git.ustc.edu.cn/ypb/gpu-cluster

首先要跟管理员要个账号,这个不做叙述

1. Dockerfile

因为使用集群必须用 Docker,所以这里要写一个 Dockerfile,当然也可以用现成的,也就是别人编译的

现成的

ssh g101 进入 G101 节点,sudo docker imges 查看有没有适合自己的

Dockerfile

编写一个 dockerfile,然后放到 /ghome/your_account/dockertmp 目录下,ssh g101 进入 G101 节点,用以下命令编译

sudo docker build -t bit:5000/your_docker_name dockertmp

注意这里的 bit:5000 是必须的,然后编译成功的话跟管理员说一下发布即可

2. Docker 命令

在 G101 节点使用,ssh g101 进入节点

  1. 查看 docker 镜像:sudo docker images
  2. 查看 docker 容器:sudo docker ps -a
  3. 停止容器:sudo docker stop <container_id>/<your_name>
  4. 进入容器:startdocker -u “-it --ipc=host --shm-size=64G -v /gdata/your_account/:/gdata/your_account/” -c /bin/bash bit:5000/wangyh_cuda101_v3

3. 提交 job

接下来有了自己的镜像之后就可以提交 job 了,但是提交之前需要先调试

调试

调试需要进入 G101 节点,因此 ssh g101 进入节点,然后选择一个镜像开容器

startdocker -u "--ipc=host --shm-size=64G -v /gdata/your_account/:/gdata/your_account/ --gpus all" -c /bin/bash bit:5000/wangyh_cuda101_v3

然后进入容器之后按照常规操作调试即可,但是注意,即使这个容器是你用自己的镜像创建的,应该也没有 root 权限,如果需要的话跟管理员说一下给自己开一个 root 权限的容器

提交 job

提交 job 需要写 xxx.pbs 文件,文件内容如下

#PBS    -N  11_recur
#PBS    -o  /gdata/wangyh2/out/11_recur/out-mango
#PBS    -e  /gdata/wangyh2/out/11_recur/err-mango
#PBS    -l nodes=1:gpus=4:q
#PBS    -r y
cd $PBS_O_WORKDIR
echo Time is `date`
echo Directory is $PWD
echo This job runs on following nodes:
echo -n "Node:"
cat $PBS_NODEFILE
echo -n "Gpus:"
cat $PBS_GPUFILE
echo "CUDA_VISIBLE_DEVICES:"$CUDA_VISIBLE_DEVICES
startdocker -u "--ipc=host --shm-size=64G -v /gdata/your_account/:/gdata/your_account/ --gpus all" -c "python /gdata/wangyh2/11_recur/train.py" bit:5000/wangyh_cuda101_v3

4. 其他的一些命令

  1. 查看所有人的 job 以及卡的利用情况:chk_gpu
  2. 只查看自己的 job:chk_gpu |grep your_name
  3. 提交自己的 job:【在 gwork 上】qsub xxx.pbs
  4. kill 自己的 job:qdel task_id

5. 其他的一些 Bug

  1. 在集群上如果代码里有创建文件夹什么的,要用绝对路径,不要用相对路径
  2. 如果有的命令显示没有权限,可以加上 sudo,但是 sudo 的命令不多

持续更新 ing

12月 31, 2024
11月 17, 2024