Experienced C++ programmer, AI/ML developer and HPC developer.



Technical Experiences


Have been using C++ as my primary programming lanuguae for 12 years. Now I follow the latest standards and even technical drafts to write expressive, high performing programs.

computing with OpenCL

Developed libraries that takes advantage of OpenCL to run on the GPU for performance gain. I also have experience with OpenCL on FPGAs.


Using CERN's ROOT data analysis framework (Written and scripted in C++) for AI and data science. Allowing the to handling of large datasets on disk but with less performance loss. And seamless inter-op between C++ and Python.

Linux and administration

Have been a daily Linux user for 10 years and maintained few research servers.
Now using Arch Linux as my daily driver.

Python and AI

Uses Python and Keras/PyTorch for AI development.

Ray tracing/PBR

I have developed my own physically based path tracer from scratch with support for PBRTv2 scene format, Intel Embree, HDR, etc...


Written a simple rendering engine using C++ and OpenGL. Shaded using GLSL.


git, Lua, ffmpeg, open source dev, push random fixes, written Gnome extensions, those stuff...

Language Skills


As you may guessed. I'm not bad at English! Learning and speaking English since 4 years old.

TOEIC - 810 (few years ago)


Esperanto estas la lingvo de la mondo. Kaj mi paroras Esperanton. Ne multe da homoj paroran gxin. Tamen mi amas Esperanton.

KER - A2 (mi pensas)

Conference Talks


I love games yet why movies look better - An introduction to real time graphics and path tracing.


Introduction to GPU computing with OpenCL - video - Introduction to Parallel computing and OpenCL.


Building NumPy from scratch - detailing how NDArrays work and how you can build one

Major Open Source Projects

Paragraph image 03 00@2x


A path tracer written from scratch that supports parallel computing, Intel Embree, reads PBRTv2 format and reads/writes to HDR files.


Machine Learning library based on HTM theory. Written in C++ and OpenCL.

Currently the fastest HTM implementation available.


Paragraph image 02 00@2x
Paragraph image 03 00@2x

Embree ARM

The world's first port of Intel Embree high-performance ray tracing kernel to run on ARM processors with NEON.


Featured in Ingo Weld's (Embree's author's) blog: https://ingowald.blog/2018/07/15/cfi-embree-on-arm-power/


A day 1 port of AMD's MIOpen - GPU NN acceleration - library to run on NVIDIA and Intel's GPU.


Paragraph image 02 00@2x

Other projects and experiences


A minimal and fast HTM implementation in C++. Using C++17, xtensor, OpenMP.


Converts models (obj, stl, etc...) files into PBRTv2 scene description files. With texture and material support.


A implementation of Numenta's neuron boosting and inhibition algorithm in the tiny-dnn framework.


Realtime graphics engine in C++ and OpenGL.


Generating Esperanto text using Hierarchical Temporal Memory.


Detects object trajectory anomaly using Hierarchical Temporal Memory.

FPGA based DNN accelerator

A general academic DNN accelerator using OpenCL on an Altera Cyclone V FPGA. Accelerating im2col and GEMM operations. Using up 95% FPGA area, 12x faster than the 2 on-chip ARM A9 cores.

Anomaly detection

A research project to find access anomalies of highly confidential files. Using Python, Neural Networks and CERN ROOT.

Music production on Linux

Produced some music on Linux using free/libre software only. Using Ardur, JACK, Calf Studio, LMMS and Audacity.

Purism community developer

Helps the development of the Librem 5 Linux phone. Developing Wayland compositor and shell.

Numenta community developer

Develops applications and framework using Numenta's HTM algorithm and engages with other members to discuss, develop the HTM theory itself.

Open Source Contributions

  • xtensor - add support for quotes (") to CSV parser
  • xtensor-fftw - add support for a newer version of xtensor
  • ViennaCL - add device selection for benchmark

  • gnome-shell-TilixDropdown - Fix for Gnome 3.32
  • DeepCL - Fix library activation script
  • phosh - Translate UI into Traditional Chinese and Esperanto. Also write patchs
Powered by CakeResumePowered by CakeResume
Powered by CakeResumePowered by CakeResume