数十年的计算机科学历史一直致力于设计有效存储和检索信息的解决方案。hashmap(或hashtable)是一种流行的信息存储数据结构,因为它们可以保证元素插入和检索的恒定时间。
然而,尽管hashmap很流行,但很少在 GPU 加速计算的背景下进行讨论。虽然 GPU 以其大量线程和计算能力而闻名,但其极高的内存带宽可以加速许多数据结构(例如hashmap)。
这篇文章将介绍哈hashmap的基础知识以及它们的内存访问模式如何使其非常适合 GPU 加速。我们将介绍cuCollections,这是一个用于并发数据结构(包括hashmap)的新开源 CUDA C++ 库。
最后,如果有兴趣在应用程序中使用 GPU 加速的哈希表,我们提供了多列关系连接算法的示例实现case。RAPIDS cuDF 集成了 GPU 哈希表,这有助于为数据科学工作负载实现令人难以置信的加速。要了解更多信息,请参阅GitHub 上的rapidsai/cudf; 以及使用示例case 使用 Dask 和 RAPIDS 加速 TF-IDF 进行自然语言处理。
还可以将 cuCollections 用于表格数据处理之外的许多用例,例如推荐系统、流压缩、图形算法、基因组学和稀疏线性代数运算。请参阅Pinterest 通过切换推荐系统的 GPU 加速将主页订阅参与度提高 16%了解更多信息。