如何在NUMA机器上的不同节点上分配数组的部分?

时间:2013-10-08 21:45:09

标签: c++ c operating-system numa

我有一个2节点的NUMA机器。我想分别在两个节点上分配一半数组。我怎么能这样做?

请注意,“half”表示连续的虚拟内存块。我找到了函数numa_alloc_interleaved,但它不符合我的要求。

1 个答案:

答案 0 :(得分:0)

你有几个选择。

您可以使用numa_alloc_onnode的一段代码在您要使用的每个节点上分配块,然后将该块的控制权/所有权赋予该节点上运行的代码。

或者,您可以在每个节点上启动代码,然后让每个节点的代码使用numa_alloc_local在本地分配自己的内存。