中文

改进三角域问题下的 GPU 计算空间

分布式、并行与集群计算 2015-08-27 v1 硬件体系结构

摘要

在 GPU 计算流水线中,存在一个将线程块网格映射到问题域的阶段。通常,无论问题形状如何,该网格都是一个覆盖 kk 维问题的 kk 维边界框。落入问题域内的线程执行计算,否则在运行时被丢弃。对于具有非正方形几何形状的问题,这并不总是最佳方案,因为部分计算空间的执行没有任何实际用途。二维三角域问题(简称 td-problems)是一个特别值得关注的案例。诸如欧几里得距离图、LU 分解、碰撞检测以及在三角铺砌域上的模拟等问题均为 td-problems,它们频繁出现在许多科学领域。在本工作中,我们提出了一种改进的 GPU 映射函数 g(λ)g(\lambda),它将任意 λ\lambda 块映射到三角域中的唯一位置 (i,j)(i, j)。该映射基于下三角矩阵的性质,并在块级别上运行,因此不会损害块内的线程组织。使用 g(λ)g(\lambda) 带来的理论改进上限为 I<2I < 2,浪费的块数量从 O(n2)O(n^2) 减少到 O(n)O(n)。我们将我们的策略与其他提出的方法进行了比较:上三角映射 (UTM)、矩形框 (RB) 和递归划分 (REC)。我们在 Nvidia Kepler GPU 架构上的实验结果表明,g(λ)g(\lambda) 比边界框 (BB) 策略快 12% 到 15%。与其他策略相比,我们的映射运行速度显著快于 UTM,并且在实际使用中与 RB 一样快,同时具有不损害线程组织的优势(而在 RB 中会受损)。这项工作还首次贡献了对所有现有策略在同一硬件下运行相同实验的公平比较。

关键词

引用

@article{arxiv.1308.1419,
  title  = {Improving the GPU space of computation under triangular domain problems},
  author = {Cristobal A. Navarro and Nancy Hitschfeld},
  journal= {arXiv preprint arXiv:1308.1419},
  year   = {2015}
}

备注

6 pages, 9 Figures