bedorfDuring the last couple of years processors producers (Intel, AMD) have been introducing processors with more than one processing unit. These so called multi-core CPUs have been introduced in order to keep increasing the computational speed without having to increase the clock speed . However in order to make optimal use of these processors the program code needs to be parallelized. Apart from producers like Intel and AMD, also graphics card companies like NVIDIA and ATI AMD have been introducing new processors that contain more than one core. These so called GPUs (Graphics Processing Units) contain several hundred small cores, and are therefore also known as many-core processors. Like the multi-core CPUs you have to use parallel code to make optimal use of these processors.

This is where my research is focused at designing and implementing efficient algorithms for these many-core architectures in order to speed up simulations and be able to do larger simulations than would be possible on 'standard' processors. Currently we're using GPUs as many-core chips, but with the advantages in processor design it is expected that the many-core design won't be limited to GPUs, but instead will be introduced in the chips of Intel and AMD as well. So it is imperative that we design efficient algorithms / codes in order to make optimal use of the next generation super computers which make use of these new chips.

Currently various astronomical algorithms have been redesigned to run efficiently on many-core chips and speed ups over 100x have been reached compared to the same code on a standard multi-core chip.