我有一个2节点的NUMA机器。我想分别在两个节点上分配一半数组。我怎么能这样做?
请注意,“half”表示连续的虚拟内存块。我找到了函数numa_alloc_interleaved,但它不符合我的要求。
答案 0 :(得分:0)
你有几个选择。
您可以使用numa_alloc_onnode
的一段代码在您要使用的每个节点上分配块,然后将该块的控制权/所有权赋予该节点上运行的代码。
或者,您可以在每个节点上启动代码,然后让每个节点的代码使用numa_alloc_local
在本地分配自己的内存。