From pixels to pipelines.
Real-time rendering, software rasterisation and GPU compute. I work across the CPU–GPU boundary, with attention to frame time, memory traffic and synchronisation.
Explore rendering projectsI'm Jonathan Liu. I build rendering engines, GPU kernels and concurrent C++ infrastructure. My work centres on data locality, explicit synchronisation and profiling the critical path.
Focused on graphics engineering and systems programming for high-frequency trading.
Real-time rendering, software rasterisation and GPU compute. I work across the CPU–GPU boundary, with attention to frame time, memory traffic and synchronisation.
Explore rendering projectsBringing C++ concurrency, cache-aware programming and network I/O experience to low-latency trading systems. My current portfolio demonstrates the underlying systems work.
Explore systems projectsVulkan 1.3, SPIR-V, Compute Shaders, OpenGL, CUDA Kernel Optimisation, Real-time & Offline Rendering
C++17 (primary), C, Python, GLSL, Slang, CUDA C/C++, ARM Assembly
SIMD (SSE/AVX2), TBB, OpenMP, std::atomic, Lock-Free, Warp Intrinsics, Boost.Asio
Nsight Systems/Compute/Graphics, RenderDoc, perf, flame graphs, GDB/LLDB, Linux, Docker, CMake
A Vulkan 1.3 rendering engine with multi-queue architecture, timeline semaphore synchronisation, GPU particle systems, and dynamic rendering — optimised for maximum GPU utilisation with profiler-driven iteration using Nsight and RenderDoc.
4.66ms
After profiler-guided pipeline redesign
Same project. A shorter critical path.
A CPU rendering pipeline combining AVX2 rasterisation, Whitted-style ray tracing, and Monte Carlo path tracing with importance sampling — optimised with SIMD vectorisation and TBB parallelism.
17.1ms
Median frame time · 1,000-frame benchmark
8 fragments per AVX2 vector
A CUDA and C++ HPC library with warp-synchronous algorithms, lock-free concurrency, and CPU memory hierarchy benchmarks. The CPU work explores contention, data locality and atomic operations; GPU kernels are profiled with NVTX, Nsight Compute, and perf flame graphs.
1.39B
Keys per second · RTX 3080 Ti
A microservice messaging platform with Boost.Asio TCP long-connections, gRPC inter-service communication, custom TLV binary protocol with compile-time safety constraints, and stress-tested to 50K concurrent connections.
5.4ms
p99 round-trip time · loopback test
No message loss in the 17.9M-message test.
Bare-metal bring-up on Cortex-A72 (Raspberry Pi 4B): assembly boot, MMU configuration, interrupt subsystem, and cooperative scheduling — debugged through JTAG, GDB, and UART tracing.
Kernel → user-space transition
Cortex-A72 · Raspberry Pi 4B
Seeking graphics engineering and C++ systems programming roles, including low-latency infrastructure for HFT. Open to opportunities in Shanghai and across the APAC region.