Linux下使用SSH远程连接超算中心
背景
有时候计算量比较大,需要使用超算中心的电脑进行计算,或者需要远程连接另一台Linux电脑。如果是在windows下,使用xshell和xftp可以进行连接和文件的交互,那么Linux下如何操作呢,Linux只需要使用一下两个命令即可完成。
如果您是Win10的话,可以尝试用WSL。
SSH
远程连接电脑只需输入
username就是用户名了,ipaddress就是你远程主机的IP,这里我们认为是超算中心的IP
有一些可选参数
1 2
| -X : 调用图形界面 -p : 修改连接到服务器的端口(默认为22)
|
之后输入username的密码就可以了,第一次登陆系统会给出提示,真实性无法确认,yes就行了
我们尝试连接到武汉大学超算中心
![ssh01](ssh01.png)
登录成功了
SCP
我们如果在超算进行计算,还需要文件交互。在自己电脑上输入
1
| scp filedirA username@ipaddress:filedirB
|
就可以实现把文件A传到超算的目录B
反之要下载超算的文件,只需要交换前后顺序就可以
常用命令
sinfo
查看用户节点信息
squeue
查看正在运行的任务
sacct
查看结束的历史任务
scancel
取消任务
srun
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| 交互式提交作业:在 shell 窗口中执行 srun 命令,主要命令格式如下: srun [options] program srun 常用选项:srun 包括多个选项,其中最常用的选项主要有以下几个:
-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” 查看。 使用示例:在分区 hpxg 上运行 5 个任务 hostname: $srun –p hpxg –n hostname
|
sbatch
离线作业
参数与srun一致
MPI
按照最新的教程,配置MPI(选一个)环境:
1 2
| module load intel module load openmpi/2.1.5
|
普通用户只有hgxb的权限,所以无法按照教程中的
1 2 3 4
| #!/bin/bash
srun -n $SLURM_NTASKS xxx
|
去除-p选项就行
注意此时不需要指定-c选项,而是指定-n选项
Comments