/lock-free-pc

A load-balanced, lock-free implementation of the PC-algorithm for causal inference from high-dimensional data.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Lock-Free-PC

Lock-Free-PC is a load-balanced, lock-free implementation of the PC-algorithm for causal inference from high-dimensional data.

It can be used to discover the skeleton graphs of Causal Bayesian Networks.

Setup

Dependencies

To build from this source you need to have the GSL, Boost and Armadillo installed.

Please feel free to add instructions for your system, especially when it's more complicated than brew install ....

On MacOS (using homebrew)

To install these dependencies on MacOS using homebrew run:

brew install gsl
brew install armadillo
brew install boost

On Ubuntu/Debian

To install these dependencies on Ubuntu/Debian using apt run:

sudo apt install libgsl-dev
sudo apt install libarmadillo-dev
sudo apt install libboost-all-dev

Submodules

This project uses the concurrentqueue project internally. After cloning the repository for the first time, run

git submodule update --init --recursive

to pull into your working directory as well.

Build

To build the project from source, follow the standard cmake build flow:

mkdir build
cd build
cmake ..
make