数学:并行计算:gpu上のアウトオブコア・ステンシル計算を高速化するための実行パラメータの選定
GPU上のアウトオブコア・ステンシル計算を高速化するための実行パラメータの選定
总结
三个参数
时空分块步数 b(Temporal Blocking Step / 段数)
b越大,需同时存储更多步的中间结果和更宽的“袖带”,显存占用随之大增
做b步(b>1)时,每多做一步,数据依赖向外扩展一层,所以要多准备b层袖带
数据块(chunk)大小 c(Chunk Size)
是否使用数据压缩 d(Use Compression or Not)
AI总结
研究背景
Stencil计算是一种常见于气候模拟和图像处理等领域的数值计算,特点是每个元素的值更新依赖于其周围的元素。
随着数据量增大,GPU的显存往往无法容纳全部数据,必须采用Out-of-Core计算(即数据分块、分批处理)。
GPU上的Out-of-Core Stencil计算有多种加速方法,包括Temporal Blocking(时空分块)、数据重用和数据压缩。
研究问题
在实际应用中,需要设定3个主要执行参数:时空分块步数 b、数据块(chunk)大小 c,以及是否使用数据压缩 d。
不同参数组合对运行效率影响巨大,但参数调优通常需要反复试验、消耗大量时间和计算资源。
难点在于如何在程序实现前,利用已有的内存内(in-core)结果和理论模型,自动选出能缩短执行时间的最优参数组合。
论文贡献
提出了一套基于解析性能预测模型的参数选定方法,可以在不需要完整实现Out-of-Core程序的情况下,预先推算出高性能的参数组合(b, c, d)。
分别针对是否启用数据压缩,推导出两组参数(b0, c0, 0)与(b1, c1, 1),并对其预估运行时间T0、T1进行比较,最终选择更优的方案应用于实际计算。
主要思路:
通过分析和实验,发现短执行时间的参数组合一般具备“分块步数b尽可能大,chunk大小c也尽量大”的特性,但需满足GPU显存约束及数据重用的边界限制。
设计了自动搜索算法,先最大化b,再在允许范围内最大化c。
利用性能模型,结合in-core测试数据、硬件性能等,估算不同参数下的实际执行时间。
实验与结果
在8种不同类型的Stencil计算、2种GPU环境下进行共16组测试,对所有可能的参数组合进行了实测比对。
结果显示,所提方法有10组实验可以选出真正最优参数,其余组最大相对误差也仅10.2%;用前5名参数组合建模时,最大误差更小,仅2.8%。
说明该方法无需反复试错即可自动选出性能最优或近优的执行参数。
关键词
GPU、Out-of-Core Stencil计算、性能预测模型、数据压缩
一句话总结:
本论文提出了一种无需反复试错、基于理论性能预测模型的GPU Out-of-Core Stencil计算加速参数自动选定方法,并通过实验验证了其准确性和实用价值,对大规模科学计算等实际应用具有重要意义。
/var/www/DokuWikiStick/dokuwiki/data/pages/数学/并行计算/gpu上のアウトオブコア・ステンシル計算を高速化するための実行パラメータの選定.txt · Last modified: 2025/07/19 18:01 by zhonghui