3.作业运行问题¶
为什么我用 yhi命令看到很多 idle 的节点,但是我提交作业后,作业不能立即执行?¶
TH-1A 的作业调度原则是先来先服务,因为已经有用户优先于您提交作业并且已经在排队,所以 idle 的节点需要优先分配给优先提交作业的用户,即使用户提交作业需求节点数小于空余节点数,仍然因为先来先服务原则,处于等待状态。
我用 yhrun提交完作业以后,网络或终端断掉后,我的作业也相应停止¶
请您使用 yhbatch
命令提交作业,这样您就不会出现网络或终端断掉后作业停止的现象。
请问您们的系统上的内存最大是多少 G? 我的并行程序需要使用 48G 或更大一些内存怎么办?¶
TH-1A 系统的每个常规计算节点上的内存是 24G,如果您的并行程序需要比 24G 大的内存,您可以通过使用更多的节点来分散您的内存的使用。目前已升级部分计算节点的内存至 48G,如有需求可直接联系我们。另外,HPC1 系统的节点内存是 128G,用户也可选择使用该系统。
请问我们的计算任务到某一时刻自动终止了,提示是有节点 due to time limit 而终止程序,请问贵中心的计算任务是有时间限制的吗?¶
我们的 TH-1A 系统的队列是有时间限制的,命令行下输入 yhi
,输出结果的第三列 TIMELIMIT 即为不同分区下的最大作业运行限制。请您经常查看作业运行状态,以确保您的作业在正常运行。
任务提交后显示在计算,然后任务消失,也没有输出 slurm-*-out 文件¶
其所在分区存储设备可能没有挂载,请联系系统管理员。
任务突然运行速度变慢¶
可能是该任务使用的计算节点内存报错,可换其他节点重新提交任务。
任务输出结果总是显示 Disk quota exceeded¶
首先查询磁 1 盘空间是否超限(查询命令参见存储问题第 2 点),如果未超限,系统有时会误报超限,在每个月的定期维护时会解决掉这个问题。
作业运行时提示:couldn’t chdir to ‘/vol-th/home/daix’: No such file or directory: going to /tmp instead¶
原因为所使用的计算队列无法访问用户所在的 /vol-th
目录,即所使用的计算队列没有挂载到 /vol-th
目录。解决方法:将问题报告给请联系系统管理员。
在计算节点上运行程序,找不到某些命令,比如说提示 bc: Command not found¶
复制登录节点上的 bc
命令到自己账户下,设置好该命令的环境变量后,重新运行就可以找到命令。
PBS 作业系统里查看运行的节点名称的变量 $PBS_NODELINE,在 TH-1A 里对应哪一个变量?¶
可以试试天河上的作业调度获取节点的变量 $SLURM_NPROCS
,它与PBS 的 $PBS_NODELINE
是一样的功能。
提交作业后,提示 yhbatch: error: Batch job submission failed: User’s group not permitted to use this partition¶
您提交作业 -p
参数后面指定的队列名称错误,请检查您可以使用的队列。
任务提交运行后,有时在还未达到队列的时间天数期限时,运行的程序已“停止工作”(输出文件没有更新),但是通过作业查询命令 yhq 查看,作业看起还在 R 运行¶
遇到这个情况,请您及时手动杀掉您的作业,从断掉的地方接着续算就可以了。
运行作业报错 slurmd[cn4234]: Cannot send after transport endpoint shutdown¶
请重新提交作业,并同时使用 -x cn4234
把这个节点过滤掉不使用就可以了。
运行作业报错 yhrun: error: Task launch for 2440965.0 failed on node cn2892: Job credential expired¶
请重新提交作业,并同时使用 -x cn2892
把这个节点过滤掉不使用就可以了。
运行作业报错 forrtl: severe (41): insufficient virtual memory¶
运行作业的内存不够用了,请尝试多使用节点,每个节点上少使用核数来提交运行。
提交作业报错 yhbatch: error: Batch job submission failed: Batch job violates accounting/QOS policy(job submit limit, user’s size and/or time limits)¶
您没有提交作业的权限,请联系工程师,为您开通权限。
提交的在运行的工作,刚刚发现状态都变显示为 S,另外,其他几个显示 PD 的工作,NODELIST 也显示为 PartitionDown 。不知是否是由于中心在做一些维护所致,这会影响这些工作的运行吗?¶
S
状态是系统管理员正在维护系统,临时挂起用户作业后显示的状态。原来显示 PD
状态的变成 PartitionDown
状态是不影响工作运行。
作业运行的状态为 CG,自己也杀不掉这个作业,是否影响我的使用,这个问题如何解决?¶
CG
状态是作业正在退出,用户如果杀不掉这些 CG
状态的作业也没关系,它并不影响您的使用,管理员会集中定期处理这个 CG
状态的作业。
输出的 slurm 文件中是如下数据:yhrun: got SIGCONT。我在天河服务器用户手册上没找到这条数据的解释。请问这条数据代表什么意思?¶
这个是系统管理员临时维护系统,为了避免影响用户的作业,而把用户的作业挂起了出现的提示了。
使用天河software目录下的一个 mpi 实现编译程序,运行时 slurm 文件中提示报错¶
报错问题:使用天河 software
目录下的一个 mpi 实现编译程序,运行时 slurm 文件中提示报错。
GLEX_ERR(cn1368): _Progress(172), err
CQE:status=Dest_Key:opcode=RDMA_WRITE:signaled=1:rmt_nic_id=1370
yhrun: Job step aborted: Waiting up to 2 seconds for job step to finish.
Fatal error in PMPI_Bcast: Other MPI error, error stack:
MPIDI_CH3I_Progress(176): progress engine failure
In: PMI_Abort(1, Fatal error in PMPI_Bcast: Other MPI error, error stack:
MPIDI_CH3I_Progress(176): progress engine failure)
slurmd[cn1368]: *** STEP 2796179.0 KILLED AT 2015-10-12T11:27:12 WITH SIGNAL 9 ***
slurmd[cn1368]: *** STEP 2796179.0 KILLED AT 2015-10-12T11:27:12 WITH SIGNAL 9 ***
该错误提示一般是由 mpi 版本导致。解决方法:使用/vol6/source.sh 中的内容替换原~/.bashrc 中关于 intel 编译器、mpi 的路径。
程序运行报错:Fatal Error: This program was not built to run in your system.¶
报错问题:程序运行报错,Fatal Error: This program was not built to run in your system. Please verify that both the operating system and the processor support Intel(R) AVX. yhrun: error: cn2375: task 0: Exited with exit code 1
原因:该错误说明程序的编译时环境和运行时环境不一致,即程序编译时使用了支持 AVX
的选项,运行时的硬件环境不支持该 AVX 优化。一般这种情况发生是由于用户在编译程序时加入 -xHOST/-xAVX
选项(或是在安装软件时,系统自动读取到登陆节点上 CPU 的 flag
支持 avx
,故在编译软件时加入了 -xHOST
),那程序就会根据登陆节点的 CPU 配置信息进行优化编译,然而程序的运行是在计算节点上,计算节点的 CPU配置信息可能不支持 AVX,就与登陆节点不同,就会报上面的提示错误。
解决方法:编译时去掉 -xHOST/-xAVX
选项,使用其他优化选项。
备注:-xHost will cause icc/icpc or icl to check the cpu information and find the highest level of extended instructions support to use.
天河登陆节点 ln1、ln2、ln3 上的 CPU 配置信息 flag
均无 avx
,ln8、ln9上均有 avx
。
如果在 ln8 或 ln9 上安装软件时,configure 后一定要检查下编译 flag 是否加入了 -xHOST
,如果加入,请修改对应的 configure 文件,将 -xHOST
删除。