计算化学公社

 找回密码 Forget password
 注册 Register
Views: 810|回复 Reply: 6
打印 Print 上一主题 Last thread 下一主题 Next thread

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

[复制链接 Copy URL]

32

帖子

0

威望

429

eV
积分
461

Level 3 能力者

本帖最后由 love_yy 于 2024-1-3 15:23 编辑

  • 比如我想向8核集群提交ORCA单点能计算任务,输入文件是(在自己电脑虚拟机跑没问题):
! 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 选项在决定要启动的进程数时忽略可用插槽的数量。
之后:
  • 使用“--use-hwthread-cpus ”命令后仍然有如下报错,
# 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。
  • 集群的CPU信息是:


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

32

帖子

0

威望

429

eV
积分
461

Level 3 能力者

7#
 楼主 Author| 发表于 Post on 2024-1-2 18:48:14 | 只看该作者 Only view this author
zjxitcc 发表于 2024-1-2 18:03
那说明你笔记本可能真的有12物理核心,你同样可以用那几条cat命令检测。另外,“4核12线程”这个可能是你 ...

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

32

帖子

0

威望

429

eV
积分
461

Level 3 能力者

6#
 楼主 Author| 发表于 Post on 2024-1-2 18:39:20 | 只看该作者 Only view this author
本帖最后由 love_yy 于 2024-1-2 18:46 编辑

3811

帖子

4

威望

8000

eV
积分
11891

Level 6 (一方通行)

MOKIT开发者

5#
发表于 Post on 2024-1-2 18:03:28 | 只看该作者 Only view this author
本帖最后由 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线程。
自动做多参考态计算的程序MOKIT

32

帖子

0

威望

429

eV
积分
461

Level 3 能力者

4#
 楼主 Author| 发表于 Post on 2024-1-2 17:10:59 | 只看该作者 Only view this author
zjxitcc 发表于 2024-1-2 14:22
不用加--use-hwthread-cpus、--oversubscribe之类的;你的截图显示是4核8线程,也就是说开了超线程,如果不 ...

还想请教老师一下,为啥笔记本的4核12线程mpi可以正常调用,nprocs 写12 没问题,而超算上用不了,--oversubscribe也不行,在集群上为啥没法超线程

32

帖子

0

威望

429

eV
积分
461

Level 3 能力者

3#
 楼主 Author| 发表于 Post on 2024-1-2 15:54:29 | 只看该作者 Only view this author
本帖最后由 love_yy 于 2024-1-2 15:58 编辑
zjxitcc 发表于 2024-1-2 14:22
不用加--use-hwthread-cpus、--oversubscribe之类的;你的截图显示是4核8线程,也就是说开了超线程,如果不 ...

谢谢老师的帮助,问题解决了

3811

帖子

4

威望

8000

eV
积分
11891

Level 6 (一方通行)

MOKIT开发者

2#
发表于 Post on 2024-1-2 14:22:10 | 只看该作者 Only view this author
本帖最后由 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也是没用的。
自动做多参考态计算的程序MOKIT

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-25 20:43 , Processed in 0.743193 second(s), 25 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list