如果我有一个多处理器板,它具有cache-coherentnon-uniform memory access (NUMA),即单独"northbridges"具有单独的RAM为每个处理器,是否任何编译器知道如何自动传播数据跨越不同的内存系统,使本地线程上工作的进程大多是检索他们的数据来自与线程正在运行的处理器相关的RAM?gcc,icc或Microsoft的C/C++编译器是否支持或了解有关NUMA的任何内容?
我有一个安装程序,其中1 GB连接到处理器0,1 GB连接到处理器1,等等。多达4个处理器。在coherent memory space中,第1个处理器上的RAM的物理内存地址为0到1GB-1。对于第二个处理器,它是1GB到2GB-1,依此类推。
是否有任何编译器或可能是malloc
将特定内核上的进程分配的新内存与该内核关联的物理RAM关联?
出于兴趣,谁是董事会制造商? – 2010-01-26 21:31:50
我提出了这样的问题,但我最初的问题是与一个芯片上的多个内核以及针对不同内存区域的芯片不同部分的内核访问内存的成本有关。 – 2010-01-27 01:32:43