compas-toolkit

High-Performance GPU library for quantitative MRI research

https://github.com/nlesc-compas/compas-toolkit

Science Score: 26.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
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.8%) to scientific vocabulary

Keywords

cuda gpu julia mri quantitative-mri
Last synced: 7 months ago · JSON representation

Repository

High-Performance GPU library for quantitative MRI research

Basic Info
Statistics
  • Stars: 1
  • Watchers: 3
  • Forks: 0
  • Open Issues: 10
  • Releases: 1
Topics
cuda gpu julia mri quantitative-mri
Created almost 3 years ago · Last pushed 7 months ago
Metadata Files
Readme License Zenodo

README.md

Compas Toolkit

github Github Build GitHub License GitHub Tag

The Compas Toolkit is a high-performance C++ library offering GPU-accelerated functions for use in quantitative MRI research. The toolkit offers fast simulations of various MRI sequences and k-space trajectories commonly used in qMRI studies. While the core of the toolkit is implemented using CUDA, the functionality is accessible from both C++ and Julia.

Features

  • Flexible API that can be composed in different ways.
  • Highly tuned GPU kernels that provide high performance.
  • Implemented using CUDA, optimized for Nvidia GPUs.
  • Usable from Julia and C++.

Prerequisites

Compilation requires the following software:

  • CMake (version 3.10 or higher)
  • NVIDIA CUDA Compiler (version 11.0 or higher)
  • Julia (version 1.9 or later, only for Julia bindings)

Installation

To install the Compas Toolkit, follow these steps:

Clone the repository

First, clone the GitHub repository:

bash $ git clone --recurse-submodules https://github.com/NLeSC-COMPAS/compas-toolkit

Compiling the C++ code

Next, configure the CMake project inside a new build directory:

bash $ mkdir -p build $ cd build $ cmake -B. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CUDA_ARCHITECTURES=80 ..

After the configuration, build the toolkit by running:

bash $ make compas-toolkit

This generates a static library named libcompas-toolkit.a.

Compiling the Julia bindings

To compile the Julia bindings, use the following command. This will install the library into a local lib/ directory:

bash $ make install

If everything has gone as planned, you'll now have a shared library called libcompas-julia.so in the local lib/ directory. Additionally, a Julia file should have been automatically generated as CompasToolkit.jl/src/CompasToolkit.jl.

Usage

To use the Compas Toolkit in Julia, simply build the Julia bindings using the instructions above and then add the directory CompasToolkit.jl to you Julia project.

```julia $ julia

using Pkg; Pkg.add(path="/CompasToolkit.jl/") ```

You can then import the library with using CompasToolkit.

For examples of using the toolkit, take a look at the scripts available in the CompasToolkit.jl/tests directory.

Owner

  • Name: NLeSC-COMPAS
  • Login: NLeSC-COMPAS
  • Kind: organization

GitHub Events

Total
  • Issues event: 1
  • Issue comment event: 1
  • Push event: 89
  • Pull request event: 4
  • Create event: 2
Last Year
  • Issues event: 1
  • Issue comment event: 1
  • Push event: 89
  • Pull request event: 4
  • Create event: 2

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 1
  • Total pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • isazi (15)
  • stijnh (4)
Pull Request Authors
  • stijnh (5)
  • isazi (3)
Top Labels
Issue Labels
Pull Request Labels