Description
The aim of this project is to refine and improve the parallelization of routines used in the OpenPixi simulator. The Particle-In-Cell simulations use a large number of particles within a fixed grid. The grid and the particles are split so that they can run on different cores of a CPU, or even on different computers. There already exists a parallel implemenation which uses the IBIS framework for internode communication. Apart from this, a basic OpenCL implementation exists which realizes some basic parallelization in the grid, but does not fully exploit the parallel code structure of both, the grid and the particles. The aim of this project is to implement the full structure of the IBIS parallel version so that it can run efficiently using OpenCL. In any case, automatable test cases must ensure that the results agree with the single threaded version of the code.
Benefit for the student
The student will learn about physics simulations and how to parallelize them for best performance. The student will learn about the IBIS framework and about OpenCL.
Benefit for the project
The project will receive a fast parallel implementation of existing routines.
Requirements
Good knowledge of Java and C/C++. Knowledge of MPI or OpenCL is of advantage.
Task for the application process
For the application process, please fix one of the issues at GitHub, or provide a small demo application that uses OpenCL and implements one of the routines of the Java version of OpenPixi in parallel.
Mentors
Andreas Ipp, Kirill Streltsov, Clemens Müllner
Contact
Mentors are regularly around in our GSoC IRC channel #TU-CSE-SoC at irc.freenode.net. You can also reach us via the mailinglist – send an email to This email address is being protected from spambots. You need JavaScript enabled to view it. using the prefix [OpenPixi] (a subscription is required).
More information