【发布时间】:2012-01-16 21:02:17
【问题描述】:
我正在使用一个允许编写 SIMD 代码的引擎,它执行速度很快。但是只有一个块包含所有代码。
我知道这段代码在每个实体上同时独立运行,但是当只有一件事情发生变化时,无论如何计算它是否仍然更快?这是 SIMD 的想法,并行性吗?
例如:
void simdFunction ()
{
center = mesh.center(); // always the same
vert.pos.x = center.x; // run on each vertex
}
在这种情况下,中心总是相同的,那么SIMD上会不会对每个顶点进行计算呢?如果是这样,这仍然有效吗?
在一般 SIMD 编程意义上,能够并行运行它的成本是否超过了计算它的成本?
【问题讨论】:
标签: performance optimization concurrency parallel-processing simd