计算化学公社

标题: 求助,向集群提交ORCA 任务输入文件CPU核数命令设置问题(已解决) [打印本页]

作者
Author:
love_yy    时间: 2024-1-2 12:55
标题: 求助,向集群提交ORCA 任务输入文件CPU核数命令设置问题(已解决)
本帖最后由 love_yy 于 2024-1-3 15:23 编辑

! wB97M-V def2-TZVP def2/J RIJCOSX strongSCF noautostart miniprint nopop
%maxcore 2000
%pal nprocs 7 end%cpcm
smd true
SMDsolvent “water”
end

·····
然而,出现如下调用CPU线程报错:
系统中没有足够的插槽来满足应用程序请求的 7 个插槽: /root/software/orca/orca-504/orca_gtoint_mpi
为应用程序请求更少的插槽,或者提供更多的插槽可供使用。“插槽”是 Open MPI 术语,用于表示我们可以在其中启动进程的可分配单元。可用插槽数由运行 Open MPI 进程的环境定义:
1. 主机文件,通过“slots=N”子句(如果未提供,N 默认为处理器内核数)
2.--host 命令行参数,通过主机名上的“:N”后缀(如果未提供,则 N 默认为 1)
3.资源管理器(例如 SLURM、PBS/Torque、LSF 等)
4. 如果主机文件、--host 命令行参数或 RM 均不存在,则 Open MPI 默认为处理器内核数
在上述所有情况下,如果希望 Open MPI 默认为硬件线程数而不是处理器内核
数,请使用 --
use-hwthread-cpus 选项。

或者,您可以使用 --oversubscribe 选项在决定要启动的进程数时忽略可用插槽的数量。
之后:
# mpirun -np 6 --use-hwthread-cpus orca /root/Desktop/new-energy/21/21-2.inp
/usr/lib64/python2.7/site-packages/orca/orca.py:52: PyGIWarning:Gtk 是在没有指定版本的情况下导入的。在导入之前使用 gi.require_version('Gtk', '3.0') 以确保加载正确的版本。
from gi.repository import Gtk mpirun 检测到一个或多个进程以非零状态退出,从而导致作业终止。执行此操作的第一个进程是: 进程名称:[[33512,1],3]
退出代码:

1
2 。使用--oversubscribe 后报错同1。
(, 下载次数 Times of downloads: 6)

超算上装过slurm,但是由于超算租用过程中每次重新用节点的ip都会变,嫌麻烦。所以求教大家有没有不用作业调度系统也能让orca顺利用调用多进程的?谢过大家伙了!


作者
Author:
zjxitcc    时间: 2024-1-2 14:22
本帖最后由 zjxitcc 于 2024-1-2 14:23 编辑

不用加--use-hwthread-cpus、--oversubscribe之类的;你的截图显示是4核8线程,也就是说开了超线程,如果不知道超线程,看
《正确认识超线程(HT)技术对计算化学运算的影响》http://sobereva.com/392

MPI并行只能用4个物理核心,没法用8个。如果用slurm脚本提交计算任务到相同配置的节点,前几行中有两行关于并行的设置是
#SBATCH -n 4
#SBATCH -c 1
当然,slurm脚本里写-n 8也是没用的。

作者
Author:
love_yy    时间: 2024-1-2 15:54
本帖最后由 love_yy 于 2024-1-2 15:58 编辑
zjxitcc 发表于 2024-1-2 14:22
不用加--use-hwthread-cpus、--oversubscribe之类的;你的截图显示是4核8线程,也就是说开了超线程,如果不 ...

谢谢老师的帮助,问题解决了
作者
Author:
love_yy    时间: 2024-1-2 17:10
zjxitcc 发表于 2024-1-2 14:22
不用加--use-hwthread-cpus、--oversubscribe之类的;你的截图显示是4核8线程,也就是说开了超线程,如果不 ...

还想请教老师一下,为啥笔记本的4核12线程mpi可以正常调用,nprocs 写12 没问题,而超算上用不了,--oversubscribe也不行,在集群上为啥没法超线程
作者
Author:
zjxitcc    时间: 2024-1-2 18:03
本帖最后由 zjxitcc 于 2024-1-2 18:04 编辑
love_yy 发表于 2024-1-2 17:10
还想请教老师一下,为啥笔记本的4核12线程mpi可以正常调用,nprocs 写12 没问题,而超算上用不了,--over ...

那说明你笔记本可能真的有12物理核心,你同样可以用那几条cat命令检测。另外,“4核12线程”这个可能是你乱说的,如果只有4个物理核心,开启超线程也只能8线程。
作者
Author:
love_yy    时间: 2024-1-2 18:39
本帖最后由 love_yy 于 2024-1-2 18:46 编辑

(, 下载次数 Times of downloads: 5) (, 下载次数 Times of downloads: 4)
作者
Author:
love_yy    时间: 2024-1-2 18:48
zjxitcc 发表于 2024-1-2 18:03
那说明你笔记本可能真的有12物理核心,你同样可以用那几条cat命令检测。另外,“4核12线程”这个可能是你 ...

是的老师,线程是在虚拟机设置的,我开始也觉得怪怪的,我这个是6核的,但是为啥虚拟机里的orca还是可以超线程呀?




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3