我正在使用名为darknet/YOLO的 CNN在具有 NVIDIA 显卡的远程共享集群上进行深度学习。远程集群是带有 PBS 作业计划系统的 linux。
我正在提交在 GPU 上训练神经网络的工作,效果很好。
问题在于训练期间消耗的大量处理器。我通常提交一个有 8 个处理器的工作,像这样
qsub -q gpu select=1:ncpus=8:ngpus=1:mem=15gb:gpu_cap=cuda61
但由于处理器数量过多,它总是被杀死。即使我将数量增加到 20 个,它仍然超过了。
我不知道为什么暗网会在服务器上消耗这么多处理器,即使我可以在我的笔记本电脑上使用英特尔 i5 处理器(速度慢且效率低)运行这项工作。
我试过的:
1)设置cgroups=cpuacct
强制作业不使用更多的处理器然后分配,但它根本不起作用。似乎限制在服务器没有其他资源的情况下起作用。在有免费处理器的情况下,限制不起作用(https://drill.apache.org/docs/configuring-cgroups-to-control-cpu-usage/#cpu-limits)
2) 设置place=excelhost
在超出分配资源的情况下不会终止作业。另一方面,用这个标志开始工作需要 7 天,而且我每天都必须训练网络。
问题:
我不需要这些处理器,我不明白为什么暗网使用这么多处理器。我如何强制作业不超过给定的处理器数量?或者其他一些想法我怎么能解决这种问题?