@@ -9,6 +9,8 @@ As part of my commitment to advancing simulation tools, I am working on a flexib
...
@@ -9,6 +9,8 @@ As part of my commitment to advancing simulation tools, I am working on a flexib
`hotwheels` is designed to leverage CPU and GPU parallelism, with a strong emphasis on modularity. This modular approach facilitates collaboration with HPC engineers and GPU vendors, enabling efficient utilization of HPC systems. Modularity also enhances testability, simplifies the addition of new features, and allows rethinking code structure based on past experiences.
`hotwheels` is designed to leverage CPU and GPU parallelism, with a strong emphasis on modularity. This modular approach facilitates collaboration with HPC engineers and GPU vendors, enabling efficient utilization of HPC systems. Modularity also enhances testability, simplifies the addition of new features, and allows rethinking code structure based on past experiences.
Check the here the [TODO list](TODO)
### Key Features
### Key Features
-**Modularity:** Each module is self-contained, adhering to the [Open-Closed Principle](https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle). `hotwheels` consists of C libraries wrapped in Python for high-level processing, following the successful paradigm of machine learning frameworks ([reference](https://www.mdpi.com/2078-2489/11/4/193)). Developers can focus solely on their module’s files without altering other parts of the code.
-**Modularity:** Each module is self-contained, adhering to the [Open-Closed Principle](https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle). `hotwheels` consists of C libraries wrapped in Python for high-level processing, following the successful paradigm of machine learning frameworks ([reference](https://www.mdpi.com/2078-2489/11/4/193)). Developers can focus solely on their module’s files without altering other parts of the code.
...
@@ -37,60 +39,6 @@ Currently it is possible to run particle-mesh gravity only simulations with and
...
@@ -37,60 +39,6 @@ Currently it is possible to run particle-mesh gravity only simulations with and
-[A refined PM DMO run with fixed timesteps](run_pm_dmo_NFW_fixed_timestep.md)
-[A refined PM DMO run with fixed timesteps](run_pm_dmo_NFW_fixed_timestep.md)
-**soon:** A cosmological PM DMO run with fixed timesteps
-**soon:** A cosmological PM DMO run with fixed timesteps
## The roadmap (to do list)
Milestone 1: **cosmological DMO PM sim w fixed timesteps**
- [x] una domain decomposition migliore
- [x] pensare a SoAs
- [x] PM
- [x] fixed timestep
- [x] PM + fixed timestep
- [x] cosmology integration
- [x] PM + fixed timestep + cosmology
- [x] refactor: pass struct per puntatore
Milestone 2: **hotwheels miniapps**
- [x] clean PM code
- [ ] scaling test PM da solo
- [ ] dividere in sotto progetti
- [ ] rilasciare la versione 0.0.1 dell'infrastruttura base
Milestone 3: **cosmological DMO TreePM w adaptive timetep**
- [ ] rilasciare modulo PM
- [ ] PM on GPU, (cuFFTW?)
Milestone 4: **cosmological DMO TreePM w adaptive timetep**
- [ ] barnes hut
- [ ] adaptive timesteps
Milestone 5: **optimised hotwheels**
- [ ] openmpizzare per bene
- [ ] openmp target per bene
- [ ] scaling tests su GPU
- [ ] confronto performance con Gadget (su CPU e GPU)
- [ ] trovare dove testare openmp target
- [x] caricare da snapshot
- [ ] salvare snapshot gadget
- [ ] scaling test DMO con e senza GPU
Milestone 6: **hotwheels full physics run**
- [ ] read_gadget.py per + tipi
- [ ] SPH base
- [ ] SPH pressure-entropy in mod. separato
- [ ] SPH standard tests
- [ ] scaling test no-rad con e senza GPU
- [ ] SH03
- [ ] scaling test SH03 con e senza GPU
- [ ] FoF
## Licence
## Licence
The code has no licence (yet). Most of the code is written from scratch by Antonio Ragagnin and re-distribution of said code requires authorisation. It also contains parts copy-pasted from GPL codes (see comments in the code) which can be re-distributed following their licence: Gadget code ([Springel 2001](https://ui.adsabs.harvard.edu/abs/2001NewA....6...79S/abstract)), Gadget4 ([Springel et al. 2021](https://ui.adsabs.harvard.edu/abs/2021MNRAS.506.2871S/abstract)), Blue Tides ([Rupert et al. 2015](https://ui.adsabs.harvard.edu/abs/2015CSE....17b..40C/abstract)).
The code has no licence (yet). Most of the code is written from scratch by Antonio Ragagnin and re-distribution of said code requires authorisation. It also contains parts copy-pasted from GPL codes (see comments in the code) which can be re-distributed following their licence: Gadget code ([Springel 2001](https://ui.adsabs.harvard.edu/abs/2001NewA....6...79S/abstract)), Gadget4 ([Springel et al. 2021](https://ui.adsabs.harvard.edu/abs/2021MNRAS.506.2871S/abstract)), Blue Tides ([Rupert et al. 2015](https://ui.adsabs.harvard.edu/abs/2015CSE....17b..40C/abstract)).