cuPC: CUDA-based Parallel PC Algorithm for Causal Structure Learning on GPU

12/20/2018
by   Behrooz Zare, et al.
0

The main goal in many fields in empirical sciences is to discover causal relationships among a set of variables from observational data. PC algorithm is one of the promising solutions to learn the underlying causal structure by performing a number of conditional independence tests. In this paper, we propose a novel GPU-based parallel algorithm, called cuPC, to accelerate an order-independent version of PC. The cuPC algorithm has two variants, cuPC-E and cuPC-S, which parallelize conditional independence tests over the pairs of variables under the tests, and over the conditional sets, respectively. In particular, cuPC-E offers two degrees of parallelization by performing tests of multiple pairs of variables and also the tests of each pair in parallel. In the other hand, cuPC-S reuses the results of computations of a test for a given conditional set in other tests on the same conditional set. Experiment results on GTX 1080 GPU show two to three orders of magnitude speedup. For instance, in one of the most challenging benchmarks, cuPC-S reduces the runtime from about 73 hours to about one minute and achieves a significant speedup factor of about 4000 X.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/28/2021

ParaLiNGAM: Parallel Causal Structure Learning for Linear non-Gaussian Acyclic Models

One of the key objectives in many fields in machine learning is to disco...
research
09/10/2021

A Fast PC Algorithm with Reversed-order Pruning and A Parallelization Strategy

The PC algorithm is the state-of-the-art algorithm for causal structure ...
research
09/11/2023

Enabling Runtime Verification of Causal Discovery Algorithms with Automated Conditional Independence Reasoning (Extended Version)

Causal discovery is a powerful technique for identifying causal relation...
research
10/06/2020

Recovering Causal Structures from Low-Order Conditional Independencies

One of the common obstacles for learning causal models from data is that...
research
11/12/2022

Improving the Efficiency of the PC Algorithm by Using Model-Based Conditional Independence Tests

Learning causal structure is useful in many areas of artificial intellig...
research
12/08/2022

Fast Parallel Bayesian Network Structure Learning

Bayesian networks (BNs) are a widely used graphical model in machine lea...
research
11/16/2022

Identifying the Causes of Pyrocumulonimbus (PyroCb)

A first causal discovery analysis from observational data of pyroCb (sto...

Please sign up or login with your details

Forgot password? Click here to reset