天河二号一些使用注意事项

最近有个任务由于非常复杂,无法在本地运行,因此借助天河超算进行了运算。天河超算平台是一个集群,由很多结点组成,每个结点实际上就可以理解成一台计算机,网上说内存是88G,2块cpu共24核。
一般在天河超算平台上进行运算的步骤如下:

  1. 连接vpn,ssh连接天河超算平台;
  2. 登录天河超算平台,此时便是进入了登录结点,该结点只用来执行命令或执行一些较小的运算,该结点不可以执行消耗大的运算,因为一旦该结点内存或cpu占用过多,那么登录结点就会很卡,此时你在登录结点上的操作会变得很缓慢,比如切换文件夹,拉起其他命令等等。
  3. 登录登录结点后,检查自己所需要运行的脚本的环境是否配置成功,若没有可以用module命令检查超算平台上是否已安装,如果安装好了,直接module load xxx进行即可,load进来后就可以运行程序了。天河超算上如果没有事先安装好你需要的软件,那么可能需要联下外网进行安装,这个在说明书上有,不再叙述。
  4. 需要用yhrun命令拉起程序,在拉起程序前,第一需要看下当前各个结点的情况,yhi命令可以看结点使用情况,比如空闲结点有哪些,现在所在的分区是哪里等等;yhq可以看目前正在运行的结点有哪些。都确定好了之后可以使用yhrun命令拉起自己的程序。比如下面的命令就是执行了一个python脚本,需要对几个参数进行一下解释,-p是分区情况,-n是任务数(进程数),-c是线程数,-N是结点数。这个是我询问天河超算的管理人员后给的答复,似乎和说明书上写的不一样,说明书上说-c是cpu核数。但是无论如何我的理解是-c就是运行时能给同时开的线程,这个线程是真的同时运行的线程,所以我倾向于-c确实是核数,当然说是同时运行的线程数也可以。-N就是节点数,也就是给几台服务器运行你这个任务,-n是进程数,但是可能进程之间可以通信把,能把一个脚本的运行计算分成多个进程跑。这块的话由于涉及并行计算了,我也不懂,只是这样猜测了。-c最大是24,因为之前提到了一个结点最多就只有24个核,当希望脚本运行时线程并发数大于24时,就得开多于一个进程了,也就是说-n需要大于1。
yhrun -p partition_name -n 1 -N 1 -c 12 python script name

yhrun的话需要shell不能关闭,因为已关闭yhrun就停了,我之前也尝试使用过screen,但是不知道为什么,screen会自己关掉,screen关掉后,就导致yhrun也停了,所以最好还是用官方推荐的yhbatch。

  1. yhbatch的话,就是需要写一个sh文件,然后把yhrun的命令放在这个sh文件里,然后执行下列命令。其他参数和yhrun都是一样的,-o就是日志文件的输出位置。
yhbatch -N 1 -p partition name -n 1 -c 12  -o log file path xxx.sh

经过进一步的尝试,如果一个程序所需的内存大于一个结点时,设置-n大于1并没有用,似乎只是同一个程序跑了两次而已,当然这个结论还有待进一步测试,不一定正确。

猜你喜欢

转载自blog.csdn.net/qq_39805362/article/details/127927275