我想写一个OpenCL的概念应用程序的证明,在特定的CPU上执行一个内核(因此可以在将来扩展为NUMA感知,并为内存分配内核在相应的NUMA节点上执行,如in the Intel Dev forums所示)。 不幸的是,Windows调度程序并不在乎我想要什么,因为它似乎通过所有可用的CPU核心(因此远离本地内存)来循环我的内核。 我现在使用CL_DEVICE_PARTITION_BY_COUNT
我尝试使用numa_alloc_onnode()通过运行下面的代码在32GB节点上分配40GB的内存。但它不会报告任何错误。 a = (int *) numa_alloc_local (sizeof(int) * GB_8 * 5);
if (a == NULL)
printf("a error\n");
for (i = 0; i <GB_8*5; i++)
a[i] =