CLBlast: The tuned OpenCL BLAS library

CLBlast is a modern, lightweight, performant and tunable OpenCL BLAS library written in C++11. It is designed to leverage the full performance potential of a wide variety of OpenCL devices from different vendors, including desktop and laptop GPUs, embedded GPUs, and other accelerators. CLBlast implements BLAS routines: basic linear algebra subprograms operating on vectors and matrices.

Go to the project page of CLBlast.

Midisurf: An Audiosurf/guitar-hero like game for the Atari ST

Midisurf is an Audiosurf/GuitarHero-like game based on Midi files. It is created in 2019 for the 1985 Atari ST computer, and is written in C. At the start of the game, a Midi file from disk has to be selected. This Midi file is being played on the Atari ST YT sound-chip, while the player(s) of the game have to press keys on the keyboard at the right time to 'play along' the Midi track.

Try out Midisurf in the browser (without audio unfortunately).
View Midisurf on GitHub.

PyPopQuiz: A Python/ffmpeg-based popquiz creator

PyPopQuiz is a python package to generate popquiz-videos (questions and answers) based simple JSON files with descriptions of the quiz-questions. Such a JSON description could for example contain a song's title and answer which need to be guessed, along with a YouTube-link and two time-intervals defined for the audio and/or video question and answer. It includes features such as only audio, only video, combined audio and video, local files, YouTube links, reversed audio, text overlays, missing words rounds, and so on.

View PyPopQuiz on GitHub.

CLTune: Automatic OpenCL kernel tuning

CLTune is a C++ library which can be used to automatically tune your OpenCL kernels. The only thing you'll need to provide is a tuneable kernel and a list of allowed parameters and values.

For example, if you would perform loop unrolling or local memory tiling through a pre-processor define, just remove the define from your kernel code, pass the kernel to CLTune and tell it what the name of your parameter(s) are and what values you want to try. CLTune will take care of the rest: it will iterate over all possible permutations, test them, and report the best combination.

View CLTune on GitHub.

CLCudaAPI: A portable CUDA/OpenCL high-level API

CLCudaAPI provides a C++ interface to the OpenCL API and/or CUDA API. This interface is high-level: all the details of setting up an OpenCL platform and device are handled automatically, as well as for example OpenCL and CUDA memory management. A similar high-level API is also provided by Khronos's cl.hpp, so why would someone use CLCudaAPI instead? The main reason is portability: CLCudaAPI provides two header files which both implement the exact same API, but with a different back-end. This allows porting between OpenCL and CUDA by simply changing the header file!

View CLCudaAPI on GitHub.
Current job:
Machine learning software engineer

Current location:
Amsterdam, NL

Year of birth: