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 the 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 that, 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 work at TomTom on deep learning for autonomous driving.

Interests and expertise

My main expertise is C++11/14, Python, 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.

As a hobby I develop C++11 codes for GPUs. Examples are CLTune, an OpenCL auto-tuner, and CLBlast, an OpenCL BLAS library.

Profiles on other pages

Work experience

07/2016 - current
TomTom (Amsterdam)
Deep learning / GPU specialist for autonomous driving
I work as a deep learning and GPU performance specialist on computer vision and machine learning algorithms for autonomous driving. Topics include semantic segmentation and generative adversarial networks. Technologies include Python and TensorFlow.
11/2015 - 06/2016
Layar / Blippar (Amsterdam)
R&D engineer performance optimization
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.
05/2014 - 10/2015
SURFsara (Amsterdam)
GPU/Supercomputing consultant
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.
01/2014 - 04/2014
NVIDIA Santa Clara (California)
CUDA software engineer
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).
08/2012 - 12/2012
ARM Cambridge (United Kingdom)
Research intern
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.
11/2009 - 11/2010
Eindhoven University of Technology (Netherlands)
Scientific Programmer
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).
10/2009 - 12/2014
Kinento (Netherlands)
Founder and owner of Kinento
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.


11/2010 - 04/2014
Eindhoven University of Technology (Netherlands)
Doctor of Philosophy (PhD)
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.
08/2008 - 02/2009
Universidad Polytecnica de Valencia (Spain)
MSc. in Computer Science
Master degree program in Spanish, part of a six month Erasmus exchange.
08/2007 - 08/2009
Eindhoven University of Technology (Netherlands)
MSc. in Embedded Systems
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'.
08/2004 - 08/2007
Eindhoven University of Technology (Netherlands)
BSc. Electrical Engineering
Three year bachelor degree program.
Current job:
Machine learning software engineer

Current location:
Amsterdam, NL

Year of birth: