NSCC集群使用笔记
1. 账号申请
如果是 NUS,NTU 或者 ASTAR 的学生,可以直接用自己的学校 ID 登录。登录不上的话可以发邮件联系 nscc 工作人员即可,基本上第二天就会回复解决。
2. VSCode 连接
账号申请下来后进官网设置你的 ssh key 之类的东西就可以登录了。第一次登录成功后,可以参考这篇文章设置ssh免密登录:https://www.cnblogs.com/marsggbo/p/14882421.html
Host NSCC
HostName aspire2a.nus.edu.sg
User username
3. 使用
- 创建一个后缀为
pbs
的任务文件task.pbs
:
#l/bin/bash
#PBS -q normal
#PBS -l select=1:ngpus=4
#PBS -P personal-username
#PBS -l walltime=24:00:00
# Sieep command to hold the node
# The numbor of seconds is 24 hours + 60 minutes + 60 seconds = 86400
nvidia-smi
# sleep with python!
module load python/3.10.9
python -c "import time; time.sleep(86400)"
- 运行任务
qsub ./task.pbs
完了后会返回 jobid,假设是 123456.pbs101
- 查看任务的申请情况
qstat -f 123456.pbs101
申请成功的话会输出一堆信息,重要的如下:
PBS_O_SHELL=/bin/bash,
PBS_O_HOST=asp2a-login-nus01.head.cm.asp2a.nscc.sg,
PBS_O_WORKDIR=/home/users/nus/username/code,
PBS_O_SYSTEM=Linux,PBS_O_QUEUE=normal,nvidia_group_id=31
comment = Job run at Sun Jun 09 at 20:32 on (x1022c1s3b31:ngpus=4:ncpus=64
:mem=461373440kb)
etime = Sun Jun 9 20:32:06 2024
run_count = 1
Submit_arguments = /home/users/nus/usernmae/task.pbs
project = personal-username
Submit_Host = asp2a-login-nus01.head.cm.asp2a.nscc.sg
上面输出的 x1022c1s3b31
就是节点地址,在连接节点之前设置一下 PBS_JOBID
环境变量:
export PBS_JOBID=123456.pbs101
- 连接到节点
ssh x1022c1s3b31
- 连接成功后环境安装
推荐使用 singularity,集群里有提供 pytorch 镜像,路径在/app/apps/containers/pytorch
,方法如下:
module load singularity
singularity instance start --nv /app/apps/containers/pytorch/pytorch_23.05_py3.sif env_name # 创建container
singularity shell --nv instance://env_name # 以交互式方式进入 container
至此,你就可以开始用 pytorch 和 GPU 了