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