我在计算机集群上运行代码,该计算机集群有24个节点,每个节点有12个处理器,每个节点有64Gb内存。我用来启动它的命令如下
#!/bin/sh
#PBS -N cclit
#PBS -l walltime=288:00:00
#PBS -l nodes=1:ppn=1
#PBS -j oe
#PBS -m n
#PBS -l mem=60000mb
不幸的是,我意识到我的代码至少需要一个120000mb的虚拟内存。我试图做的是将上述命令修改为
#!/bin/sh
#PBS -N cclit
#PBS -l walltime=288:00:00
#PBS -l nodes=2:ppn=2
#PBS -j oe
#PBS -m n
#PBS -l mem=120000mb
但它似乎不起作用......它在同一点再次停止,告诉我虚拟内存不足。 我的代码没有并行化,这意味着只需要1个处理器。当一个节点的内存被完全使用时会发生什么?我想我做错了'#PBS -l mem = 120000mb',或者我可能需要一些其他命令......我试图在网上寻找解决方案,但我找不到任何东西......
你能帮助我吗?
感谢Mirko。