A single link to the first track to allow the export script to build the search page
  • Undergraduate Poster Abstracts
  • SAT-938 ACCELERATING VLASIATOR SPACE PLASMA SIMULATION CODE FOR MAGNETOSPHERIC INTERACTIONS WITH SOLAR WIND USING OPENACC

    • Kevin Marrero ;

    SAT-938

    ACCELERATING VLASIATOR SPACE PLASMA SIMULATION CODE FOR MAGNETOSPHERIC INTERACTIONS WITH SOLAR WIND USING OPENACC

    Kevin Marrero, Sebastian Von Alfthan.

    1University of Puerto Rico, Mayaguez Campus, Mayaguez, PR, 2Finnish Meteorological Institute, Helsinki, FN.

    Vlasiator is a parallel-space plasma simulation code that solves Vlasov's equation in order to describe the plasma interaction between solar wind and Earth's magnetosphere by simulating plasma in 6-dimensional space (spatial space and velocity space). The problem is computationally expensive, and Vlasiator relies on high-end HPC resources and cutting-edge techniques to make the simulations feasible. The code was created at the Finnish Meteorological Institute and is targeting full global simulation of the entire magnetosphere to support science as well as space-weather forecasts. In order to improve its performance, the existing core solver will be accelerated using OpenACC programming standard targeting Nvidia K40 GPUs. The main goal is to assess the performance and ease of implementation of this technology. To accomplish this, compiler directives and syntax from the OpenACC Application Program Interface are studied from training resources. Test files are written in C/C++, compiled, and run in a supercomputer with Nvidia K40 GPUs. This approach will be compared, in both programmability and performance, to another existing approach, in which the core solver is ported to CUDA parallel computing platform and programming model. By making this comparison, the research team working with Vlasiator can choose the right method that can be used on supercomputers for their future endeavours. According to sources, CUDA codes perform 10 - 20% faster than OpenACC constructs; however, this difference is starting to get blurred with recent releases of OpenACC compilers.