我通过以下方式使用无头 NetLogo 将作业提交到 HPC 服务器code:
#!/bin/bash
#$ -N r20p
#$ -q all.q
#$ -pe mpi 24
/home/abhishekb/netlogo/netlogo-5.1.0/netlogo-headless.sh \
--model /home/abhishekb/models/corrected-rk4-20presults.nlogo \
--experiment test \
--table /home/abhishekb/csvresults/corrected-rk4-20presults.csv
下面是snapshot集群队列使用:
qstat -g c
我想知道我可以增加模拟的 CQLOAD 吗?它也意味着什么。我在网上找不到明确的解释。
CPU 使用情况检查:
qhost -u abhishekb
当我通过 GUI 在 PC 上运行行为空间时,为任务分配高优先级使其使用近 99% 的 CPU,从而使其运行速度更快。它使用更大比例的 CPU 处理器。我希望在这里实现同样的目标。
EDIT:
EDIT 2;
典型的 HPC 环境设计为每个 CPU 核心仅运行一个 MPI 进程(或 OpenMP 线程),因此可以使用 100% 的 CPU 时间,并且不能进一步增加。相比之下,在传统的桌面/服务器计算机上,许多进程竞争 CPU 时间,并且确实可以通过设置适当的优先级来提高其中一个进程的性能nice
.
CQLOAD 似乎是该计算队列的平均负载平均值。如果您没有使用其中的所有 CPU 核心,则它不是一个有用的指标。此外,即使是运行时每个核心的平均负载也只能转化为该 HPC 集群上代码的效率。例如,每个核心的值为 0.7,意味着代码花费 70% 的时间进行计算,而剩余的 30% 可能用于等待与其他计算节点通信(这也是必要的)。
最重要的是,提高 HPC 集群上 CPU 使用率的唯一方法是优化代码。但通常情况下,人们更关心并行扩展(即解决问题的时间如何随着 CPU 核心数量的增加而减少),而不是 CPU 使用百分比。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)