Assessing the impact of floating-point precision in plasma simulations : A study of precision reduction and precisionrefinement in iPIC3D

Detta är en Kandidat-uppsats från KTH/Skolan för elektroteknik och datavetenskap (EECS)

Författare: Svante Sörberg; Simon Tran Florén; [2019]

Nyckelord: ;

Sammanfattning: This thesis explores how the precision of floating-point numbers affects the high-performance, implicit particle-in-cell plasma simulation software iPIC3D. We investigate whether a version of iPIC3D, modified to use floatingpoint numbers in lower precision than the current 64 bit double-precision, could yield accurate simulations in comparison with the current version. Such a version of iPIC3D could open the door for significant performance improvements thanks to architectural elements in modern GPUs that typically offer greater floating-point performance the lower the precision. Two different versions of iPIC3D’s particle mover were created. In the first, all variables were changed from double-precision to single-precision. The second version used precision refinement techniques to combat precision loss while still using single-precision floating-point numbers for the variables. The same simulation was run on the unmodified version of iPIC3D and the two modified ones. The output of the two modified versions were compared to the output of the unmodified version to see how the modifications affected simulations. The results suggest that iPIC3D’s particle mover cannot be run entirely in single-precision if high accuracy is required, especially over long time scales. However, macroscopic features of the simulated system remain largely unaffected. This motivates the usefulness of a single-precision version of iPIC3D that could give acceptable accuracy when studying more general properties of a plasma. The simulation using precision refinement techniques showed promising accuracy, but further study is needed to see what performance improvements can be gained from it.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)