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. The first step of the project, which is written in Java, is to refine and improve the existing parallelization routines that use the IBIS framework. On top of this, an implementation which utilizes OpenCL should be developed in order to make full use of the calculation power of GPUs (graphics processing units) on personal computers, or larger GPU clusters dedicated to large-scale simulations. 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.


Good skills 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.


Andreas Ipp, Ognen Kapetanoski, Kirill Streltsov


Mentors are regularly around in our GSoC IRC channel #TU-CSE-SoC at 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