mpirun - 没有足够的可用插槽
mpirun - not enough slots available
通常当我使用 mpi运行 时,我可以 "overload" 它,使用比我计算机上实际使用的处理器更多的处理器。比如我的四核mac,我可以运行mpirun -np 29 python -c "print 'hey'"
没问题。我现在在另一个 machine 上,它抛出以下错误:
$ mpirun -np 25 python -c "print 'hey'"
--------------------------------------------------------------------------
There are not enough slots available in the system to satisfy the 25 slots
that were requested by the application:
python
Either request fewer slots for your application, or make more slots available
for use.
--------------------------------------------------------------------------
为什么 "overclocking" mpi运行 不能在这里工作?有没有一种方法可以克服此错误消息并成功 运行 使用比可用处理器更多的处理器?
根据 https://www.open-mpi.org/faq/?category=running#oversubscribing,您可以使用主机文件超额订阅您的节点。在继续之前,请注意这种方式可能会严重降低节点的性能。此外,如果您用于 运行 应用程序的系统正在使用队列系统,则这可能无效。
首先创建一个包含
的hostfile(命名为hostfile)
localhost slots=25
简单 运行 您的应用程序喜欢
mpirun --hostfile hostfile -np 25 python -c "print 'hey'"
显然可以使用 mpirun 的“--oversubscribe”选项实现超额订阅 - 运行 torque/maui
对我有用
通常当我使用 mpi运行 时,我可以 "overload" 它,使用比我计算机上实际使用的处理器更多的处理器。比如我的四核mac,我可以运行mpirun -np 29 python -c "print 'hey'"
没问题。我现在在另一个 machine 上,它抛出以下错误:
$ mpirun -np 25 python -c "print 'hey'"
--------------------------------------------------------------------------
There are not enough slots available in the system to satisfy the 25 slots
that were requested by the application:
python
Either request fewer slots for your application, or make more slots available
for use.
--------------------------------------------------------------------------
为什么 "overclocking" mpi运行 不能在这里工作?有没有一种方法可以克服此错误消息并成功 运行 使用比可用处理器更多的处理器?
根据 https://www.open-mpi.org/faq/?category=running#oversubscribing,您可以使用主机文件超额订阅您的节点。在继续之前,请注意这种方式可能会严重降低节点的性能。此外,如果您用于 运行 应用程序的系统正在使用队列系统,则这可能无效。
首先创建一个包含
的hostfile(命名为hostfile)localhost slots=25
简单 运行 您的应用程序喜欢
mpirun --hostfile hostfile -np 25 python -c "print 'hey'"
显然可以使用 mpirun 的“--oversubscribe”选项实现超额订阅 - 运行 torque/maui
对我有用