中文

面向三角域的非线性 GPU 线程映射

分布式、并行与集群计算 2016-09-07 v1

摘要

在 GPU 计算流水线中,存在一个阶段,其中\textit{并行空间}中的线程块网格被映射到\textit{数据空间}中的问题域上。由于并行空间被限制为盒型几何,该映射方法通常是覆盖 pp 维数据空间的 kk 维包围盒(BB)。落在域内的线程执行计算,而落在域外的线程在运行时被丢弃。在这项工作中,我们研究了将线程高效映射到三角域问题上的情况,并提出了一种基于下三角矩阵性质的块空间线性映射 λ(ω)\lambda(\omega),它将不必要线程的数量从 O(n2)\mathcal{O}(n^2) 减少到 O(n)\mathcal{O}(n)。全局内存访问的性能结果表明,与\textit{包围盒}方法相比,性能提升了高达 18%18\%,使 λ(ω)\lambda(\omega) 位居第二,仅次于\textit{矩形盒}方法,而优于\textit{递归划分}和\textit{上三角}方法。对于共享内存场景,λ(ω)\lambda(\omega) 是最快的方法,在保持线程局部性的同时实现了 7%7\% 的性能提升。这项工作获得的结果使 λ(ω)\lambda(\omega) 成为一种有趣的映射,适用于在定义了三角域(无论有无邻域交互)的并行问题上进行高效的 GPU 计算。本文还分析了向四面体域的扩展,并应用于三体相互作用的多体应用。

关键词

引用

@article{arxiv.1609.01490,
  title  = {A Non-linear GPU Thread Map for Triangular Domains},
  author = {Cristóbal A. Navarro and Benjamín Bustos and Nancy Hitschfeld},
  journal= {arXiv preprint arXiv:1609.01490},
  year   = {2016}
}

备注

16 pages, 7 Figures