Accelerating Datalog applications with cuDF

Accelerating Datalog applications with cuDF
复制标题

DOI:
10.1109/ia356718.2022.00012
复制
发表时间:
2022-11
期刊:
2022 IEEE/ACM Workshop on Irregular Applications: Architectures and Algorithms (IA3)
影响因子:
--
通讯作者:
Ahmedur Rahman Shovon;Landon Dyken;Oded Green;Thomas Gilray;Sidharth Kumar
Ahmedur Rahman Shovon;Landon Dyken;Oded Green;Thomas Gilray;Sidharth Kumar
中科院分区:
其他
文献类型:
--
作者:
Ahmedur Rahman Shovon;Landon Dyken;Oded Green;Thomas Gilray;Sidharth Kumar

文献摘要

相似文献

Datalog是一种自下而上的声明性逻辑编程语言,在跨应用程序域的演绎、建模和数据分析方面具有广泛的用途。使用关系代数原语,如连接、投影和并,可以有效地实现数据。虽然存在几种针对基于cpu的系统的Datalog的多线程和多核实现,但我们的工作在开发gpu的Datalog实现方面取得了进展。我们为Datalog应用程序的一个子集演示了高性能关系代数后端的可行性,该后端可以使用cuDF有效地利用gpu的并行性。cuDF是Rapids套件中的一个库,它使用NVIDIA CUDA编程模型来实现GPU并行性。它提供了与Pandas(一种流行的数据分析引擎)类似的功能。在本文中,我们分析和评估了cuDF与Pandas在Datalog中实现的两个图挖掘问题的性能,(1)三角形计数和(2)传递闭包计算。
Datalog, a bottom-up declarative logic programming language, has a wide variety of uses for deduction, modeling, and data analysis, across application domains. Datalog can be efficiently implemented using relational algebra primitives such as join, projection and union. While there exist several multi-threaded and multi-core implementations of Datalog, targeting CPU-based systems, our work makes an inroad towards developing a Datalog implementation for GPUs. We demonstrate the feasibility of a high-performance relational algebra backend for a subset of Datalog applications that can effectively leverage the parallelism of GPUs using cuDF. cuDF is a library from the Rapids suite that uses the NVIDIA CUDA programming model for GPU parallelism. It provides similar functionalities to Pandas, a popular data analysis engine. In this paper, we analyze and evaluate the performance of cuDF versus Pandas for two graph-mining problems implemented in Datalog, (1) triangle counting and (2) transitive-closure computation.