Releases: Shamrock-code/Shamrock
Shamrock 2025.10.0
The first Shamrock release to achieve quasi-exascale performance!
Outstanding changes
Aurora testing (close to exascale)
- [Algs] Fix sparse communications above 1k nodes (aurora pullback) by @tdavidcl in #1133
- [Math] Improve LatticeHCP performance by @tdavidcl in #980
These are just two of the numerous PRs that allowed Shamrock to exceed the 10,000-GPU milestone, resulting in an impressive performance milestone of 223 Gpart/s on 24,000 GPU tiles, with a parallel weak-scaling efficiency of 82.9%.
See https://shamrock-code.github.io/ for updated scores
Solvergraphs
This one isn’t the simplest, but it stems from a major issue common to complex codes. As the number of features, physical models, and modules implemented in a solver continues to grow, the code paths become increasingly tangled — full of conditionals, deeply nested functions, and opaque data flows. The result is a solver that’s hard to read, hard to modify, and difficult to maintain.
To address this, we need to untangle the mess.
Following discussions with @thomasguillet and taking inspiration from softwares like Blender, Autodesk Maya’s Hypergraph, or Quest3D (for those who remember it!), we realized that what’s needed is a graph-based API to express data flow between abstract modules.
Here is an example of a composition of nodes from blender
The idea is to represent each component of the solver as a node in such a graph, where the final output corresponds to the solver’s state after one timestep. We plan to write a more detailed post, document, or paper on this topic, but the TL;DR is that we’ve already implemented this concept in Shamrock, in a system we call Solvergraphs. For example, in a Godunov scheme, the conversion between conservative and primitive variables would be represented as a single node, such as ConsToPrim, but we do not want the node to be self-contained and independant on the sources and targets.

Now, if we apply this approach to the full solver, we get the following (although Graphviz doesn’t do a very good job of organizing the layout...)

(grey = data, white = node)
With the new Solvergraph API, we can now express modules independently of the specific data they operate on. This greatly improves reusability, allowing modules to be used across the codebase with different sets of inputs and outputs.
The next step, planned for a future release, is to fully migrate all solvers to this API and further simplify development — both on the C++ side and through graphical external tools or Python bindings.
Others
Addition of Shamrock restart dumps to the Ramses solver:
- [Ramses][io] add shamrock native dump. by @y-lapeyre in #850
Multiple analysis modules were added for SPH:
- [SPH] add AnalysisSPH module with method to compute barycenter by @DavidFang03 in #1116
- [SPH] add total momentum analysis by @tdavidcl in #1276
- [SPH] add Analysis for Kinetic and Potential energy by @tdavidcl in #1280
- [SPH] Disc analysis module by @y-lapeyre in #1108
As well as features in setups:
- [SPH][Setups] New custom warp setup by @y-lapeyre in #1162
The possibility of directly installing python bindings without having to fiddle with .so (s):
There have also been changes on the physics side, but you’ll have to check arXiv in the coming months (hopefully) for the details ;)
What's Changed
- pull back from release/2025.05.x to main by @tdavidcl in #946
- [Git] change mdspan remote to http by @tdavidcl in #949
- [Ramses] fix a typo in face interpolation by @tdavidcl in #951
- [Patch] fix a missing const on PatchDataFieldSpan accessors by @tdavidcl in #953
- [Ci] add concurency group to have only a single CI running per PR by @tdavidcl in #954
- [Base] add set diff & on_distributeddata_diff by @tdavidcl in #955
- [CI] add github page artifact to PR report by @tdavidcl in #957
- [Backends] allow const DistributedData use in distributed kernel call by @tdavidcl in #958
- [Doc] update packaging information, quickstart guide and README by @tdavidcl in #956
- [SolverGraph] add shamrock solvergraph API to compose modules by @tdavidcl in #959
- [Solvergraph] Implement NodeFreeAlloc to add alloc freeing in the graph by @tdavidcl in #976
- [Ramses][solvergraph PR 2] move ConsToPrim spans & field to SolverStorage by @tdavidcl in #961
- [SolverGraph] wrap IDataEdge tex symbol in brackets by @tdavidcl in #965
- [Models] make set_solver_config consistent across models by @tdavidcl in #966
- [CI] report tests error using Github action log format by @tdavidcl in #968
- [CI] clean test outputs with MPI by @tdavidcl in #969
- [SolverGraph] new FieldRefs layer, between Field and FieldSpan by @tdavidcl in #970
- [Shamcomm] fix: remove extra print in gather_str by @tdavidcl in #973
- [Env] update acpp 24.10.0 -> 25.02.0 by @tdavidcl in #972
- [Ramses][solvergraph PR 1] Migrate ConsToPrim to use solvergraph by @tdavidcl in #960
- [Solvergraph] make edge span & ref getter abstract using interfaces by @tdavidcl in #975
- [Env] add env for Argonne Aurora supercomputer by @tdavidcl in #911
- [Ci] fix missreporting of test errors in github action by @tdavidcl in #977
- [CI] add godunov tests with dust by @tdavidcl in #978
- [Ramses][solvergraph PR 3] replace ConsToPrim by solvergraph modules by @tdavidcl in #962
- [CI] attempt to use a common docker image for all physical tests by @tdavidcl in #979
- [Comm][Aurora pullback] improve MPI status log in startup by @tdavidcl in #982
- [Logs] fix some typos in init logs by @tdavidcl in #984
- [Ramses][solvergraph PR 6] Use distributed refs instead of copy by @tdavidcl in #985
- [Ramses][solvergraph PR 4] ComputeCellInfos use solvergraph internally by @tdavidcl in #964
- sod_tube_zeus.py: Fix undefined name vx by @cclauss in #988
- [Doc] replace shamrock homebrew tap refs by homebrew-core by @tdavidcl in #989
- [CI] add godunov sod test with AMR=on by @tdavidcl in #992
- [Ramses][solvergraph PR 5] AMRTree use solvergraph internally by @tdavidcl in #971
- [Ramses][solvergraph PR 7] Use NodeBuildTrees instead of legacy AMRTree by @tdavidcl in #993
- Fix typo by @cclauss in #994
- pre-commit: Add ruff linter for Python code by @cclauss in #990
- [Ramses][solvergraph PR 8] Migrate AMRGraphGen to solvergraph by @tdavidcl in #995
- [Ramses][solvergraph PR 9] Merge beginning of the step as a single OperationSequence by @tdavidcl in #996
- [Ramses][solvergraph PR 10] Move ComputeAABB node in main solver sequence by @tdavidcl in #997
- [Math] add paving functions for ghost zones by @tdavidcl in #987
- [Ramses][solvergraph PR 11] Migrate gradients to solvegraph by @tdavidcl in #999
- [Ramses] migrate link fields & AMRGraph to USM by @tdavidcl in #1001
- [Base] use numerical limits to set shortcut one by @tdavidcl in #1003
- [Phys] Binary orbit utility by @tdavidcl in #1007
- [Ramses][solve...
Shamrock 2025.05.0
Not the largest release (pretty chill month overall) but some notable stuff anyway
Docker release of Shamrock
Shamrock now systematically release docker container on main. This allow a simple solution to test the code independently of system configuration.
Provided that you have docker installed (https://docs.docker.com/engine/install/, or brew install --cask docker on Macos) you can use shamrock directly without having to compile it.
Pulling the image:
docker pull --platform=linux/amd64 ghcr.io/shamrock-code/shamrock:latest-oneapiRunning the image:
docker run -it --platform=linux/amd64 ghcr.io/shamrock-code/shamrock:latest-oneapifollowed by shamrock to run it, or start python and then import shamrock
Jupyter notebook:
docker run -i -t -v $(pwd):/work -p 8888:8888 --platform=linux/amd64 ghcr.io/shamrock-code/shamrock:latest-oneapi jupyter notebook --allow-root --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token=''It will start a jupyter notebook inside the container and alias the current directory you terminal is in to /work in the container which is the default directory. In principle jupyter should just open in the current directory. You can also remove the -v $(pwd):/work to use only a temporary storage.
After that just go to http://127.0.0.1:8888
Outstanding stuff
- Addition of mdspan to Shamrock sub-modules
After much reflexion we decided that using kokkos/mdspan (the reference implementation ofstd::mdspan) was the proper solution to implement matrix algorithm in shamrock as well as some span related things. - Remove the distinction between pylib mode and executable mode.
This allows effectively to install both the python lib and executable mode simultaneously. - Redesign of
shamrock --smito have a shorter output on large clusters (looking at you Aurora :) )
Exemple with the AdaptiveCpp OpenMP backend on Macos :
----- Shamrock SMI -----
Available devices :
1 x Nodes: --------------------------------------------------------------------------------
| id | Device name | Platform name | Type | Memsize | units |
-------------------------------------------------------------------------------------------
| 0 | AdaptiveCpp OpenMP h ... | OpenMP (platform 0) | CPU | 64.00 GB | 16 |
-------------------------------------------------------------------------------------------
Selected devices : (totals can be wrong if using multiple rank per devices)
- 1 x AdaptiveCpp OpenMP host device (id=0)
Total memory : 64.00 GB
Total compute units : 16
What's Changed
- [CMake] add install target for shamrock packaging by @tdavidcl in #851
- Revert "[CMake] add install target for shamrock packaging" by @tdavidcl in #852
- Reland "[CMake] add install target for shamrock packaging" by @tdavidcl in #853
- [Shamrock] disable git info outside of git by @tdavidcl in #854
- [Doc][Readme] add shamrock paper 1 refs by @tdavidcl in #858
- [Bindings] hide exe/pylib compile flags switch inside shambindings sources by @tdavidcl in #860
- [Buildbot] Generalize license checking tool by @tdavidcl in #864
- [Cmake] update version requirement by @tdavidcl in #865
- [Bindings] remove the distinction between pylib mode and executable mode by @tdavidcl in #862
- [Pylib] use correct init function by @tdavidcl in #866
- [Main] cleanup by @tdavidcl in #868
- [external] update pybind11 to v2.13.6 by @tdavidcl in #867
- [Cmake] support using system provided pybind11 by @tdavidcl in #869
- [Env][Macos] use adaptivecpp from homebrew-core by @tdavidcl in #870
- [Cmake] clean library handling by @tdavidcl in #871
- [README] add slack link by @tdavidcl in #872
- [Env][Conda] pin acpp and clang versions by @tdavidcl in #875
- [CI] update runner images to new containers by @tdavidcl in #874
- [Env] Standardise env generation using new EngGen class by @tdavidcl in #877
- [SPH][Setup] fix and add control over initial h factor for disc setup by @tdavidcl in #879
- [Cmake] add detect for group reduction support by @tdavidcl in #880
- [Env] fix dgx env by @tdavidcl in #882
- [Algs] improve group reduction switching for acpp SSCP backend by @tdavidcl in #881
- [Exemples] remove old sedov_taylor.txt by @tdavidcl in #888
- [Pre-commit] update precommit modules by @tdavidcl in #885
- [Sys] avoid printing multiple time direct GPU comm by @tdavidcl in #883
- [Env] change lumi llvm vers to 17 by @tdavidcl in #889
- [Math] add multiple derivative estimator by @tdavidcl in #890
- [Cmake] print more shamrock configuration options by @tdavidcl in #893
- [Base] add warning if nvtx used without profiling by @tdavidcl in #892
- [Patch] improve PatchDataFieldSpan handling by @tdavidcl in #894
- [Env][Nix] fix nix again ... (missing CUDA backend) by @tdavidcl in #899
- [Algs] migrate serialize to USM by @tdavidcl in #873
- [Cmake] Improve acpp configure logs by @tdavidcl in #902
- [Ramses] allow calling of ConsToPrim on onther fields by @tdavidcl in #903
- [Tree] allow constructing ReducedMortonSet from cached buffers by @tdavidcl in #906
- [CI] add support for intel/oneapi docker by @tdavidcl in #908
- [Env][docker.intel_oneapi] Fix NaNs emitted by random gen in test by @tdavidcl in #910
- [Env] Allow installing shamrock executable with pip by @tdavidcl in #912
- [Doc] add vertical profile to disc exemple & fix it ... by @tdavidcl in #913
- [Git] add mdspan as subproject by @tdavidcl in #917
- [Base] add custom assertion wrapper (for use in kernels) by @tdavidcl in #922
- [Math] rewrite some old matrix utils using mdspan by @tdavidcl in #920
- [CMake] add check on git submodule commit hash by @tdavidcl in #925
- [Math] add more matrix utility functions by @Akos299 in #928
- [CI] Build & release a shamrock docker container by @tdavidcl in #930
- [Sys] improve shamrock smi mode by @tdavidcl in #931
- [Backends] fix potential integer overflow in alloc size by @tdavidcl in #934
- [CMake] Allow disabling SYCL header inclusion in cmake by @tdavidcl in #933
- [Backends] detect physical memory size & correct it on acpp OpenMP backend by @tdavidcl in #935
- [Sys] add micro GPU benchmark to post startup benchmarks by @tdavidcl in #932
- [Tree] implement KarrasRadixTree (USM version of the current one) by @tdavidcl in #936
- [Patch] fix dumb typo in SchedulerUtility::compute_rank_sum by @tdavidcl in #938
- [Comm][Backends] rework the DGPU forced state (to also enable it on any platform) by @tdavidcl in #937
- [ComputeField] Add interface for dot_sum collective by @Akos299 in #939
- [Math] matrix exponential algorithms by @Akos299 in #914
Full Changelog: v2025.03.1...v2025.05.0
Shamrock 2025.03.1
What's Changed
- add the missing install target required for homebrew packaging
- Hotfix to update version number
Full Changelog: v2025.03.0...v2025.03.1
Shamrock 2025.03.0
The first public major release of Shamrock !
Outstanding changes
- AMR refinment in Ramses model
- Dust 2-fluid solver in Ramses model
- Ideal-MHD in SPH
- Every model is now a cmake subproject
- Most of the code was migrated from
sycl::buffertoUSMallocations
PRs
- [AMR][Godunov] enable grid refinement by @tdavidcl in #632
- [AMR][Godunov] add HLLC Riemann solver by @Akos299 in #640
- [Profiling] new profiling interface in Shamrock by @tdavidcl in #647
- [Patch] migrate PatchDataFields from sycl::buffer to USM allocations by @tdavidcl in #672
- [Godunov][AMR] [buffer -> usm] dust transport by @Akos299 in #737
- [Main] introduce
--smiarg to list all possible compute devices directly with shamrock by @tdavidcl in #830 - [Doc] add sphinx doc for the python bindings by @tdavidcl in #813
- [Models] track mem usage in schemes by @tdavidcl in #705
- [MHD] Functional solver on linear wave tests. by @y-lapeyre in #707
- [CI][Env] add conda env by @tdavidcl in #776
- [Godunov][AMR] irk1 drag integrator by @Akos299 in #740
What's Changed
- [Env] fix adastra mi250x env by @tdavidcl in #618
- [Math] move tensors to shammath by @tdavidcl in #630
- [Doc] document the release process by @tdavidcl in #631
- [Env] dgx env : add case for built from source OpenMPI & UCX by @tdavidcl in #619
- [AMR][Godunov] cell injection for large simulations by @tdavidcl in #634
- [Backends] implement EventList for DeviceBuffer by @tdavidcl in #635
- [Backends] make DeviceBuffer resizable by @tdavidcl in #637
- [Backends] pulldown some fixes from Lumi tests by @tdavidcl in #642
- [CI] try enabling ubsan workflow by @tdavidcl in #645
- [Comm] use DeviceBuffer for CommBufferImpl by @tdavidcl in #643
- [backends] fix warnings introduced in PR #645 by @tdavidcl in #646
- [CMake] fix python detection issue with 3.13 by @tdavidcl in #648
- [Algs] port D. Merril scan algorithm to USM by @tdavidcl in #649
- [Godunov][AMR] fix out-of-bound read in derefinement by @tdavidcl in #652
- [Env] add pylib for macos by @tdavidcl in #655
- [Doc] change logo by @tdavidcl in #656
- [Env][Backends] fix latest dpcpp & bind clone to a tag by @tdavidcl in #660
- [Backends] add wait after submit option to DeviceQueue by @tdavidcl in #658
- [License] clean license handling by @tdavidcl in #657
- [PHYS, SPH] adding the isothermal EOS by @y-lapeyre in #667
- [Backends] allow const DeviceBuffer by @tdavidcl in #666
- [EOS isothermal] Bug fixed ! by @y-lapeyre in #669
- [CI] improve clang-tidy db gen by @tdavidcl in #673
- [CI] add clang-tidy diff by @tdavidcl in #674
- [CI] comment clang-tidy diff result on PR by @tdavidcl in #676
- [CI] route clang-tidy report through a script by @tdavidcl in #677
- [Backends] finalized interfaces for USM buffers by @tdavidcl in #675
- [CI] compile only shamrock in phys tests by @tdavidcl in #679
- [CI] add -j to clang-tidy-diff by @tdavidcl in #681
- [SPH] implement timestep logs by @tdavidcl in #682
- [Bindings] add bindings for the shamrock version string by @tdavidcl in #683
- [Env] add NixOS env by @tdavidcl in #684
- Revert "[Env] add NixOS env" by @tdavidcl in #685
- [Env] add NixOS acpp env by @tdavidcl in #686
- [Env] add cuda support in nixos acpp env by @tdavidcl in #689
- [Backends] add fpe exception catch by @tdavidcl in #692
- [Dump] remove wrong offset in dump by @tdavidcl in #694
- [Doc] add missing package to quickstart macos by @tdavidcl in #698
- [Tree] create shamtree cmake subproject by @tdavidcl in #697
- [Phys] move shamrock/physics to shamphys by @tdavidcl in #699
- [CMake] make shamrock core lib a cmake subproject by @tdavidcl in #700
- [SPH] fix a typo by @tdavidcl in #702
- [Backends] add memory perf & rework alloc func flow by @tdavidcl in #704
- [Base] WithUUID utility class by @tdavidcl in #708
- [Test] disable flaky test for UUID thread unsafe version by @tdavidcl in #715
- [Backends] fix misreporting of max memory usage by @tdavidcl in #714
- [Zeus] add testing in CI by @tdavidcl in #711
- [Backends] add_events func for EventList & document the class by @tdavidcl in #710
- [Backends] add buffer mirror by @tdavidcl in #696
- [Backends] move internal alloc function from mem handle by @tdavidcl in #716
- [Backends] Automatic dependency handling for kernel calls by @tdavidcl in #718
- [Tests] apply python sys.path mod in testing by @tdavidcl in #720
- [Backends][Fix] Error in BufferMirror destructor by @tdavidcl in #722
- [Base] disable print in benchmark_pow_len by @tdavidcl in #721
- [Backends] add lambda signature checking in
kernel_callby @tdavidcl in #723 - [Algs] add native USM reduction alg by @tdavidcl in #719
- [Algs] Kernel error checking utility by @tdavidcl in #725
- [Godunov] migrate neigh graph field to usm by @tdavidcl in #713
- [Godunov] add call to scheduler step in godunov by @tdavidcl in #728
- [Fix] rewrite mock_field & add zero size guards by @tdavidcl in #727
- [Ci] improve clang-tidy log by @tdavidcl in #729
- [Algs] implement usm variant of the bitonic sort by @tdavidcl in #724
- [CI] report pr workflow result using separate workflow by @tdavidcl in #730
- [CI] fix report sort order in reporting by @tdavidcl in #732
- [CI] use pr event instead of pr_target by @tdavidcl in #731
- [Doc] document feature list by @tdavidcl in #709
- [Buildbot] improve fix authors by @tdavidcl in #734
- [Base] add exception creation callback & error print on except by @tdavidcl in #701
- [CmdOpt] add getenv func that also register the description by @tdavidcl in #735
- [Patch] PatchDataField : replace size() by get_val_cnt() by @tdavidcl in #736
- [CMake] enable the use of system fmt by @tdavidcl in #741
- [CMake] fmt 10.x -> 11.1.2 & add fmt cmake integration bypass by @tdavidcl in #742
- [Env] update nix-os env by @tdavidcl in #743
- [Godunov][AMR][buffer-> usm] riemann dust solver correction by @Akos299 in #738
- [SPH] add dust config for SPH and move layout init to SolverConfig by @tdavidcl in #747...
Shamrock 2024.10.1
What's Changed
Full Changelog: v2024.10.0...v2024.10.1
Shamrock 2024.10.0 (Deprecated)
Version corresponding to the PHD defense.
What's Changed
- [Algs] make shamalgs a cmake subproject by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/492
- [Sys] make shamsys a cmake subproject by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/493
- [CI] test adding pre-commit to CI by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/494
- [CI] add clang-tidy to CI by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/496
- [Backends] fix clang-tidy warnings by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/497
- [Base]&[Math]&[Test] clean logs for tests & CoordRange by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/499
- [Patch] fix typo in ComputeField.hpp by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/501
- [SPH] disable SPH boundary print on rank except 0 by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/502
- [Phys] make shamphys a cmake subproject & add soundwave solution by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/503
- [Phys] implement sod tube analytical solution by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/505
- [SPH] Sod Analysis module & pybind11 update (for numpy 2) by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/507
- [CI] change trigger for pull request CI by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/508
- [CI] change ci rules by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/509
- [Env] add UBsan buildtype by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/511
- [CI] upload coverage to site by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/514
- [Godunov] change face interpolation from conservative to primitive var by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/517
- [CI] upload directly doc without jekkyl by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/521
- [CI] add filter to clang tidy job by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/520
- [Godunov] Riemann solvers and states for dust species by @Akos299 in https://github.com/tdavidcl/Shamrock/pull/513
- [CMake] shamtest integration in ctest by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/522
- [Doc] add doxygen warning to page & implement doxygen warn diff by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/524
- [Doc] add some doc to shambase & PR doxygen report by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/523
- [Base] remove last references to shambackends in base by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/526
- [CI] suggest changes from pre-commit by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/527
- [Git] mailmap update by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/528
- [Godunov] add cfl to the solver by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/530
- [Ci] remove GH action warnings by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/531
- [Pre-commit] add non-standard SYCL #include check by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/535
- [CmdOpt] introduce shamcmdopt to handle env var & opts by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/529
- [Math] move sfc lib to shammath by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/533
- [Ci] Improve Pre-commit review by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/536
- [Ci] disable PR pre-commit report outside of PRs by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/537
- [CmdOpt] move term_colors to cmdopt & clean string.hpp by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/538
- [Env] Rework Shamrock pip python lib by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/541
- [Base] route print functions through type erased ones by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/543
- [Bindings] make shambindings a CMake subproject by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/544
- [Env] add option to env to toogle lib mode by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/546
- [CmdOpt] cmdopts generic cli args,env & color capabilities detect by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/547
- [Doc] add some doxygen doc by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/551
- [Bindings] move python startup from main to bindings lib by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/548
- [External] add nlohmann/json integration by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/559
- [Models] json serialize for EOSConfig by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/560
- [Draft][Ci] change all jobs to containers by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/561
- [Ci] show git diff by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/564
- [Ci] change event name to pr target by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/565
- [Ci] change diff command by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/566
- [Godunov] add dust to solver config by @Akos299 in https://github.com/tdavidcl/Shamrock/pull/562
- [Godunov] vtk dump with dust on by @Akos299 in https://github.com/tdavidcl/Shamrock/pull/563
- [CI] update clang to 17 in asan & tidy by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/569
- [Patch] json serialize for patch metadata by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/568
- [Algs] implement read write for MPI file header by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/571
- [Patch] serialization for PatchDataLayout by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/573
- [Logs] improve log readability by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/576
- [Shamrock] native dump format by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/574
- [Ci] upgrade doc job image to ubuntu latest by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/578
- [Ci] fix on_push action and apply some clang-format by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/580
- [Lint] apply some clang-format by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/581
- [SPH] restart from shamrock native dump by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/582
- [Godunov] compute flux with dust + utilities by @Akos299 in https://github.com/tdavidcl/Shamrock/pull/570
- [Lint] enable clang-format in pre-commit by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/579
- [Doc] remove some doxygen warnings (a lot) by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/583
- [Dump] fix offset issue & implement preallocate by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/586
- [Fix] Macos issue with MPI and size_t by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/587
- [Scheduler] implements a data inserter to insert some PatchData collectively by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/585
- [Fix] fix dpcpp latest compile by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/590
- [Env] improve available memory detection by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/591
- [Godunov][CI] add phys test for godunov sod tube by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/592
- [Godunov] Computed gradient(density + velocities) for dust by @Akos299 in https://github.com/tdavidcl/Shamrock/pull/577
- [SPH] first iteration of SPH generalized setups by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/593
- [SPH] add new disc generalized setup by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/594
- [AMR] half timestep interpolation for godunov by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/596
- [SPH] fix immediate vtk dump after native dump load by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/600
- [SPH] fix sinks with multiple processes by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/602
- [Dump] fix dump for large patches by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/604
- [SPH][Sink] add regularization for sink-sph force by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/607
- [Godunov] const to prim for dust by @Akos299 in https://github.com/tdavidcl/Shamrock/pull/606
- [Godunov] time integration for dust fields by @Akos299 in https://github.com/tdavidcl/Shamrock/pull/611
- [SPH] disc setup with binary star by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/612
- [SPH] add Farris 2014 eos for binaries by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/614
- [Godunov] dt-compute-dust-fields by @Akos299 in https://github.com/tdavidcl/Shamrock/pull/608
- [Godunov] MUSCL face-interpolation for dust by @Akos299 in https://github.com/tdavidcl/Shamrock/pull/609
- [Godunov] dust cfl by @Akos299 in https://github.com/tdavidcl/Shamrock/pull/610
- [VTK] fix errors when using free on nullptr with acpp by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/615
- [Comm] allow forcing direct GPU off by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/621
- [CI] change pr_target trigger by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/625
- [PatchTree] fix parent id on split by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/624
- [SPH] MHD PR1 : constants & solver config by @y-lapeyre in https://github.com/tdavidcl/Shamrock/pull/616
- [SPH] native slice rendering by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/623
- [SPH] MHD PR2: equations by @y-lapeyre in https://github.com/tdavidcl/Shamrock/pull/617
- [SPH] native column density render by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/628
- [CMake] improve shamrock versioning by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/629
- [Env] fix adastra mi250x env by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/618
- [Math] move tensors to shammath by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/630
- [Doc] document the release process by @tdavidcl in https://github.com/tdavidcl/Sha...
Shamrock 0.8.0-alpha (Deprecated)
First pre-release of the code corresponding to the PHD manuscript submission
History of PRs
- Radix tree implementation by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/1
- Radix Tree addition by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/2
- [Radix Tree] implement walking by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/3
- Tree walking by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/4
- SphLeafrog Integrator by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/5
- Shamrock 0.5 by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/6
- Periodic Boundary Condition + Sound Wave by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/7
- Periodic Boundary Condition + Sound Wave by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/8
- Named patchdata fields added by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/9
- Develop by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/10
- Licensing by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/11
- CeCILL Licence added by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/12
- Sync preproduction with dev by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/13
- sync by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/14
- New Test system by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/15
- Preproduction by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/16
- End of develop branch by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/17
- Feature/nbody selfgrav by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/26
- Add self-gravity Nbody by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/33
- [SPH] Add artificial Viscosity by @y-lapeyre in https://github.com/tdavidcl/Shamrock/pull/34
- Feature/codebase reorganisation by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/43
- Codebase Reorganisation by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/44
- [SYCL] [MPI] add NodeInstance for combined init by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/46
- [SYCL] [MPI] bandwith testing by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/47
- [SYS] Add buffer communication protocol by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/48
- [Py] added support for pybind11 by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/51
- [SPH] added M6 kernel by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/55
- [RadixTree] added integer mode for coordinates by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/57
- [Patch] Variant storage of the fields by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/59
- Add badge to readme by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/62
- [AMR] adding basic AMR functionnality by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/61
- [Coverage] add code coverage info by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/64
- [CI] fix trigger by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/65
- [Sys] add fmt lib to format outputs by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/66
- [CI] add dpcpp workflow by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/49
- [Comm] add communication protocol for multiple objects by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/67
- [Doc] programming guide v1 by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/69
- [Doc] mdbook alongside jupyterbook by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/72
- [Ci] auto release by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/73
- [Tree] Benchmark and cleaning by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/70
- [Doc] improve doxygen by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/74
- [Base] use plf nanotimer instead of std by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/75
- [Test] split test from main sources by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/82
- [CI] enable only for main & pr on main by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/83
- [Paper] Benchmark for first shamrock paper by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/81
- [Base] stack tracer by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/93
- [Doc] tree usage by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/80
- [Physics] add the unit system by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/79
- [Comm] add sparse communication protocol by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/94
- [Io] Legacy Vtk writter by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/95
- [Comm] add comm impl for TreeStructure by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/100
- [Comm] add serializer by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/102
- [Patch] add serialization capabilities by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/104
- [Sys] remove old MPI handler by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/106
- [Tree] cleaning and add serialization by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/117
- [Algs] sparse communication algorithm by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/118
- [CI] add MPI tests by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/119
- [Algs] sparse comm for distributed data by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/120
- [Typo] partch -> patch by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/123
- [Scheduler] modernize SchedulerPatchData by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/125
- [CI] tar doc before cache by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/127
- [Base] move distributed data shared to multimap by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/128
- [SPH] preparation for new implementation by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/129
- [SPH] add utilities to compute with fields by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/130
- [SPH] particle reatribution using protocol comm by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/131
- [SPH] add the new implementation by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/135
- Update README.md by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/136
- [SPH] add neighbor cache by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/137
- [SPH] add sedov blast setup by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/139
- [SPH] disable corrector restart if physics disabled by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/142
- [Base] add documentation on memory utilities by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/143
- [Base] move stacktrace implementation by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/144
- Ci/opensycl cuda by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/145
- [CI] DPCPP workflow by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/146
- [CI] add cuda and rocm compilation by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/134
- [CI] add nesting for compilers by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/147
- [SPH] add cfl by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/148
- [Patch] use arrays instead of independent coordinates by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/150
- [Tree] change template signature of the radix tree by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/152
- [SPH] add a generic SPH model by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/154
- [CI] add macOS workflow by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/155
- [SPH] sph model cleanup by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/156
- [SPH] unify both caches for SPH by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/157
- [CI] selfhosted test by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/159
- [CI] increase timeout threshold by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/163
- [SPH] move old sph module to legacy by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/164
- [Doc] Update Readme by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/166
- [SPH] add Morris & Monaghan 1997 viscosity switch by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/167
- [SPH] add disc setup by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/168
- [SPH] Spherical wave test by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/169
- [SPH] fix missing soundwave info by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/170
- [CI] Improve CI by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/172
- [Patch] add nan & inf check by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/174
- [Fix] CUDA & ROCM with opensycl by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/173
- [CI] increase timeout for dpcpp cache by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/177
- [Ci] use prebuild images by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/178
- [SPH] Split the solver into modules by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/179
- [SPH] viscosity update module by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/180
- [SPH] add Cullen & Dehnen 2010 viscosity detector by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/181
- [Sph] add shearing box boundaries by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/182
- [SPH] make solver names uniform by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/183
- [Test] python script inside tests for analysis by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/184
- [Doc] upload book/mdbook doc by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/185
- [CI] fix doc upload by @tdavidcl in https://github.com/tdavidcl/Shamrock/pull/186
- [Doc] fix doc upload 2 by @tdavidcl i...
