GGArray:一种可动态增长的 GPU 数组
分布式、并行与集群计算
2022-09-09 v2
摘要
我们提出了一种完全在 GPU 上实现、无需与主机同步的可动态增长 GPU 数组(GGArray)。其理念是通过提供一种无需为最坏情况预分配 GPU VRAM 的结构,改进需要动态内存的 GPU 应用程序的编程。GGArray 基于 LFVector,通过利用一组 LFVector 以充分利用 GPU 架构以及线程块所提供的同步机制。该结构与其它最先进的方案进行了比较,例如预分配的静态数组以及需要通过与主机通信来调整大小的半静态数组。实验评估表明,GGArray 在插入和大小调整性能上具有竞争力,但在常规并行内存访问方面较慢。鉴于这些结果,GGArray 对于内存使用高度不确定以及具有阶段性(例如插入阶段后接常规 GPU 阶段)的应用是一种潜在有用的结构。在此类情况下,GGArray 可用于第一阶段,然后数据可在第二阶段被扁平化以允许更快的经典 GPU 内存访问。这些结果朝着为现代 GPU 架构实现高效的类 C++ 并行向量迈出了一步。
引用
@article{arxiv.2209.00103,
title = {GGArray: A Dynamically Growable GPU Array},
author = {Enzo Meneses and Cristóbal A. Navarro and Héctor Ferrada},
journal= {arXiv preprint arXiv:2209.00103},
year = {2022}
}
备注
8 pages