shamrock

The Shamrock Framework, an open-source, multi-GPU hydrodynamics framework for astrophysics. Scales seamlessly from laptops to exascale supercomputers, supporting SPH, AMR, and more.

https://github.com/shamrock-code/shamrock

Science Score: 54.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.7%) to scientific vocabulary

Keywords

adaptivecpp amr astrophysics fluid-dynamics fluid-simulation-engine mpi multi-gpu oneapi phantom ramses sph sycl zeus
Last synced: 6 months ago · JSON representation ·

Repository

The Shamrock Framework, an open-source, multi-GPU hydrodynamics framework for astrophysics. Scales seamlessly from laptops to exascale supercomputers, supporting SPH, AMR, and more.

Basic Info
Statistics
  • Stars: 38
  • Watchers: 5
  • Forks: 15
  • Open Issues: 143
  • Releases: 6
Topics
adaptivecpp amr astrophysics fluid-dynamics fluid-simulation-engine mpi multi-gpu oneapi phantom ramses sph sycl zeus
Created almost 4 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

badge1 pre-commit

The Shamrock code

Shamrock is a general purpose HPC hydrodynamics simulation code focused on astrophysical contexts. The whole code is C++17 by default, and all accelerated parts are done using SYCL, which can be directly compiled directly to native CUDA, ROCM, OpenMP, OpenCL and much more. Shamrock also supports multiple GPUs and Heterogeneous clusters using MPI.

This code aims to be Modern, Modular, Fast, Portable.

Packaging

Packaging status

Third-party :

  • Shamrock docker : docker run -it --platform=linux/amd64 ghcr.io/shamrock-code/shamrock:latest-oneapi

Citing the code

bibtex Nasa ads arXiv

Documentation

We provide both a book like documentation and the more classic doxygen style for more details about the sources - The documentation is available here: Shamrock documentation

Getting started

The whole getting started guide can be found here: Getting started

Note that a convenient way to pull the Shamrock repo is the following command to also pull the submodules: bash git clone --recurse-submodules https://github.com/Shamrock-code/Shamrock.git

Getting in touch

Join us on Discord, or Slack! Alternatively, open a discussion or issue in this repository.

Contributing

Shamrock accept contributions through github pull request : 1. Code contributions via Pull request 2. Documentation contributions via Pull request 3. Issue report & feature requests via Github issues

If you want to contribute please fork the code and submit your pull requests from your fork.

Compiler support

Compiler config | Support ---|--- DPC++ CUDA | badge2 DPC++ ROCM | badge2 AdaptiveCPP OpenMP | badge2 AdaptiveCPP ROCM | badge2 AdaptiveCPP CUDA | badge2 AdaptiveCPP SSCP | badge2

Licensing

Shamrock is licensed under the CeCILL Free Software License Agreement v2.1. See License (french version) or License (english version) for more details.

Copyright 2021-2025 Timothée David--Cléris

SPDX-License-Identifier: CeCILL Free Software License Agreement v2.1

Owner

  • Name: Shamrock
  • Login: Shamrock-code
  • Kind: organization
  • Location: France

Citation (CITATION.bib)

@ARTICLE{2025MNRAS.539....1D,
       author = {{David-Cl{\'e}ris}, T. and {Laibe}, G. and {Lapeyre}, Y.},
        title = "{The SHAMROCK code: I - smoothed particle hydrodynamics on GPUs}",
      journal = {\mnras},
         year = 2025,
        month = may,
       volume = {539},
       number = {1},
        pages = {1-33},
          doi = {10.1093/mnras/staf444},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2025MNRAS.539....1D},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 44
  • Total pull requests: 262
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 12 days
  • Total issue authors: 2
  • Total pull request authors: 7
  • Average comments per issue: 0.09
  • Average comments per pull request: 0.89
  • Merged pull requests: 169
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 43
  • Pull requests: 258
  • Average time to close issues: 15 days
  • Average time to close pull requests: 3 days
  • Issue authors: 2
  • Pull request authors: 7
  • Average comments per issue: 0.09
  • Average comments per pull request: 0.87
  • Merged pull requests: 168
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • tdavidcl (41)
  • y-lapeyre (3)
Pull Request Authors
  • tdavidcl (226)
  • Akos299 (19)
  • y-lapeyre (7)
  • cclauss (5)
  • bcommerc (3)
  • aserhani (1)
  • DavidFang03 (1)
Top Labels
Issue Labels
feature-request (25) documentation (7) rewrite (6) bug (3) Solver-SPH (1)
Pull Request Labels
In-review (160) Draft (33) Polishing (25) Stalled (2) documentation (1) WIP (1)

Packages

  • Total packages: 1
  • Total downloads:
    • homebrew 60 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
formulae.brew.sh: shamrock

Astrophysical hydrodynamics using SYCL

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 60 Last month
Rankings
Dependent packages count: 16.5%
Average: 34.8%
Downloads: 39.9%
Dependent repos count: 48.1%
Last synced: 6 months ago

Dependencies

env/machine/conda/acpp/environment.yml conda
  • adaptivecpp 24.10.0
  • boost 1.85.0
  • clangxx 19.1.7
  • cmake
  • fmt 11.0.2.*
  • matplotlib
  • ninja
  • numpy
  • openmpi
  • psutil
  • python 3.12.*
.github/workflows/detect_changes.yml actions
  • dorny/paths-filter v3 composite
.github/workflows/make_documentation.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v4 composite
.github/workflows/make_website.yml actions
  • actions/download-artifact v4 composite
  • actions/upload-artifact v4 composite
  • actions/upload-pages-artifact v3 composite
.github/workflows/on_completed_pr_workflow.yml actions
  • actions/github-script v6 composite
  • myrotvorets/set-commit-status-action master composite
  • thollander/actions-comment-pull-request v3 composite
.github/workflows/on_pr.yml actions
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
.github/workflows/on_push_main.yml actions
  • actions/checkout v4 composite
  • actions/deploy-pages v4 composite
  • actions/download-artifact v4 composite
  • marvinpinto/action-automatic-releases latest composite
.github/workflows/on_schedule_main.yml actions
.github/workflows/prepare_release.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v4 composite
.github/workflows/shamrock-acpp-clang-asan.yml actions
  • actions/checkout v4 composite
.github/workflows/shamrock-acpp-clang-coverage.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v4 composite
.github/workflows/shamrock-acpp-clang-py.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v4 composite
.github/workflows/shamrock-acpp-clang-tidy.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v4 composite
.github/workflows/shamrock-acpp-clang-ubsan.yml actions
  • actions/checkout v4 composite
.github/workflows/shamrock-acpp-clang.yml actions
  • actions/checkout v4 composite
.github/workflows/shamrock-acpp-conda.yml actions
  • actions/checkout v4 composite
.github/workflows/shamrock-acpp-macos.yml actions
  • actions/checkout v4 composite
.github/workflows/shamrock-acpp-phys-test.yml actions
  • actions/checkout v4 composite
.github/workflows/shamrock-dpcpp.yml actions
  • actions/checkout v4 composite
.github/workflows/source_checks.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • actions/upload-artifact v4 composite
  • pre-commit/action v3.0.1 composite