Computer Science at a New Level

by Marcel Köster

Computer Science at a New Level

solution development in various domains

Research and Employment

I am a researcher at the German Research Center for Artificial Intelligence (DFKI) and lead a research and development group. My research at the DFKI includes

  • GPGPU: general purpose computations on GPUs (graphics processing units)
  • Compilers: code generation, intermediate representations, and domain-specific languages
  • Optimization and planning problems
  • Physically-based simulations and computer graphics (visualization)
  • High-Performance computing
  • Interactive installations and media facades

ILGPU: A modern GPU compiler for high-performance .Net programs

Checkout my newest open source compiler for .Net GPU programs


Modern GPU architectures enable general-purpose computations that can be fed massively parallel tasks. Whether you need a feasibility analysis for porting your problem to a GPU, an actual porting of your solution to a GPU an optimization of an existing GPU solution, or the development of a new solution, don't hesitate to contact me.



Modern compilers for (so-called) general-purpose languages (like C and C++) often do not produce the desired code that delivers peak performance. Besides special workshops on how to actually write code that leads to the desired output, I also extend existing compilers with the desired functionality on request.

Checkout my newest open source compiler for .Net GPU programs:


Optimization Problems

One of my usual tasks at DFKI involves the area of high-performance optimization algorithms. These solutions are used in the context of Industry 4.0 (the next generation of industrial production environments) to solve highly challenging and time-critical optimization problems.


Physically-Based Simulations & Computer Graphics

Real-time computer graphics based on rasterization are ubiquitous today. This is not limited to 2D or 3D games, but also to 2D and 3D user interfaces. Furthermore, realistic and immersive experiences, especially for games, require an underlying simulation of the physical world. I combine the necessary graphics and physics development skills to develop, implement and extend rendering systems and physics-based simulations (such as fluid and cloth simulations), or even entire physics engines.


Application Development & Code Optimization

General application development duties include contract-based projects from scratch or enhancements, maintenance, fixes, and upgrades to existing solutions. The focus is on projects written in native code (such as C/C++) and managed platforms (such as .NET and Java).

Besides pure development tasks, I also offer manual code vectorization for SIMD machines (e.g. SSE and AVX) and manual parallelization. This also covers the creation of annotation-driven solutions like OpenMP and OpenACC.


(Large-Scale) Interactive Projections

This service area focuses on creating interactive projections that provide an immediate interactive experience for visitors and/or customers. Large-scale projections, and interactive ones in particular, offer the opportunity to create attractive eye-catchers that intrigue people and convey information to your target audience. Existing projects in this area include stand-alone interactive projections, interactive installations in the context of existing environments, and software support for large-scale events, such as the Rotations 3.0 project,