NSCC集群使用笔记

2024-06-10 08:25:30 浏览数 (2)

1. 账号申请

如果是 NUS,NTU 或者 ASTAR 的学生,可以直接用自己的学校 ID 登录。登录不上的话可以发邮件联系 nscc 工作人员即可,基本上第二天就会回复解决。

2. VSCode 连接

账号申请下来后进官网设置你的 ssh key 之类的东西就可以登录了。第一次登录成功后,可以参考这篇文章设置ssh免密登录:https://cloud.tencent.com/developer/article/1836745

代码语言:javascript复制
Host NSCC
    HostName aspire2a.nus.edu.sg
    User username

3. 使用

  1. 创建一个后缀为pbs的任务文件 task.pbs
代码语言:javascript复制
#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)"
  1. 运行任务
代码语言:javascript复制
qsub ./task.pbs

完了后会返回 jobid,假设是 123456.pbs101

  1. 查看任务的申请情况
代码语言:javascript复制
qstat -f 123456.pbs101

申请成功的话会输出一堆信息,重要的如下:

代码语言:javascript复制
        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环境变量:

代码语言:javascript复制
export PBS_JOBID=123456.pbs101
  1. 连接到节点
代码语言:javascript复制
ssh x1022c1s3b31
  1. 连接成功后环境安装

推荐使用 singularity,集群里有提供 pytorch 镜像,路径在/app/apps/containers/pytorch,方法如下:

代码语言:javascript复制
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 了

0 人点赞