Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pkestene/ramsesgpu

Astrophysics MHD simulation code optimized for large cluster of GPU
https://github.com/pkestene/ramsesgpu

astrophysics cea cfd conservation-law cuda euler-equations finite-volume gpu gpu-computing hdf5 hpc kelvin-helmholtz-instability mhd muscl-hancock parallel-computing pnetcdf rayleigh-taylor shearing-box turbulence

Last synced: 4 days ago
JSON representation

Astrophysics MHD simulation code optimized for large cluster of GPU

Awesome Lists containing this project

README

        

**WARNING: This code is mostly deprecated. Have a look at [ppkMHD](https://github.com/pkestene/ppkMHD)**

[![DOI](https://zenodo.org/badge/42436229.svg)](https://zenodo.org/badge/latestdoi/42436229)

![mhd_mri 200x200](https://github.com/pkestene/ramsesGPU/blob/master/doc/mhd_mri_3d_gpu_Pm4_Re25000_double.gif)

[Magneto Rotational Instability](https://en.wikipedia.org/wiki/Magnetorotational_instability) simulation in a shearing box setup (800x1600x800) made in 2013 on [TGCC/CURIE](http://www-hpc.cea.fr/fr/complexe/tgcc-curie.htm) using 256 GPUs. Here [Reynolds number](https://en.wikipedia.org/wiki/Reynolds_number) is 25000 and [Prandtl number](https://en.wikipedia.org/wiki/Prandtl_number) is 4.

# RamsesGPU code

## RamsesGPU website

http://www.maisondelasimulation.fr/projects/RAMSES-GPU/html/index.html

- See doxygen-generated documentation in doc sub-directory

- Quickstart for building RAMSES-GPU using CMake (recommended)

Default CUDA compilation flags can be passed to cmake using env variable CUDAFLAGS, or directly set CMAKE_CUDA_FLAGS on the configuration command line (see below).

0. git clone https://github.com/pkestene/ramsesGPU.git
1. cd ramsesGPU; mkdir build
2. cmake -DUSE_CUDA=ON -DUSE_MPI=ON -DCMAKE_CUDA_FLAGS="-arch=sm_50" ..
3. make

You should get executable *ramsesGPU_mpi_cuda*. Explore other flag using the ccmake user interface.

- Quickstart for building RAMSES-GPU using autotools (deprecated)

0. make sure to have up-to-date autotools on you build system (autoconf, automake, libtool, m4); then run `sh autogen.sh`
1. configure --with-cuda=
2. make (or make -j N to speed-up compilation time; you might need to execute make several times when using option -j)

Note: make sure to have CUDA toolkit installed, and environment variables PATH and LD_LIBRARY_PATH correctly set.

This will build the monoCPU / monoGPU version of the programme to solve hydro/MHD problems. Executable are located in src subdirectory and named euler_cpu / euler_gpu

Execute a test run:

```bash
cd src
./euler_gpu --param ../data/jet2d_gpu.ini

```

This will start a Hydrodynamics 2D jet simulation run. Output files can be
in multiple file format (VTK, Hdf5, ...).

To visualize Hdf5 output, just run:

``` bash

paraview --data=./jet2d_gpu.xmf
```

Contact, questions, comments:

pierre.kestener at cea.fr