为了避免触发网络安全封禁,用户通过超算平台向校园网服务器发起访问时,不允许执行扫描、爆破 攻击等任务,一旦发现有上述行为,将关闭用户账号并按照网络安全相关法规处理。
为了保证所有用户能够正常登录到超算平台的workstation节点,该节点仅用于ssh登录和提交作业,所以限制了每个用户可用的CPU和内存资源。当用户在workstation传输大量文件时,可能会超出CPU和内存的资源限制,被系统自动终止。但是超算平台的计算节点上没有CPU和内存的资源限制,因此,用户可以申请任意一个计算节点,通过计算节点进行文件的上传/下载,同时要确保计算节点的申请时长大于文件传输时长。
首先通过指定端口登录到公共集群的workstation节点,GPU集群的端口是20022,CPU集群的端口是20674,NPU集群的端口是20888;因为公共集群采用的是slurm调度管理,可以使用slurm的salloc命令或sbatch脚本进行资源申请,例如:
# 从CPU集群的c003t1分区申请4个计算节点的160个CPU核心,使用1天,费用从项目组xxx_grp支出
salloc -p c003t1 -N4 -n 160 --comment=xxx_grp --time=1-00:00:00
# 从GPU集群的g078t1分区申请4张A800加速卡和32个CPU核心,使用1天,费用从项目组xxx_grp支出
salloc -p g078t1 --gres=gpu:4 -n 32 --comment=xxx_grp --time=1-00:00:00
# 申请多机多卡资源的示例
# 从GPU集群的g078t2分区的2个节点分别申请8张A800加速卡,一共申请128个CPU核心,使用1天,费用从项目组xxx_grp支出
salloc -p g078t2 -N2 --gres=gpu:8 -n 128 --comment=xxx_grp --time=1-00:00:00
# 从GPU集群的dcu分区申请4张DCU加速卡,使用7天,费用从项目组xxx_grp支出
salloc -p dcu --gres=gpu:dcu:4 --comment=xxx_grp --time=7-00:00:00
# 从GPU集群的dcu分区申请4张MLU加速卡,使用7天,费用从项目组xxx_grp支出
salloc -p mlu --gres=gpu:mlu:4 --comment=xxx_grp --time=7-00:00:00
# 从NPU集群的ascend分区社区内8张NPU加速卡,使用7天,费用从项目组xxx_grp支出
salloc -p ascend --gres=gpu:npu:8 --comment=xxx_grp --time=7-00:00:00
通过salloc从GPU集群一次性申请多张卡,ssh连接多张卡所在的GPU计算节点,运行nvidia-smi -L命令,查看GPU卡的uuid,在程序中分别指定每张GPU的uuid进行使用。
可以通过ssh转发实现。例如:在笔记本执行
ssh -L 4444:cpu1:31337 u2010xxxx@10.160.16.3 -p 20674
其中,4444是笔记本的端口,cpu1是申请到的计算节点,31337是在计算节点cpu1上开启的端口,u2010xxxx是超算平台账号,20674是CPU集群的端口号,也可以换成其他GPU集群的20022
此时,在笔记本的本地浏览器访问127.0.0.1:4444就可以访问计算节点cpu1的31337端口了。
文件存储的用量是将本账号下所有文件占用的存储空间相加所得,包括home目录以及group目录内属于本账号的所有文件。默认的文件存储配额是2TB。当用量超过2TB时,文件存储的配额不足,用户将无法写入新的文件。通过以下命令可以显示目录内的普通文件和隐藏文件所占用的存储空间:
find . -maxdepth 1 | while read file; do size=$(du -sh "$file"); echo "$size $file"; done
用户通过删除文件可以减小文件存储的用量,释放文件存储的配额。如果是通过命令行的rm命令删除,可以立刻释放文件存储配额;如果是通过web方式删除,需要等待1小时之后生效并释放文件存储配额。
Singularity 是一种容器技术,主要用于高性能计算和科学计算环境。Singularity可以将复杂的软件环境和应用程序封装在一个容器中,在不同的计算系统上以可重复、可移植的方式运行。超算平台提供了一些封装好的基于GPU计算节点的singularity容器,部署于/opt/app/sif/目录内,具体使用方法如下:
singularity shell --nv -B /opt/app/nvidia/535.154.05/lib/ /opt/app/sif/ubuntu-22.04-amd64.sif
Singularity> ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
Singularity> export LD_LIBRARY_PATH=/opt/app/nvidia/535.154.05/lib/:$LD_LIBRARY_PATH
Singularity> nvidia-smi
华为昇腾 910B 芯片是一款高性能的人工智能处理器,采用华为自研的达芬奇架构,拥有高度优化的神经网络处理单元(NPU)设计,为人工智能的推理和训练任务提供计算支持。半精度(FP16)算力处于较高水平,能够快速处理大规模的神经网络计算任务,可满足多种复杂人工智能应用的需求。
source /opt/app/driver_24.1.rc2.b020/driver/bin/setenv.bash
source /opt/app/cann-toolkit_8.0.RC2/ascend-toolkit/set_env.sh
npu-smi info | more
+------------------------------------------------------------------------------------------------+
| npu-smi 24.1.rc2.b020 Version: 24.1.rc2.b020 |
+---------------------------+---------------+----------------------------------------------------+
| NPU Name | Health | Power(W) Temp(C) Hugepages-Usage(page)|
| Chip | Bus-Id | AICore(%) Memory-Usage(MB) HBM-Usage(MB) |
+===========================+===============+====================================================+
| 0 910B3 | OK | 93.8 29 0 / 0 |
| 0 | 0000:C1:00.0 | 0 0 / 0 3163 / 65536 |
source /opt/app/anaconda3/bin/activate
新建环境的时候 python版本固化一下 Python 3.8.11
pip3 install attrs numpy decorator sympy cffi pyyaml pathlib2 psutil protobuf scipy requests absl-py wheel typing_extensions
conda create -n <自定义环境名> --clone /opt/app/anaconda3/envs/cann-toolkit_8.0.RC2
请参考NVIDIA官方文档,经验证可以运行。
https://github.com/NVIDIA/multi-gpu-programming-models
请参考以下技术文档: https://hpc.cloud/d/280-vscode
请参考以下技术文档: https://hpc.cloud/d/323-gpu
请参考以下技术文档: https://hpc.cloud/d/310