[论文解读] Improving Locality of Unstructured Mesh Algorithms on GPUs
本文提出了一种基于库的优化技术,通过利用共享内存和两层着色技术,提升GPU上非结构化网格算法的数据局部性,从而增强空间和时间局部性。该方法通过透明地重新排序核函数操作和数据访问,而无需修改算法,实现了在Pascal和Volta GPU上对Airfoil和miniAero等应用的科学内核1.2×至2.5×的加速。
To most efficiently utilize modern parallel architectures, the memory access patterns of algorithms must make heavy use of the cache architecture: successively accessed data must be close in memory (spatial locality) and one piece of data must be reused as many times as possible (temporal locality). In this work we analyse the performance of unstructured mesh algorithms on GPUs, specifically the use of the shared memory and two-layered colouring to cache the data. We also look at different block layouts to analyse the trade-off between data reuse and the amount of synchronisation. We developed a standalone library that can transparently reorder the operations done and data accessed by a kernel, without modifications to the algorithm by the user. Using this, we performed measurements on relevant scientific kernels from different applications, such as Airfoil, Volna, Bookleaf, Lulesh and miniAero; using Nvidia Pascal and Volta GPUs. We observed significant speedups ($1.2 ext{--}2.5 imes$).
研究动机与目标
- 提升现代GPU上运行的非结构化网格算法的数据局部性。
- 通过共享内存和着色策略提升空间和时间局部性,减少全局内存访问。
- 开发一个透明的库,重新排序操作和数据访问,而无需用户核函数的修改。
- 评估不同块布局下数据重用与同步开销之间的性能权衡。
- 衡量该优化在来自不同应用的真实科学内核上的有效性。
提出的方法
- 该方法采用两层着色技术对数据访问进行分组,提升共享内存中的数据重用。
- 使用独立库自动透明地重新排序核函数操作和数据访问模式。
- 该方法利用GPU共享内存缓存频繁访问的数据,减少全局内存流量。
- 评估不同块布局以平衡数据重用与同步开销。
- 该优化应用于来自Airfoil、Volna、Bookleaf、Lulesh和miniAero等科学应用的内核。
- 在Nvidia Pascal和Volta GPU上,使用代表性科学工作负载进行性能测量。
实验结果
研究问题
- RQ1两层着色在GPU上的非结构化网格内核中如何提升数据局部性?
- RQ2在非结构化网格算法中,使用共享内存缓存数据的性能影响是什么?
- RQ3不同块布局如何影响数据重用与同步开销之间的权衡?
- RQ4透明库在不修改原始核函数代码的情况下,能在多大程度上优化内存访问模式?
- RQ5使用这些局部性优化技术,在真实科学内核上能实现多大的性能提升?
主要发现
- 所提出的优化在Nvidia Pascal和Volta GPU上实现了1.2×至2.5×的加速。
- 使用共享内存和两层着色显著提高了数据重用率,减少了全局内存访问。
- 该库成功在不修改原始算法的情况下重组了数据访问和核函数操作。
- 不同块布局揭示了同步开销与数据重用效率之间的可测量权衡。
- 该方法在包括Airfoil、Volna、Bookleaf、Lulesh和miniAero在内的多种科学内核上均表现出一致的性能提升。
- 结果证实,即使在具有不规则内存访问模式的复杂非结构化网格工作负载中,局部性优化依然有效。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。