Skip to main content

CULiNGAM accelerates LiNGAM analysis on GPUs.

Project description

CULiNGAM - CUDA Accelerated LiNGAM Analysis

Introduction

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.

Installation

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.

Prerequisites

  • NVIDIA GPU with CUDA Compute Capability 8.6 or higher
  • CUDA Toolkit 12.2 or compatible version
  • Python 3.6 or newer
  • Numpy
  • A C++17 compatible compiler

Installing from PyPI

CULiNGAM is available on PyPI and can be easily installed with pip:

pip install culingam

Installing CULiNGAM manually

  1. Clone the repository to your local machine:
git clone https://github.com/Viktour19/culingam
  1. Ensure that CUDA_HOME environment variable is set to your CUDA Toolkit installation path. If not, you can set it as follows (example for default CUDA installation path):
export CUDA_HOME=/usr/local/cuda-12.2
  1. Optionally, set the GPU_ARCH environment variable to match your GPU architecture if it differs from the default sm_86:
export GPU_ARCH=sm_xx  # Replace xx with your GPU's compute capability
  1. Install the library using pip:
pip install .

Usage

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

Support

For bugs, issues, and feature requests, please submit a report to the repository's issue tracker. Contributions are also welcome.

Author

Victor Akinwande

License and Acknowledgment

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

culingam-0.0.8.tar.gz (27.3 kB view details)

Uploaded Source

File details

Details for the file culingam-0.0.8.tar.gz.

File metadata

  • Download URL: culingam-0.0.8.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for culingam-0.0.8.tar.gz
Algorithm Hash digest
SHA256 331db3a28cb667bab468d7585233c2646668989a64ccc73da1a410227dfb72d2
MD5 4b2e9c35c244e307307137a3b2badfbf
BLAKE2b-256 8b80fe3b2b9df4309fe4fe537989abddd5d18fa615d9a0ce982603aba9b824dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page