CULiNGAM accelerates LiNGAM analysis on GPUs.
MIT License
CULiNGAM is a high-performance library that accelerates Linear Non-Gaussian Acyclic Model (LiNGAM) analysis on GPUs. It leverages the computing power of NVIDIA GPUs to provide fast and efficient computations for LiNGAM applications, making it ideal for large-scale data analysis in fields such as bioinformatics, economics, and machine learning. CULiNGAM can be more more than 32x faster than CPU implementations: https://arxiv.org/abs/2403.03772.
To install CULiNGAM, you need a system with NVIDIA CUDA installed and a compatible GPU. This library is tested with CUDA 12.2 and designed for GPUs with the architecture sm_86
, although it may work with other versions and architectures with appropriate adjustments.
CULiNGAM is available on PyPI and can be easily installed with pip:
pip install culingam
git clone https://github.com/Viktour19/culingam
export CUDA_HOME=/usr/local/cuda-12.2
export GPU_ARCH=sm_xx # Replace xx with your GPU's compute capability
pip install .
After installation, you can use CULiNGAM in your Python projects to accelerate LiNGAM analysis. Here's a simple example to get started:
https://github.com/Viktour19/culingam/blob/main/examples/basic.py
For bugs, issues, and feature requests, please submit a report to the repository's issue tracker. Contributions are also welcome.
Victor Akinwande
This project is licensed under the MIT License - see the LICENSE file for details. A good amount of the code is adapted from sequential implementations of the LiNGAM algorithms present in CULiNGAM: https://github.com/cdt15/lingam.