OpenMPI进程关联

时间:2018-05-08 11:41:07

标签: openmpi

当我执行mpirun --map-by node --bind-to numa --report-bindings ./out 26时,--bind-to选项会导致以下错误:

  

在Linux上,缺乏功能可能意味着你在   Linux中不支持处理器和内存关联的平台   本身,或者hwloc是在没有NUMA和/或处理器亲和力的情况下构建的   支持。在构建hwloc时(取决于你的Open MPI)   安装,可能嵌入Open MPI本身),重要的是   有libnuma标头和库文件可用。不同的linux   发行版以不同的名称打包这些文件;寻找   包含“numa”字样的包。您可能还需要开发人员   包的版本(例如,名称中带有“dev”或“devel”)   获取相关的头文件。

ompi_info | grep hwloc显示:

  

MCA hwloc:hwloc1117(MCA v2.1.0,API v2.0.0,Component v3.0.0)MCA

     

rtc:hwloc(MCA v2.1.0,API v1.0.0,Component v3.0.0)

所以我猜我支持流程亲和力。我有26个双核节点,我想每个节点只使用1个CPU。为什么我不能绑定进程?

1 个答案:

答案 0 :(得分:0)

您确定Open MPI无法绑定进程吗?

请注意,您的命令行会尝试将MPI进程绑定到NUMA域(大多数时候是套接字)。如果要绑定到核心,那么

mpirun -bind-to core ...

为了检查进程绑定

mpirun -report-bindings ...

由于缺少库,您可以设置进程关联但不能设置内存关联。

 sudo yum install -y numactl-devel 

应该在基于RedHat的系统上做到这一点。 在此之后,您需要configuremake install