我不确定。我可以在四个内核上写一个大的memset(例如10 MB)来获得加速吗?
这种ram-chip并行化是否可能,以及触发其他线程的时间成本有多大 - 是不是超过一毫秒?
答案 0 :(得分:2)
你指出了一个正确的问题,同时很难给出一个简单的答案。涉及到几个方面。
较大的PC有几个内存总线。较小的只有一个。在一个内存总线系统上,这没有任何意义。如果您的系统有多个内存总线(通道),则您的数据阵列可能会在内存条之间进行任意分割。如果整个阵列都位于同一个存储库中,那么parralelisation将毫无用处。弄清楚你的阵列的布局是一个开销。换句话说,在分割核心之间的操作之前,有必要弄清楚这是否值得做。
简单的答案是,这些难以预测的开销很可能会消耗效益并使整体结果更糟。
同时,对于某些架构上真正庞大的内存区域而言,这是有意义的。