ACHR.cu

ACHR.cu: GPU-accelerated sampling of metabolic networks - Published in JOSS (2019)

https://github.com/marouenbg/achr.cu

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

cuda metabolic-network parallel-computing sampling
Last synced: 4 months ago · JSON representation

Repository

A GPU implementation of the sampling algorithm ACHR.

Basic Info
  • Host: GitHub
  • Owner: marouenbg
  • License: mit
  • Language: Cuda
  • Default Branch: master
  • Homepage:
  • Size: 39.9 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 2
  • Open Issues: 0
  • Releases: 2
Topics
cuda metabolic-network parallel-computing sampling
Created over 7 years ago · Last pushed over 5 years ago
Metadata Files
Readme License

README.md

DOI DOI TRAVIS codecov License: MIT

Description

ACHR.cu is a General Purpose Graphical Processing Unit (GP-GPU) implementation of the popular sampling algorithm of metabolic models ACHR.

The code comes with the peer-reviewed software note ACHR.cu: GPU accelerated sampling of metabolic networks..

Sampling is the tool of choice in metabolic modeling in unbiased analysis as it allows to explore the solution space constrained by the linear bounds without necessarily assuming an objective function. As metabolic models grow in size to represent communities of bacteria and complex human tissues, sampling became less used because of the large analysis time. With ACHR.cu we can achieve at least a speed up of 10x in the sampling process.

Technically sampling is a two step process:

  1. The generation of warmup points.

  2. The actual sampling starting from the previously generated warmup points.

Installation

The software can be installed via cloning this repository to your local machine and compiling VFWarmup (for step 1) and ACHR.cu (for step 2) at their root folders. More details can be found in the documentation.

Dependencies

  • IBM CPLEX v12.6 (free for academics)

  • GSL linear algebra library

  • CUDA v8.0

  • MPI and OpenMP

Harwarde requirements

  • Nvidia GPU with sm_35 architecture and above. Check the documentation for more details on the requirements.

Reproducibility

Have a look at the code ocean capusle to run ACHR.cu in an interactive container with a sample example. The capsule has an access to an NVIDIA GPU with all software dependencies cached.

Quick guide

Sampling is a two-step process:

  1. The generation of warmup points.

Quick installation cd VFWarmup source ./install.sh make Make sure to run source on the install script because it exports environment variables. Then test your installation: make test

Then you can run the generation of warmup points mpirun -np nCores --bind-to none -x OMP_NUM_THREADS=nThreads createWarmupPts model.mps

This command allows to generate warmup points given by the user in runtime of the model in model.mps file using dynamically load balanced nCores and nThreads through a hybrid MPI/OpenMP.

  1. The actual sampling starting from the previously generated warmup points.

Quick install first. cd ACHRcu source ./install.sh make Also here, make sure to run source on the install script because it exports environment variables. Then, test your installation: make test

Then you can perform the sampling.

./ACHRCuda model.mps warmuppoints.csv nFiles nPoints nSteps

This command allows to generate the actual sampling points starting from the previously generated sampling points stored in warmuppoints.csv to generate a total of nFiles*nPoints with each point requiring nSteps to converge.

Acknowledgments

The experiments were carried out using the HPC facilities of the University of Luxembourg

License

The software is free and is licensed under the MIT license, see the file LICENSE for details.

Feedback/Issues

Please report any issues to the issues page.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Owner

  • Name: Marouen
  • Login: marouenbg
  • Kind: user

Computer scientist by phenotype.

JOSS Publication

ACHR.cu: GPU-accelerated sampling of metabolic networks
Published
November 27, 2019
Volume 4, Issue 37, Page 1363
Authors
Marouen Ben Guebila ORCID
Luxembourg Centre for Systems Biomedicine, University of Luxembourg, Esch-sur-Alzette, Luxembourg.
Editor
Lorena Pantano ORCID
Tags
cuda metabolism constraint-based modeling GPU

GitHub Events

Total
Last Year

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 257
  • Total Committers: 5
  • Avg Commits per committer: 51.4
  • Development Distribution Score (DDS): 0.152
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Marouen m****a@g****m 218
Marouen Ben Guebila Marouen.BenGuebila@uni.lu m****a@n****x 29
Marouen Ben Guebila Marouen.BenGuebila@uni.lu m****a@n****x 6
Kyle Niemeyer k****r@g****m 2
Marouen Ben Guebila Marouen.BenGuebila@uni.lu m****a@n****x 2

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 1
  • Total pull requests: 2
  • Average time to close issues: 21 days
  • Average time to close pull requests: 4 minutes
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 7.0
  • Average comments per pull request: 0.5
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • prasunanand (1)
Pull Request Authors
  • kyleniemeyer (2)
Top Labels
Issue Labels
Pull Request Labels