I was born in the Netherlands, raised in Zambia, and went to primary and secondary school in Dordrecht, the Netherlands. I received my Bachelors (Electrical Engineering) and Masters (Embedded Systems) from Eindhoven University of Technology. In April 2014, I successfully defended my PhD thesis at the same university. During my PhD I gained experience through two internships: with the OpenCL compiler group of ARM in Cambridge (UK), and with the cuFFT team of NVIDIA in Santa Clara (CA). After my PhD, I worked as a GPU consultant at the SURFsara supercomputing centre and as a C++ performance engineer for a computer vision and machine learning team at Blippar. Currently, I am part of the autonomous driving team of TomTom.
Interests and expertise
My main expertise is C++11/14 and GPU programming (CUDA/OpenCL). On top of this, I also have experience with compilers, high-performance computing, computer architecture, performance modelling, computer vision, and machine learning / deep learning.
My passion lies with the development of beautiful and performant C++11 codes, possibly accelerated by GPUs. Examples are CLTune
, an OpenCL auto-tuner, and CLBlast
, an OpenCL BLAS library.
Profiles on other pages
I work as a deep learning and GPU performance specialist on computer vision and machine learning algorithms for autonomous driving.
I worked as a C++11 performance engineer on computer vision and machine learning algorithms for an augmented reality company. My work included multi-threading, vectorisation and GPU-acceleration.
I worked as a consultant for the Dutch national supercomputing/HPC centre, specialised in accelerator programming (Xeon Phi, GPU). My job involves tuning scientific codes (C/C++/Fortran) for multi-cores (OpenMP), multiple nodes (MPI), and accelerators (OpenCL/CUDA). I have worked on codes from various domains, including finite element methods, fluid dynamics, and quantum chemistry.
I worked for four months as an intern GPU programmer at the NVIDIA headquarters in Silicon Valley within the math libraries group, developing and performance tuning the CUDA Fast Fourier Transform library (cuFFT).
As part of a 4-month HiPEAC sponsored internship, I performed research within the ARM Mali OpenCL compiler team. I created a machine-code level mathematical performance model for the Mali T600-series, one of the first OpenCL capable low-power GPU architectures. Additionally, I worked on a GPU cache model, and was involved in the design of the PENCIL language, part of the CARP EU project.
Within the Electronic Systems group, I worked full-time as a scientific programmer, which included research into processor architecture (GPUs, SIMD) targeted at image and video processing applications (histogram, motion estimation).
Kinento is a privately owned e-commerce company. Three PHP extensions to Magento were developed and maintained. From 2015 onwards, they are open-sourced and available for free on GitHub.
Under the supervision of prof. Henk Corporaal, I performed research on GPUs. This covered most aspects of GPUs, including micro-architecture, compilers, performance modelling, and programmability issues. This has led to two journal articles, a patent application, and several publications in international conferences and workshops. During my PhD, I interned for 4 months at both ARM and NVIDIA. My PhD thesis is titled 'Improving the Programmability of GPU Architectures' and is available in PDF form.
Master degree program in Spanish, part of a six month Erasmus exchange.
Two year master degree program with a focus on (multi-)processor architectures. Master thesis carried out at the Electronic Systems group, titled 'Improving CUDA's compiler through the visualization of decoded GPU binaries'.
Three year bachelor degree program.