Zxr19tqsd04tghbejivf

張安邦

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

https://clehaxze.tw/

Taipei,Taiwan
[email protected]

Work experience

Senior Software Engineer - NVIDIA,2023/11 - NOW

Develops graphics applications and high performance libraries in C++ and Python.

C++ developer - Lumina Inc,2021/9 - 2023/11

Native application team lead. Design high performance and high momentum architecture, integrating modern C++ technology into software stacks. Handling image processing pipelines, IPC communication, deployment to customer environment, etc.. Also introduces the team to modern C++17 and debug tools like Address Sanitizer and FBInfer.

Technical Expertise

Modern C++ 20/23

Have been using C++ as my primary programming language for 13 years. Now I follow the latest standards and even technical drafts to write expressive, high performing programs. Familiar with new language features like PMR, coroutines, parallel STL and Transactional Memory.

High Performance Computing

HPC coding skills. Developed libraries that takes advantage of OpenCL/Vulkan to run on the GPU for performance gain. I also have experience with OpenCL on FPGAs for building DNN accelerators. By extension, I'm also familiar with parallel computing on CPU, is neutral to parallelization solutions and is very aware of the traps of NUMA as well as the effect of caches.

CERN ROOT

Using CERN's ROOT data analysis framework (written and scripted in C++) for AI and data science. Allowing the handling of large datasets directly on disk with little performance loss. And seamless inter-op between C++ and Python. Have experience deploying ROOT based analytics services.

Linux

Have been a daily Linux user for more than 10 years and have maintained university research clusters. Now using Arch Linux as my daily driver. I'm familiar with the systemd family of services and have a good understanding on the systemd startup sequence. Also a OpenBSD user.

Computer Graphics

I have developed my own physically based path tracer from scratch with support for PBRTv2 scene format, Intel Embree, HDR, etc... And have written a simple real time rendering engine using C++ and OpenGL. Shaded with GLSL.

Alternative Web Technologies

Besides standard HTTP and (No)SQL. I have experience with alternative/distributed solutions to common web technologies. Solving problems in a different way that boosts capabilities in special domains. Such as OpenDHT (decentralized KV store), GNUNet (private data transfer), GNU Name System (decentralized name resolution) and Gemini (simple document transport).

Yada..yada....

git, Lua, ffmpeg, open source dev, written Gnome extensions, those stuff... I'm confident in my ability to understand and write code to push fixes for bugs I find.

Language Skills


English

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


TOEIC - 810 (few years ago)


Esperanto

Esperanto estas la lingvo de la mondo. Do mi lernas kaj paroras Esperanton. Ne multe da homoj paroras Esperanton. Tamen mi amas la ideao de ĝin.


KER - A2 (mi pensas)

Conference Talks


SITCON 2016

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



SITCON 2018

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


SITCON 2020

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

Major Open Source Projects

Drogon

Maintainer of a high performance, highly concurrent web application framework. I also contributed a few major subsystems of the framework. Including but not limited to coroutine support, HaikuOS port and the Drogon Test testing framework.


https://github.com/drogonframework/drogon


Profile 06 00@2x
Paragraph image 03 00@2x

SimpleRay

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

Etaler

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


Currently the fastest HTM implementation available.


https://github.com/etaler/Etaler

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.

https://github.com/marty1885/embree-arm


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