simbarras / tb23-gpu-opt-celeritas

Miror of my documentation repository for my bachelor thesis
https://gitlab.forge.hefr.ch/frederic.bapst/tb23-gpu-opt-celeritas
0 stars 0 forks source link

Runge-Kutta method #29

Closed simbarras closed 1 year ago

simbarras commented 1 year ago

Interesting things about Runge-kutta and Dormand-Prince method

simbarras commented 1 year ago

Study about Dormand-Prince CPU and Runge-Kutta GPU

@article{10.1063/1.4887558,
    author = {Seen, Wo Mei and Gobithaasan, R. U. and Miura, Kenjiro T.},
    title = "{GPU acceleration of Runge Kutta-Fehlberg and its comparison with Dormand-Prince method}",
    journal = {AIP Conference Proceedings},
    volume = {1605},
    number = {1},
    pages = {16-21},
    year = {2014},
    month = {07},
    abstract = "{There is a significant reduction of processing time and speedup of performance in computer graphics with the emergence of Graphic Processing Units (GPUs). GPUs have been developed to surpass Central Processing Unit (CPU) in terms of performance and processing speed. This evolution has opened up a new area in computing and researches where highly parallel GPU has been used for non-graphical algorithms. Physical or phenomenal simulations and modelling can be accelerated through General Purpose Graphic Processing Units (GPGPU) and Compute Unified Device Architecture (CUDA) implementations. These phenomena can be represented with mathematical models in the form of Ordinary Differential Equations (ODEs) which encompasses the gist of change rate between independent and dependent variables. ODEs are numerically integrated over time in order to simulate these behaviours. The classical Runge-Kutta (RK) scheme is the common method used to numerically solve ODEs. The Runge Kutta Fehlberg (RKF) scheme has been specially developed to provide an estimate of the principal local truncation error at each step, known as embedding estimate technique. This paper delves into the implementation of RKF scheme for GPU devices and compares its result with Dorman Prince method. A pseudo code is developed to show the implementation in detail. Hence, practitioners will be able to understand the data allocation in GPU, formation of RKF kernels and the flow of data to/from GPU-CPU upon RKF kernel evaluation. The pseudo code is then written in C Language and two ODE models are executed to show the achievable speedup as compared to CPU implementation. The accuracy and efficiency of the proposed implementation method is discussed in the final section of this paper.}",
    issn = {0094-243X},
    doi = {10.1063/1.4887558},
    url = {https://doi.org/10.1063/1.4887558},
    eprint = {https://pubs.aip.org/aip/acp/article-pdf/1605/1/16/12114887/16\_1\_online.pdf},
}
simbarras commented 1 year ago

Another study, seams to be better

@ARTICLE{5710898,
  author={Murray, Lawrence},
  journal={IEEE Transactions on Parallel and Distributed Systems}, 
  title={GPU Acceleration of Runge-Kutta Integrators}, 
  year={2012},
  volume={23},
  number={1},
  pages={94-101},
  doi={10.1109/TPDS.2011.61}}
simbarras commented 1 year ago

Wikipedia

@misc{ enwiki:1138052375,
  author = "{Wikipedia contributors}",
  title = "Dormand–Prince method --- {Wikipedia}{,} The Free Encyclopedia",
  year = "2023",
  howpublished = "\url{https://en.wikipedia.org/w/index.php?title=Dormand%E2%80%93Prince_method&oldid=1138052375}",
  note = "[Online; accessed 20-June-2023]"
}
simbarras commented 1 year ago

Explanation of Dormand-Prince method: https://numerary.readthedocs.io/en/latest/dormand-prince-method.html

simbarras commented 1 year ago

Course on Dorman-Prince method: https://core.ac.uk/download/pdf/237206461.pdf

simbarras commented 1 year ago

Will be detailed in https://github.com/simbarras/tb23-gpu-opt-celeritas/issues/21