使用中南大学高性能计算平台训练深度神经网络

📅 2026/7/6 21:33:53
使用中南大学高性能计算平台训练深度神经网络
参考文件中南大学高性能计算平台用户手册零、基础概念0.1 账号申请和缴费见用户手册用户注册指南、高性能计算平台二次认证登录操作流程和线下缴费流程。0.2 如何确定当前是否正在被收费在ternimal中查看当前的节点如上图所示其中前缀是ln的节点是登录节点前缀是freecpuQ的节点是免费的CPU节点这两个都是免费的其余的是付费的。此外可以在终端输入 checkbilling.sh 查看账单如果费用不断上涨则处于收费节点。0.3 如何结束作业任务模型训练完成以及手动杀死作业后并不会自动地退出gpu节点因此仍然在计费。结束作业有四种方法1先使用squeue查看所有任务的ID然后使用 scancel ID 杀死指定ID的作业。squeue 查看队列中的作业2在终端输入 scancel -uwhoami取消已经提交的作业。3在程序的最后一行添加如下代码使程序执行shell命令。importos os.system(scancel -u whoami)4申请节点时使用-t参数设置最大占用时间详见5.1。0.4 计费规则2元/卡/小时。卡数为max{gpu数向上取整cpu数/10}。8卡的收费标准不一样。一、使用流程总览超算的使用流程可以总结为1.登录。2.创建conda环境如果之前已经创建过则跳过这一步。3.申请GPU节点。4.激活conda环境并运行程序。5.程序运行完成后退出GPU节点此处需要留意程序运行结束后并不会自动退出GPU节点退出方法参考上面基础概念中的内容或用户手册5.5节。scancel-取消作业1.1 登录登录方法与登录服务器相同可以使用MobaXterm或VscodeMatlab等带图形界面的软件也可以使用VNC。1.1.1 使用MobaXterm登录step1首先点击session然后点击ssh在弹出来的界面中填入高性能计算中心发来邮件中的Host、Username和Port点击ok。图1————————————————————————————————————————————————————————图2step2双击刚刚创建的session输入密码和二次验证码即可进入shell。1.1.2 使用vscode登录推荐参考【Linux】四VS Code远程开发方式-实验室服务器使用VS Code远程开发中第二节VS code连接使用说明。1.2 创建conda环境python安装和使用 conda 安装软件Step1. 导入 conda 环境module load anaconda3/2022Step2. 初始化 shell 环境(已经初始化过的可以跳过这一步)conda init bashStep3. 创建自己的 python 环境conda create-n mypy3## mypy3代表创建的环境名字Step4. 激活 mypy3 环境conda activate mypy3## mypy3代表创建的环境名字Step5. 搜索可用的 python 版本conda search pythonStep6. 安装指定版本的 pythonconda install python3.7.9或将Step3~Step6合并为conda create--name mypy3 python3.7.9-y1.3 安装cuda超算默认的有cuda 11.4虽然在登录节点没有但是切换到gpu节点就会调用因此通常不需要自己安装cuda。此外超算也提供了cuda 9.1、cuda 11.4.3、cuda 12.3.1使用module进行环境管理可以使用module load env_name加载其它的环境。使用 Module 加载软件环境查看超算有哪些公共软件可以使用module avail指令。如果cuda版本仍不能满足要求可以跟随下面的资料操作。【Linux】中南大学高性能计算平台深度学习环境配置(cuda10.1 torch1.7.1)1.4 安装pytorch超算可以跟随下面的资料安装gpu版本的pytorch安装方法基本等同于在普通服务器上安装的过程。中南大学高性能中心安装pytorchconda install pytorch1.10.1torchvision0.11.2torchaudio0.10.1cudatoolkit11.3-c pytorch-c conda-forge个人的服务器按照下面的资料安装gpu版本的pytorch。用Anoconda创建虚拟环境安装Pytorch安装与服务器cuda适配的pytorch激活虚拟环境后在shell里输入python进入python环境检查gpu版本的pytorch是否安装成功importtorch torch.cuda.is_available()如果返回结果为True表示安装成功。1.5 申请并进入GPU节点1.5.1 申请GPU节点可以使用srun或salloc申请GPU节点详细介绍见用户手册srun 实时运行作业或salloc 交互式运行作业。其中推荐使用salloc申请节点因为salloc申请节点后可以在不同的终端中使用ssh接入节点。训练深度神经网络时常常会在终端输出训练的信息但是又常常需要查看GPU和CPU的运行状态在不同的终端接入同一个节点可以实现这个需求。使用salloc申请指令的示例如下salloc-A pi_luhao-p gpu4Q-q gpuq-N1-c40--gresgpu:4其中-A是计费账户。-p是作业将被提交到的分区分区有gpu2Q、gpu4Q、gpu8Q使用sinfo可以查看分区的类型和各分区的状态参见用户手册sinfo-查看分区状态分区类型和申请的GPU数量不是必须对应的例如在gpu4Q分区可以只申请一或两块GPU。-q是指定qos使用GPU则qos就是gpuq可使用qosinfo命令查看个人可使用的qos服务。-N指定节点数。-c每个任务所需要的cpu核心数深度学习训练需要大量地读取数据这个值要拉大一般是GPU数×10。gresgpu:1指定申请的GPU数目例子中是一个。-t允许作业运行的最大时间。详细信息可以参考用户手册srun 实时运行作业或salloc 交互式运行作业中的其它常用参数。1.5.2 进入GPU节点如果是使用salloc申请的节点假设申请成功后返回的作业号为1078858申请到的节点是gpu205这里比5.2.1多一步即用ssh接入节点ssh gpu205 # 登录到gpu205上调式作业接入成功后就可以激活环境运行程序了。程序运行时可以新开一个终端在新的终端里输入ssh gpu205也可以接入这个节点并且新的终端里不会显示程序运行时打印出的信息。如果是使用srun申请的节点如图所示申请之后将从登录节点跳到gpu节点在这个节点下激活conda环境就可以像在pycharm或者vscode中一样运行程序了。三、文件传输文件传输可以将服务器上的数据传输到超算的个人账号无需使用Mobaxterm作为中转。操作步骤3.1 压缩文件将一个文件夹中的多个子文件压缩为tar.gz文件假设你的目录结构如下你想要压缩subdir1和subdir3及其所有内容到名为selected_subdirs.tar.gz的归档文件中。Code/data/yourfolder├── subdir1│ └── file1.txt├── subdir2│ └── file2.txt└── subdir3├── file3.txt└── file4.txt如果子文件夹名称是已知且连续的直接指定多个子文件夹的方法tar-czf selected_subdirs.tar.gz subdir1/subdir3/3.2 上传scp-P Port[-r]file usernameHost:~/该命令为把本地文件file上传到服务器中个人的目录下如果你的用户名为hpcxxx则上传到/public/home/hpcxxx文件夹中。如果file是个目录的话需要加上-r参数。示例:scp-P8220README.md hpcxxxhpclogin1.csu.edu.cn:~/3.3下载scp-P Port[-r]usernameHost:~/file./该命令为把远程服务器home目录下的file文件下载到本地当前目录如果file是个目录需要加上-r参数。示例scp-P8220-r hpcxxxhpclogin1.csu.edu.cn:~/file/./3.4 解压tar.gz文件假设你的tar.gz文件名为example.tar.gz并且位于当前目录下tar-xzf example.tar.gz其中-x 表示提取extract-z 表示通过gzip压缩或解压-f 表示后续接的是归档文件名上述命令执行后会将example.tar.gz文件中的所有内容解压到当前工作目录下。如果你想要指定解压到特定的目录而非当前目录可以在文件名后面添加路径tar-xzf example.tar.gz-C/path/to/destination/directory注意事项不要为了文件夹整洁有序而删除或移动个人文件夹下的.goole_authenticator等文件否则将无法登录。发现一个挺奇怪的问题有时候用vscode尝试很多次也连不上 但是用mobax连接之后vscode就可以顺利连上了。