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.
Install / Use
/learn @Shamrock-code/ShamrockREADME
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
Third-party :
- Shamrock docker :
docker run -it --platform=linux/amd64 ghcr.io/shamrock-code/shamrock:latest-oneapi
Citing the code
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:
git clone --recurse-submodules https://github.com/Shamrock-code/Shamrock.git
Getting in touch
Join us on any of the networks below or just by opening a discussion or issue in this repository.
Contributing
Shamrock accept contributions through github pull request :
- Code contributions via Pull request
- Documentation contributions via Pull request
- 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 |
DPC++ ROCM |
AdaptiveCPP OpenMP |
AdaptiveCPP ROCM |
AdaptiveCPP CUDA |
AdaptiveCPP SSCP |
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
