当前位置:网站首页>服务器的部署及使用说明
服务器的部署及使用说明
2022-06-23 15:09:00 【代码小白的成长】
武汉大学超算门户: http://hpc.whu.edu.cn
所需的相关软件
链接:https://pan.baidu.com/s/1HklkpOJaWkbnPtH16q2VwA
提取码:jrzn
1.部署VPN环境
- 为了能在校外使用超算资源,超算中心建立了VPN,请访问http://hpc.whu.edu.cn/tools下载openVPN客户端并安装(由于我给的网盘链接中有相关的软件,就可以不用访问链接了),windows版本为openvpn-install-2.3.10-I602-x86_64.rar

- 安装完成后,请将附件wangping.tar.gz解压缩后的所有文件拷贝到已安装的openVPN客户端的config目录中
- 运行openVPN GUI

- 屏幕右下角出现openVPN GUI图标。点击图标中的connect,等待连接。连接成功(通过ping 172.29.0.1测试是否成功),如何通过ping测试参考链接https://jingyan.baidu.com/article/4ae03de3fe35ed3eff9e6b91.html

2. 登录节点服务器
- 登录地址:202.114.96.180 (这是网外使用校园网VPN)
- 采用SSH和SFTP的方式登录节点以及远程传输软件,推荐软件putty和filezilla。putty软件使用参考链接https://jingyan.baidu.com/article/90bc8fc8b9bca1f653640ca5.html

注明:用户名和密码是要自己申请了,这个我不能透露哦
3. 提交作业
参考:http://hpc.whu.edu.cn/info/1025/1133.htm
文件传输:
武汉大学高性能计算平台文件系统被分为/home 、/project和/workfs三个分区:
- /home 分区: 该分区下的用户主目录为用户默认家目录,仅用于存储用户的环境变量等信息。在脚本中使用“/home/系统账号”引用该分区下的用户主目录。该分区的磁盘容量较小,其磁盘限额为每用户1GB,长期保存。所有登录服务节点和计算节点皆可以访问该分区下的文件。
- /project 分区(2019年12月31日及之前开通的用户) /project 分区为数据存放区域,主要用于项目文件和运行作业。在脚本中使用“/project/系统账号”引用该分区下的用户主目录。同时用户也可通过“/home/系统账号/project”访问该分区。该分区磁盘容量大,数据读写快。其磁盘限额为每用户1TB,长期保存。所有登录服务节点和计算节点都可以访问该分区下的文件。
- /dat01 分区 (2020年1月1日之后开通的用户): /dat01 分区为数据存放区域,主要用于项目文件和运行作业。在脚本中使用“/dat01/系统账号”引用该分区下的用户主目录。同时用户也可通过“/home/系统账号/dat01”访问该分区。该分区磁盘容量大,数据读写快。其磁盘限额为每用户1TB,长期保存。所有登录服务节点和计算节点都可以访问该分区下的文件。
- /workfs 分区: /workfs分区为数据存放区域,主要用于数据文件。在脚本中使用“/workfs/系统账号”引用该分区下的用户主目录。同时用户也可通过"/home/系统账号/workfs"访问该分区。该分区磁盘容量大,数据读写快。其磁盘限额为每用户3TB,超过3个月的数据会自动清理。所有登录服务节点和计算节点都可以访问该分区下的文件。
数据传输:从外部机器向计算平台上传或下载文件,可以使用 sftp 客户端。
FileZilla中如何上传自己的工程,参考链接http://www.360doc.com/content/14/0404/11/10454742_366320479.shtml
但是上传之前需要明确自己的工程上传的位置,这就需要进行磁盘限额查询。
磁盘限额查询:
在putty中输入磁盘限额查询命令,该命令会判断用户在home, workfs或者dat01下,输出相应配额:
/bin/myDiskQuota
结果显示,当前的/home分区限额都超出了,如果将工程上传在该分区,可能会出现传输失败的情况。因此,考虑另2个分区。通过cd …反向追踪找到了dat01分区,进入后发现里面有很多用户,并成功的找到了我的用户名。而另一个分区workfs,我也查看了,但是没有我的用户名,别人的用户,没有密码也进不去。

由于我每次登陆进去的都是/home/用户名,反向搜索也不方便操作。故,我需要创建dat01的链接文件到当前路径下。
创建连接文件:
链接文件创建命令: ln -s 源文件路劲 目的文件路劲
进入dat01分区中我的用户huqibiao, 并将工程上传到里面的project目录下
利用软件FileZilla把我的测试工程SSNGAN导入到project目录下
接下来就是怎么把这个工程执行掉,参考了一下链接
https://www.cnblogs.com/huchong/p/9159887.html
执行python工程项目:
要执行项目,那么就要考虑运行环境啥的有没有。参考链接
https://blog.csdn.net/sowhatgavin/article/details/81878245
未导入anaconda模块前,python默认是2.7的
用命令module avail查看当前用户的环境,看到了熟悉的anaconda和cuda模块,将它们导入

anaconda中是自带python3.7编译器的,如果要训练模型,运行Tran_GAN.py文件就可以了
python Tran_GAN.py
运行后显示ImportError: No module named torchvision错误
这是因为我们的程序调用了torchvision包,而我们未安装这个依赖包,需要安装后程序才能正常运行,直接输入" pip install 包名 –user "即可
在安装库的时候,我出现了[Errno 122] Disk quota exceeded错误,是因为磁盘配额不够了,即磁盘已满或超出了用户所能使用的配额上限。尝试了很多方法,没有解决。后面的工作就希望成功了的,告诉我一下。
用户查看其节点的状态:sinfo
其中,PARTITION 表示分区,NODES 表示结点数,NODELIST 为结点列表,STATE 表示结点运行状态。其中,idle 表示结点处于空闲状态,alloc 表示结点已经分配了一个或多个作业。
** 批处理作业提交命令 **: sbatch
-n, –ntasks=number
指定要运行的任务数。请求为 number 个任务分配资源,默认为每个任务一个处理器核。
-c, –cpus-per-task=ncpus
告知资源管理系统控制进程,作业的每个任务需要 ncpus 个处理器核。若未指定此选项,则控制进程默认为每个任务分配一个处理器核。
-N, –nodes=minnodes[-maxnodes]
请求为作业至少分配 minnodes 个结点。调度器可能觉得在多于 minnodes 个结点上运行作业。可以通过 maxnodes 限制最多分配的结点数目(例如“-N 2-4”或“–nodes=2-4”)。最少和最多结点数目可以相同以指定特定的结点数目(例如, “-N 2”或“–nodes=2-2” 将请求两个且仅两个结点)。分区的结点数目限制将覆盖作业的请求。如果作业的结点限制超出了分区中配置的结点数目,作业将被拒绝。 如果没有指定-N,缺省行为是分配足够多的结点以满足-n 和-c 参数的需求。在允许的限制范围内以及不延迟作业开始运行的前提下,作业将被分配尽可能多的结点。
-p, –partition=partition name
在指定分区中分配资源。请使用 -p [hpxg|hpib|debug] 指定所使用的分区。
-w, –nodelist=node name list
请求指定的结点名字列表。作业分配资源中将至少包含这些结点。列表可以用逗号分隔的结点名或结点范围(如 n[0001-0005,0007,…])指定,或者用文件名指定。如果参数中包含 “/” 字符,则会被当作文件名。如果指定了最大结点数如-N 1-2,但是文件中有多余 2 个结点,则请求列表中只使用前 2 个结点。
-x, –exclude=node name list
不要将指定的结点分配给作业。如果包含 “/” 字符,参数将被当作文件名。srun 将把作业请求提交到控制进程,然后在远程结点上启动所有进程。如果资源请求不能立即被满足,srun 将阻塞等待,直到资源可用以运行作业。如果指 定了–immediate 选项,则 srun 将在资源不是立即可用时终止。
-h, –help
若需使用 srun 更多选项,可通过 “srun –h” 或 “srun –help” 查看。
查看作业运行情况:squeue
其中,JOBID 表示任务 ID,Name 表示任务名称,USER 为用户,TIME 为已运行时间,NODES 表示占用结点数,NODELIST 为任务运行的结点列表。
边栏推荐
- Embedded software architecture design - program layering
- 要买的理财产品年限长,划算吗?
- Redis集群操作的方法
- 直播间源码在开发前期必须做的工作及开发步骤
- FPGA 常用缩写及单词在工程领域内的意义
- stylegan3:alias-free generative adversarial networks
- Important knowledge of golang: rwmutex read / write lock analysis
- PHP 2D array insert
- [pyside2] pyside2 window is on the top of Maya (note)
- php 二维数组插入
猜你喜欢

JS garbage collection

重卡界销售和服务的“扛把子”,临沂广顺深耕产品全生命周期服务

Important knowledge of golang: sync Cond mechanism

SQL窗口函数怎么使用
Solution to the problem that MySQL cannot be started in xampp

How can genetic testing help patients fight disease?

volatile~多线程下变量不可见

js遍历数组(用forEach()方法)

Slice() and slice() of JS

Raspberry PI installing the wiring pi
随机推荐
JS创建一个数组(字面量)
139. 單詞拆分
Unshift() and shift() of JS
mysql事务与锁
MQ消息中间件理论详解
地平线开发板 调试
积分商城要如何做才能获取到利润
Important knowledge of golang: waitgroup parsing
要买的理财产品年限长,划算吗?
Matlab| sparse auxiliary signal denoising and pattern recognition in time series data
Memory Consistency and Cache Coherence —— 内存一致性
Arrays in JS
Six programming insights in these five years!
Converging ecology, enabling safe operation, Huawei cloud security, cloud brain intelligent service security
力扣每日一题-第25天-495.提莫攻击
Leetcode 450.删除二叉搜索树中的结点
Sfod: passive domain adaptation and upgrade optimization, making the detection model easier to adapt to new data (attached with paper Download)
Slice() and slice() of JS
图片读取:Image.open(ImgPath)
30. concatenate substrings of all words

