集群的使用

本文详细介绍了如何在集群上配置并运行Matlab和Python代码,包括登录节点、调试节点的使用,Xshell和Xftp的连接设置,以及提交作业、查看状态和结果的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在集群上运行Matlab 代码和Python代码的前提:在集群上配置好Matlab和Python
了解自己所用的集群的的登录节点和调试节点:
普通用户通过校园网进入到登陆节点提交作业,可在程序调试节点上调试、编译、测试CPU 、GPU 和MIC 程序。

登录

  1. Xshell
    双击Xshell 图标,进入Xshell 的界面并点击新建
  • 在新建会话中填写会话名称
  • 主机(H)内填写:10.171.1.3 (视自己情况而定)
  • 端口号Port 内填写12306 (视自己情况而定)
  • 选择Connect ,填入用户名及密码
  1. Xftp
  • 打开Xftp 工具,点击file ,选择new
  • 在Host 中输入:10.171.1.3
  • 在Protocol 中选择: SFTP
  • 在Port Number 中输入:12306
  • 在User Name 输入用户名(同上)
  • 在Password 输入密码(同上)

提交作业

  • 在Xshell 中,使用mkdir 命令新建一个文件夹。例如:mkdir test ,其中test为文件夹名(或直接在xftp中新建文件夹)
  • 利用Xftp ,将程序文件与run.pbs 脚本文件传到新建的文件夹
  • 提交作业,输入命令:qsub run.pbs 系统将产生一个作业号,如1554
  • 查看该目录下全部内容:ls
  • 查看状态 qstat
  • 查看程序运行的结果信息输入命令:cat Matrix.o1554

修改run.pbs文件

  • 输入命令:vim run.pbs
  • 修改:按“i”键或者insert 键,进入插入模式,此时屏幕最下方出现“–INSERT --”,表示可以进行修改,此时可修改里面内容
  • 修改完成后,按“ESC ”键退出插入模式,输入“:wq ”命令,保存并退出。
    pbs (Protable Batch System)是一个任务管理系统,当多个用户使用 同一个计算资源时,每个用户用PBS 脚本提交自己的任务,由 PBS 对这些任务进 行管理和资源的分配。接下来将提供一个简单的 PBS 脚本注:(红的部分为需要修改的部分):
    #PBS -N svmmm(N:name:svmmm:脚本文件的名称)
    #PBS -o /home/User Name /run_code/matlab_code/svmmm/output/ae.out(o:out)
    #PBS -e /home/User Name /run_code/matlab_code/svmmm/output/ae.err(e:error)
    #PBS -l nodes=1:ppn=24 (设置单结点、多结点,cpu核数)
    #PBS -p 110
    #PBS -l walltime=1200:00:00
    #PBS -q cpu1(设置任务递交平台,cpu/gpu/mic)
    #PBS -V
    #PBS -S /bin/bash cd $PBS_O_WORKDIR
    NP=cat $PBS_NODEFILE | wc -l
    NN=cat $PBS_NODEFILE | sort | uniq |tee /tmp/nodes.$$ | wc -l
    cat $PBS_NODEFILE > /tmp/nodefile.$$$
    matlab -nodesktop -nosplash -r svmmm
    (matlab:表明使用matlab平台;svmmm:是.m文件,此处删除.m ,若为python文件,则格式为:python文件名.py
    rm -rf /tmp/nodefile.$$
    rm -rf /tmp/nodes

首先将上述脚本保存成run.pbs,然后 qsub submit 就提交了该作页。其中:

  • #PBS 为脚本选项,用于设置一些参数。
  • #PBS -N 表示任务名称
  • #PBS -l 表示资源列表,用于设定特定任务所需的一些参数。
    nodes表示 并行环境下可以使用的节点数
    walltime 表示任务最大时限
    这两个参数不是 PBS 脚本参数,而是并行环境所需的参数。
  • #PBS -q 表示当前任务选用的队列。在并行环境下,一个系统中往往有多个队列,任务提交后,将在所选的队列中排除等候。系统中有哪些队列可以用 qstat -q 查看。
    pbs系统队列划
    ncpu队列,资源限制在node1-node136。
    ngpu队列,资源限制在gpu01-gpu07。
    nmic队列,资源限制在mic01-mic03。

关键命令

  • 直接输入MATLAB,进入MATLAB编辑状态
  • exit():退出MATLAB编辑状态
  • mkdir 文件名 :新建一个文件夹,mkdir test ,其中test 为文件夹名或者直接在xftp中新建文件夹
  • shownodes:查看目前集群资源使用情况
  • cd ~:返回根目录 cd
  • /home+ls:查看各用户名
  • cd 文件名:进入该文件
  • qsub run.pbs:提交作业
  • ls :查看该目录下全部内容
  • qstat:查看状态
  • cat Matrix.o1554 :查看程序运行的结果信息输入命令
  • vim run.pbs +“i”键或者insert 键,进入插入模式,此时屏幕最下方出现“–INSERT --”,表示可以进行修改
  • “ESC ”键退出插入模式,输入“:wq ”命令,保存并退出。
  • qdel 21(作业号):杀掉错误任务
  • rm -rf 文件名:删除文件
  • Ctrl +c :强行退出
  • Tab:自动补全
    此处附一个新手常使用的20条命令的链接:
    https://www.oschina.net/translate/useful-linux-commands-for-newbies?lang=chs&p=1

实践

  1. GPU程序
  • 登陆gpu01 节点:ssh gpu01
  • 进入你新建的文件夹中:cd lule
  • 配置环境:
    exportLD_LIBRARY_PATH=/opt/intel/opencl-1.2-sdk-4.4.0.134/lib64:$LD_LIBRARY_PATH
  • 编译:g++ Matrix.cpp –I/opt/intel/opencl-1.2-sdk-4.4.0.134/include–L/opt/intel/opencl-1.2-sdk-4.4.0.134/lib64 –lOpenCL –lrt –o test
  • 退出gpu01 节点
  • 提交作业,输入命令:qsub run.pbs 系统将产生一个作业号1554
  • 查看该目录下全部内容:ls
  • 查看状态qstat
  • 查看程序运行的结果信息输入命令:cat Matrix.o1554
  1. MPI程序
  • 将mpi 程序hello.c 拷入自己目录下
  • 编译:mpicc –o test hello.c
  • 通过脚本提交:qsub run.pbs
  • 查看该目录下的全部内容:ls
  • 查看输出结果:cat Matrix.o1575
  1. CUDA 程序
  • 使用ls 查看其中的源文件(“Matrix_add.cu 文件”)
  • 配置环境:使用命令export PATH=/opt/cuda-6.0/bin:$PATH
    使用编译命令:nvcc Matrix_add.cu -o test 进行编译Matrix_add 文件
    再次使用ls 命令查看,会看到编译Matrix_add文件后输出的test1 文件
  • 使用脚本提交文件。使用写字板修改run.pbs 文件。
  • 使用命令qsub 提交run.pbs,提交后会出现1578.xdhpc01 的提交号。
  • 使用命令ls 查看。发现out.e1578 以及out.o1578 两个新生成的文件,如此说明提交脚本已经成功。
  • 使用命令cat out.o1578 查看本程序运行的结果。
    使用命令cat out.e1578 查看本程序编译过程的信息。
  1. OpenMp 程序
  • 使用ls 命令查看目录下的OpenMp 程序(matrix_multiply.c) 。
  • 在当前目录下,使用gcc -fopenmpmatrix_multiply.c -otestopenmp 编译程序。
  • 使用写字板打开run.pbs文件后,进行修改,并保存
  • 在登录节点上使用qsub提交run.pbs。提交后会出现46984.xdhpc01的提交号。
  • 使用命令ls查看。发现test.o46984以及test.e46984两个新生成的文件,如此说明提交脚本已经成功。使用命令cat test.o46984 查看OpenMp程序的运行结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值