并行算法与CPU向量化技术深度解析
1. 并行算法研究展望
1.1 并行算法特性总结
并行算法有一些显著特性,在不同场景中寻找合适算法时可参考:
- 局部性 :该术语常用于描述优秀算法,但无明确定义,有多种含义。
- 缓存局部性 :将一起使用的值存放在相近位置,提高缓存利用率。
- 操作局部性 :无需处理所有数据时,避免对全量数据操作。如粒子交互的空间哈希算法,能将算法复杂度从 $O(N^2)$ 降至 $O(N)$。
- 异步性 :避免线程间协调导致的同步问题。
- 较少条件判断 :条件逻辑会带来额外性能开销,部分架构还会出现线程发散问题。
- 可重复性 :高度并行技术常违反有限精度算术的非结合性,增强精度技术可解决此问题。
- 高算术强度 :当前架构中,浮点运算能力提升速度快于内存带宽,提高算术强度的算法(如向量运算)能充分利用并行性。
1.2 并行算法发展现状
并行算法研究尚处起步阶段,有许多新算法待发现,也有不少已知技术未广泛传播和应用。且算法常分散于计算机或计算科学的不同领域。
以下是各种全局求和技术的精度和运行时间结果:
| 方法 | 误差 | 运行时间 |
| ---- | ---- | ---- |
| Double | -1.99e–09 | 0.116 |
|
超级会员免费看
订阅专栏 解锁全文

17

被折叠的 条评论
为什么被折叠?



