我最近阅读了关于Win7(https://msdn.microsoft.com/de-de/library/windows/desktop/aa363804(v=vs.85).aspx)的NUMA支持,因为我正在分配大量的HEAP Mem并在多个进程之间共享它,这听起来像是一件好事。 不幸的是,当我运行时,我的系统似乎不支持NUMA:
ULONG HighestNodeNumber;
if (0 == GetNumaHighestNodeNumber(&HighestNodeNumber))
{
//ERROR!
}
if (0 == HighestNodeNumber)
{
cout << "Not a NUMA system - exiting";
}
HighestNodeNumber将始终为0.我浏览了我的BIOS设置,但我找到了任何可以启用NUMA的内容。
它在WIkipedia上说:“英特尔在2007年底宣布NUMA与其Nehalem和Tukwila CPU在x86和Itanium服务器上的兼容性。” [https://en.wikipedia.org/wiki/Non-uniform_memory_access]这就是为什么我认为我的CPU必须有NUMA支持(这可能有点天真)。
我正在使用Win7和英特尔酷睿i5-2540M的HP机器(BIOS版本68SCF Ver.F.50)上运行。
我错过了什么?