并行计算相关问题解答与实践指南
1. 并行计算的日常示例与系统性能
在日常生活中,存在许多并行操作的例子,比如多车道高速公路、班级注册队列和邮件投递等。对于我们日常使用的桌面电脑、笔记本电脑或手机,大多数设备都配备了多核处理器和至少一个集成图形处理器,台式机和笔记本电脑(除了非常老旧的硬件)还具备一些向量计算能力。
以商店结账为例,其中运用了多种并行策略,包括多指令多数据(MIMD)、分布式数据、流水线并行和带专用队列的乱序执行。
假设有一个图像处理应用程序,每天需要处理1000张大小为4 MiB的图像,串行处理每张图像需要10分钟。集群由具有16个核心和16 GiB主内存存储的多核节点组成。最佳的并行处理设计是在单个计算节点上进行线程化并结合向量化。串行处理需要167分钟,而在16个核心上并行处理仅需10.4分钟,向量化还能将时间缩短至5分钟以下。当客户需求增加10倍时,可能需要考虑消息传递或分布式计算。
另外,Intel Xeon E5 - 4660处理器的热设计功耗为130 W,Nvidia的Tesla V100 GPU和AMD的MI25 Radeon GPU的热设计功耗为300 W。若将软件移植到这些GPU上,应用程序需要有2.3倍的加速才能被认为比16核CPU应用更节能。
2. 并行计算项目的规划与测试
对于一个在研究生阶段开发的波高模拟串行应用程序,若要将其作为可供许多研究人员使用的工具,项目计划应包括以下步骤:
- 建立基于Git的版本控制系统。
- 创建一组已知结果的测试。
- 在测试套件的测试中运行内存正确性工具。
- 对硬件和应用程序进行性能分析。
超级会员免费看
订阅专栏 解锁全文
1979

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



