An open-source, multi-GPU hydrodynamics framework for astrophysics

Shamrock is a general-purpose HPC hydrodynamics simulation code focused on astrophysical applications. The entire codebase is written in C++17, with all accelerated components implemented using SYCL, which can be compiled directly to native CUDA, ROCm, OpenMP, OpenCL, and more. Shamrock also supports multiple GPUs and heterogeneous clusters using MPI.

Features

Multi-GPU Support

Scale seamlessly from laptops to exascale supercomputers with native multi-GPU and heterogeneous cluster support using MPI.

Multi-methods

Support for multiple hydrodynamics solvers including both grid-based and particle-based methods for comprehensive astrophysical simulations.

Astrophysical Focus

Specialized for astrophysical applications with support for SPH, AMR, and other advanced hydrodynamics methods.

SYCL Acceleration

All accelerated components use SYCL, compiled directly to native CUDA, ROCm, OpenMP, OpenCL, and more for maximum performance.

Modern C++17

Built with modern C++17 standards, providing robust performance and maintainable code for scientific computing.

Quick Start

Ready to Get Started?

Follow our comprehensive quickstart guide to install Shamrock and run your first hydrodynamics simulation. The guide covers installation, device selection, and basic usage patterns.

View Quickstart Guide

Installation

Multiple installation methods: from source, Spack, Homebrew, or Docker

Device Selection

Choose between GPU and CPU devices with our device management system

Multiple Modes

Use Shamrock as an Python interpreter, Python package, or in Jupyter notebooks

Community

Join the Shamrock Project

Contribute by reporting issues, suggesting features, or contributing code

Contribute to Shamrock