Dennis Bautembach


About Me

At the age of 10 I was gifted my first PC which included a Basic compiler. I’ve been coding ever since.



Simulating SNNs on Multiple GPUs - When a Microsecond is an Eternity

Unpublished PhD Thesis

In my PhD thesis I summarize and elaborate on my research work of the last three years, including never-before-released (implementation) details. If you want to learn how to write high-performance, parallel SNN simulators from scratch on GPGPU hardware, this will be of interest to you.


Even Faster SNN Simulation with Lazy+Event-driven Plasticity and Shared Atomics


We present two novel optimizations for SNN simulation. The first, called “shared memory-based spike delivery” is a blocking scheme that makes it possible to load neurons piecewise into shared memory and perform/deliver all updates/spikes there. The second is a variation of event-driven plasticity called “lazy event-driven plasticity” which performs fewer updates and in a more memory-efficient way compared to event-driven plasticity. Both optimizations combined sped up Spike by more than 2x, re-establishing ourselves as the fastest SNN simulator.


Multi-GPU SNN Simulation with Static Load Balancing


We present the first SNN simulator to scale to 8 GPUs, allowing you to simulate larger models and in less time than ever before. Features include:

  • State of the art performance (incl. lightning fast setup)
  • Ability to define custom models in native C++
  • Modern, user-friendly API
  • No 3rd-party dependencies (except CUDA)


Faster and Simpler SNN Simulation with Work Queues


“Spice” is a state of the art spiking neural network simulator written in C++ and CUDA. It

  • is up to 3x faster than the competition,
  • allows you to specify your own models through a modern and intuitive API (you simply inherit from a model base class and override callbacks),
  • builds out of the box without any 3rd-party dependencies (apart from CUDA), and
  • does not involve any proprietary compilation steps or domain-specific languages.


Fully interactive robotics course

As part of my TA duties I designed a fully interactive online course on robotic navigation. It allows you to code and simulate robots directly in your browser using JavaScript.

Student testimonials:

  • “I really felt that somebody cared about me as a student after all these years of studies.”
  • “I have to say you make the most interesting assignments. Most of the assignments of other courses do not have any meaning.”
  • “a big thanks for your help … no one had ever spend so much time … and actually helped us with immediate feedback, so please keep it up for the next years.”

A Comparative Study of Matrix Completion and Recovery Techniques for Human Pose Estimation


We estimate human poses by treating them as missing/incomplete rows in a “pose database” matrix and calculating missing entries via matrix completion.


Scalable Real-time Volumetric Surface Reconstruction


KinectFusion is a well-known 3D scanner powered by Microsoft’s Kinect camera. It has recently found its way into the official Kinect for Windows SDK. While KinectFusion produces very high-quality scans in real-time, it is limited to relatively small spaces.

In this paper we extend KinectFusion with a sparse data structure and streaming, allowing us to scan areas of virtually infinite size while maintaining the quality and performance of the original algorithm.


Animated Sparse Voxel Octrees

Unpublished BSc thesis

Voxels date back 20 years. They have many advantages over polygon meshes. However, they always suffered form the lack of a hardware-accelerated rendering pipeline and the infeasiblity of animating them. I tackled this age-old computer graphics problem in my BSc thesis. The (GPU-accelerated) animation technique I developed enables:

  • Skeletal animation of voxels models
  • Rendering of mixed polygon- and voxel-based content.



Bautembach Consulting



Founded a startup with the goal of bringing realtime 3D reconstruction to mobile phones, which ultimately failed. After bankrupting we open-sourced our protoype.

Consulted VRC on developing their 3D scanning booth “Shun’X”.


Research Software Engineer


Research areas:

  • Replacing polygon meshes with volumetric representations to unify the game content creation pipeline (combine modelling, texturing, animation into a single workflow).
  • Non-rigid 3D reconstruction as an alternative to performance capture.

Developed cutscene animation tools for CINEBOX®, a film preproduction software based on the CRYENGINE.

Microsoft Research


2012 - 2013

Scaled KinectFusion to scenes of arbitrary size.

Authored “FuSci”, a non-invasive foliage measurement software for the University of Cambridge’s biology department.


Junior Software Developer


Designed a task planning software (“Maschinenbelegung”) for a local fulfillment service in Hamburg.

Created personal and commercial webistes.


University of Crete

PhD Computer Science

2015 - 2021

Area of specialization: Spiking Neural Networks (high-performance simulation on GPGPUs, multi-GPU parallelization, applications). See publications/projects for more.

University of Hamburg

BSc Computer Science

2007 - 2011

In my BSc thesis, tackled the decade-old Computer Graphics problem of animating voxels.

Co-developed a realtime strategy game called Ink Wars.