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.
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.
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)
“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.
- “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.”
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.
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.
Research Software Engineer
- 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.
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.