{"id":17632744,"url":"https://github.com/aknvictor/culingam","last_synced_at":"2025-05-05T22:37:19.949Z","repository":{"id":223782080,"uuid":"754228332","full_name":"aknvictor/culingam","owner":"aknvictor","description":"CULiNGAM accelerates LiNGAM analysis on GPUs.","archived":false,"fork":false,"pushed_at":"2024-03-08T16:39:02.000Z","size":49,"stargazers_count":8,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-27T20:21:07.002Z","etag":null,"topics":["causal-discovery","cuda","lingam"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aknvictor.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-07T16:42:01.000Z","updated_at":"2025-01-10T00:35:32.000Z","dependencies_parsed_at":"2024-03-08T17:46:53.196Z","dependency_job_id":"4e3e4820-4919-490c-97da-ae599055202b","html_url":"https://github.com/aknvictor/culingam","commit_stats":null,"previous_names":["viktour19/culingam"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aknvictor%2Fculingam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aknvictor%2Fculingam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aknvictor%2Fculingam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aknvictor%2Fculingam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aknvictor","download_url":"https://codeload.github.com/aknvictor/culingam/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252588187,"owners_count":21772617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["causal-discovery","cuda","lingam"],"created_at":"2024-10-23T01:45:29.768Z","updated_at":"2025-05-05T22:37:19.933Z","avatar_url":"https://github.com/aknvictor.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CULiNGAM - CUDA Accelerated LiNGAM Analysis\n\n## Introduction\n\nCULiNGAM 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.\n\n## Installation\n\nTo 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.\n\n### Prerequisites\n\n- NVIDIA GPU with CUDA Compute Capability 6.0 or higher\n- CUDA Toolkit 12.2 or compatible version\n- Python 3.6 or newer\n- Numpy\n- A C++17 compatible compiler\n\n### Installing from PyPI\n\nCULiNGAM is available on PyPI and can be easily installed with pip:\n\n```bash\npip install culingam\n```\n\n### Installing CULiNGAM manually\n\n1. Clone the repository to your local machine:\n```bash\ngit clone https://github.com/Viktour19/culingam\n```\n\n2. 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):\n```bash\nexport CUDA_HOME=/usr/local/cuda-12.2\n```\n\n3. Optionally, set the GPU_ARCH environment variable to match your GPU architecture if it differs from the default sm_86:\n```bash\nexport GPU_ARCH=sm_xx  # Replace xx with your GPU's compute capability\n```\n\n4. Install the library using pip:\n```bash\npip install .\n```\n\n### Usage\nAfter installation, you can use CULiNGAM in your Python projects to accelerate LiNGAM analysis. Here's a simple example to get started:\n\nhttps://github.com/Viktour19/culingam/blob/main/examples/basic.py\n\n### Support\nFor bugs, issues, and feature requests, please submit a report to the repository's issue tracker. Contributions are also welcome.\n\n### Author\nVictor Akinwande\n\n### License and Acknowledgment\nThis project is licensed under the MIT License - see the LICENSE file for details.\nA good amount of the code is adapted from sequential implementations of the LiNGAM algorithms present in CULiNGAM: https://github.com/cdt15/lingam.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faknvictor%2Fculingam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faknvictor%2Fculingam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faknvictor%2Fculingam/lists"}