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 full-time researcher at the German Research Center for Artificial Intelligence (DFKI) and I am leading a small research and development group. My research at the DFKI covers

  • 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 allow for general purpose computations that can be fed with massively parallel tasks. Whether you require a feasibility analysis of porting your problem to a GPU, an actual port of your solution to a GPU, an optimization of an existing GPU solution or the development of a new one, don't hesitate to contact me.



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

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


Optimization Problems

One of my current tasks at the DFKI covers the field of high-performance optimization algorithms. These solutions will be used in the scope of Industrie 4.0 (the next generation of industrial production environments) to solve highly challenging and time-critical optimization problems.


Physically-Based Simulations & Computer Graphics

Nowadays, real-time computer graphics based on rasterization are everywhere. This is not limited to 2D or 3D games, but also to 2D and 3D user interfaces. Moreover, realistic and immersive experiences, especially for games, require an underlying simulation of the physical world. I combine the necessary graphics and physics-developer skills to develop, implement and extend rendering systems and physically-based simulations (like fluid and cloth simulations), or even whole physics engines.


Application Development & Code Optimization

General application-development tasks cover contract-based projects from scratch or extensions, maintenance, fixes and upgrades of existing solutions. This mainly focuses on projects written in native code (like C/C++) and managed platforms (like .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 field of service focuses on the creation of interactive projection that allow for an instant interactive experience for visitors and/or customers. Large-scale projections, and especially interactive ones, offer the opportunity to create attracting eye catchers that fascinate people and transport information to your target audience. Existing projects in this field cover stand-alone interactive projections, interactive installations in the context of existing environments and software support for large-scale events, e.g. the Rotationen 3.0 project,