我需要在8个节点上运行MPI应用程序,每个节点有16个CPU。 即使经过一些研究,我仍然不了解寄主文件是如何工作的。我将r与doMPI和Rmpi库一起使用。
这是我到目前为止所理解的:
我有一个主机文件${consultation.getStatus().toString() ne 'SCHEDULED'; and consultation.getStatus().toString() ne 'RECEIVED'}
,如下所示:
my-hosts
我可以简单地通过node1 slots=16
node2 slots=16
.
.
.
调用节点吗?
如何获取节点的名称?
是否有任何功能,例如nodeX
?
以下命令行是否足以启动应用程序?
getNodeName()
是否有必要在所有节点上都有主机文件?
答案 0 :(得分:1)
节点的名称必须是其IP地址或DNS主机名。 如果您知道IP地址,可以通过查询DNS服务器获取节点的名称(取决于您的系统:Windows,Linux等)。
示例:
localhost
192.168.1.2
host01.clusterdomain
我建议您检查您使用的系统是否使用任何类型的job scheduler。如果是这样,您将不需要关心指定主机文件,因为作业调度程序将负责(您只需指定所需的资源-e.e.节点数量)。
最后,只有在执行流程管理器的主机( mpirun , mpiexec 等)中才需要主机文件。但是,使用共享文件系统将确保应用程序所需的所有文件,包括主机文件(如果需要)将在群集的每个节点都可用。