多核能否满足科学应用的内存需求?
1. 小FFT卷积的GPU实现
许多应用需要快速执行大量基于FFT的小卷积操作。然而,直接实现并不能显著提升性能,必须对代码进行大幅转换以充分发挥GPU的潜力。若要在GPU上高效运行大量小型2D卷积,需做到以下几点:
1. 最大化算法中的独立并行性 :让算法中的各个部分尽可能独立并行执行,提高整体运算速度。
2. 最小化CPU与GPU内存间的数据传输时间 :数据传输会占用宝贵的执行时间,减少传输时间可提升性能。
3. 调整执行配置 :根据具体的应用场景和硬件环境,优化执行配置,以达到最佳性能。
4. 将多个CPU和GPU内核合并为更少的GPU内核 :这样可以减少内核调用的开销,提高执行效率。
即便如此,数据传输仍可能消耗大量执行时间,而且打开和重新实现FFT黑盒功能会占据大量实现时间。为解决这些问题,一是要在现有的FFT库中添加一个新的库函数,为应用程序员提供友好、高性能的小卷积功能;二是要提供CPU和GPU内存之间更快的通信通道,必要时可将GPU靠近CPU,这将显著有益于所有非图形GPU应用。
2. 多核处理器内存需求分析
随着单线程性能难以通过频率缩放有效提升,芯片级并行性成为提升性能的唯一可行途径,厂商已开始生产包含多个处理单元的芯片多处理器(CMP)。但将多个处理单元集成在单个芯片上会给内存系统带来更大负载,目前尚不清楚内存系统能否为CMP提供足够的数据。
2.1 内存系统的局限性
超级会员免费看
订阅专栏 解锁全文
15

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



