在超算平台运行matlab程序

在超算平台运行matlab程序

  1. 注册超算账号 登录xshell
  2. 上传程序和文件至服务器
  3. 编辑slurm文件(提交作业的脚本文件)
  4. 提交作业

登录xshell

打开 XShell 软件,新增连接,填入主机 IP 地址和端口号,选择 SSH 协议

输入用户名和密码,登录系统

上传程序和文件

使用XFTP将待处理的文件和程序上传到系统配置的持久化保存目录(此为gs/home/lvwx) 最好把要运行的程序和matlab.slurm脚本一起放在一个新建的文件夹里(此为image)

[lvwx@ln01 ~]$ ls             #查看当前用户文件夹里上传的文件
#22 +1.0.png  image  matlab.slurm
[lvwx@ln01 ~]$ cd image/      #打开image文件夹
[lvwx@ln01 image]$ ls         #查看image文件夹里上传的文件
#10 +1.0.czi #1 (RGB)d.tif   #10 +1.0.czi #1 (RGB)v2.tif
#10 +1.0.czi #1 (RGB)l1.tif  Auto_Tune.m
#10 +1.0.czi #1 (RGB)l2.tif  axonprocess.m
#10 +1.0.czi #1 (RGB).tif    axonrun.m
#10 +1.0.czi #1 (RGB)v1.tif  matlab.slurm

根据实际情况修改slurm文件

[lvwx@ln01 image]$ vim matlab.slurm    #进入编辑界面
#!/bin/bash
#SBATCH -J test   #任务名字是 test
#SBATCH -p normal # 提交到 normal 分区
#SBATCH -N 2 # 使用 2 个节点
#SBATCH -n 16 # 使用 16 个进程(cpu 核)
#SBATCH --ntasks-per-node=8  # 每个节点启动 8 个进程
#SBATCH -t 5:00          # 任务最大运行时间是 5 分钟
#SBATCH -o  test.out      #正确的输出
#SBATCH -e  err.out       #错误的输出
module add matlab        # 添加 MATLAB 模块
matlab -nodesktop -nosplash -nodisplay -r "tesy"  # 使用 MATLAB 运行当前文件夹中的 Test.m 文件

vim编辑界面快捷键

切换至命令输入模式:shift q

:w 保存文件但不退出vi 编辑 :wq 保存文件并退出vi 编辑 q: 不保存文件并退出vi 编辑

提交作业

[lvwx@ln01 image]$ sbatch matlab.slurm
Submitted batch job 190445
[lvwx@ln01 image]$ scontrol show job 190445   #查看作业进度


```JobId=190445 JobName=image
   UserId=lvwx(3136) GroupId=lvwx(3137) MCS_label=N/A
   Priority=2984 Nice=0 Account=chenja QOS=normal
   JobState=

> RUNNING      #运行中

 Reason=None Dependency=(null)
   Requeue=1 Restarts=0 BatchFlag=1 Reboot=0 ExitCode=0:0
   RunTime=00:01:14 TimeLimit=3-00:00:00 TimeMin=N/A
   SubmitTime=2020-09-01T19:24:41 EligibleTime=2020-09-01T19:24:41
   AccrueTime=2020-09-01T19:24:41
   StartTime=2020-09-01T19:24:41 EndTime=2020-09-04T19:24:41 Deadline=N/A
   SuspendTime=None SecsPreSuspend=0 LastSchedEval=2020-09-01T19:24:41
   Partition=normal AllocNode:Sid=ln01:43128
   ReqNodeList=(null) ExcNodeList=(null)
   NodeList=compute-[003-004]
   BatchHost=compute-003
   NumNodes=2 NumCPUs=16 NumTasks=16 CPUs/Task=1 ReqB:S:C:T=0:0:*:*
   TRES=cpu=16,node=2,billing=16
   Socks/Node=* NtasksPerN:B:S:C=8:0:*:* CoreSpec=*
   MinCPUsNode=8 MinMemoryNode=0 MinTmpDiskNode=0
   Features=(null) DelayBoot=00:00:00
   OverSubscribe=OK Contiguous=0 Licenses=(null) Network=(null)
   Command=/gs/home/lvwx/image/matlab.slurm
   WorkDir=/gs/home/lvwx/image
   StdErr=/gs/home/lvwx/image/err.out
   StdIn=/dev/null
   StdOut=/gs/home/lvwx/image/test.out
   Power=
经验分享 程序员 微信小程序 职场和发展