ah Aaron Hong

Aaron Hong

Interested in the intersection of sound, graphics, and machine learning. Currently working on local ML benchmarks at Microsoft.

Scroll to move through the network. With sound on, one tone is transformed by every layer it passes through, and you can hover or tap the nodes to play them.

01 Background

About

I'm Aaron, and I'm interested in “tasteful” uses of the computer.

I graduated from the University of Waterloo with a degree in Computer Engineering, where I got to learn how things work from the bottom up. I got my start in internships working across the entire graphics stack (compilers, shaders, and applications) in OpenGL, Vulkan, and Vulkan SC.

Right now, I'm deeply interested in what's possible at the intersection of my work (machine learning), my past (graphics and computing), and my hobby (music production).

embed("aaron")

  • Machine learning0.96
  • Graphics0.95
  • Music production0.91
  • Systems0.87

02 Selected work

Projects / Public Work

  1. 01

    MLPerf Client

    MLCommons · Open source

    MLCommons' benchmark for ML inference on client devices: LLM and image-generation workloads, measured across PC hardware and runtimes.

    My work · Windows ML path

    • Keep the Windows ML (WinML) paths working well across hardware vendors.
    • Build ONNX models for WinML whenever a vendor doesn't supply one.
    • Work with NVIDIA, AMD, Intel, and Qualcomm to make sure their WinML paths are correct and performant.
    • Debug and triage performance issues.
    • Implemented the FLUX image-generation path for WinML in the upcoming 2.1 release.
    • Windows ML
    • ONNX
    • LLM inference
    • FLUX
    • GPU · NPU
  2. 02

    Grass

    Live · WebGPU

    A real-time meadow in the browser, with up to a few million individually simulated grass blades on a 10 m × 10 m field. Each blade is an elastic rod solved with XPBD in WebGPU compute shaders, pushed around by a 2D wind simulation. You can press the grass down with your cursor, and the rustle you hear is synthesized from the simulated leaf motion. There's no recorded wind bed.

    Physics
    XPBD rods
    Blades
    Up to millions
    Audio
    16 spatial zones
    Output
    HDR · AgX · TAA
    • WebGPU
    • WGSL compute
    • AudioWorklet
    • Wind simulation
    • PBR shading

    Needs a WebGPU-capable browser. Best with headphones.

  3. 03

    This site

    You are here

    A portfolio laid out as a small neural network in three.js. Each section is a layer, and moving between them is a forward pass. With sound on, a single tone is transformed by each layer it passes through (harmonics, wind, frequency modulation, echoes) until it resolves into a chord at the output, and every node can be played.

    • three.js
    • GLSL
    • Web Audio
    • Cloudflare Pages

03 Tools & skills

Toolkit

Roughly ordered by how much I lean on them.

Machine learning

  • Windows ML
  • ONNX
  • Inference performance
  • Python

Graphics

  • Vulkan · Vulkan SC
  • OpenGL
  • DirectX
  • Shader compilers
  • GLSL

Systems

  • C/C++
  • Rust
  • SystemVerilog

04 Currently exploring

Now

What I'm paying attention to at the moment.

  1. .34

    Local ML performance

    Making on-device inference fast, and fairly comparable, across PC hardware.

  2. .27

    Sound from simulation

    Audio that comes straight out of the physics, so things sound the way they move.

  3. .23

    ML as an instrument

    Models you play like an instrument, rather than ones you only prompt.

  4. .16

    Neural rendering

    Learned scene representations and where they fit inside real-time engines.

05 Get in touch

Contact

Working on something that needs graphics, sound, or a model in the loop? I'd like to hear about it.

aaron@aajghong.com

© 2026 Aaron Hong · Built with three.js and Web Audio