Mingfei Guo

I work on generative video models and 3D reconstruction, with a focus on systems ML and GPU performance. At NVIDIA, I build the infrastructure behind neural reconstruction and simulation for autonomous driving.

I received my MS from Stanford and my BS from Peking University. Outside work, I write GPU kernels and make small apps.

Mingfei Guo

Selected Projects

NuRec carline adaptation: the original and shifted camera rigs
The same recorded drive, from two camera rigs.

NVIDIA Omniverse NuRec

NVIDIA · Neural reconstruction · 2026

Re-render a recorded drive through a different camera rig — new mounting positions, intrinsics, and lens models (pinhole, fisheye, f-theta) — so perception for a new vehicle platform can be trained before that platform has real data. Scenes are 3D Gaussian splatting reconstructions of six-camera drives; the public Physical AI NuRec Dataset ships 1,500+ of them.

Training on the re-rendered data improved detection precision and recall in every object category over a zero-shot baseline. I work on NuRec’s reconstruction infrastructure and performance, and coauthored this walkthrough.

Apurv Naman, Mingfei Guo, Dominik Froehlich, Wonsik Han

Asset Harvester: extracting 3D assets from driving logs for simulation
Driving observations → 3D assets → simulation.

Asset Harvester

NVIDIA · Coauthor · 2026

Neural reconstruction turns a driving log into a scene, but not into objects you can move or view from a new angle. Asset Harvester takes the few, limited-angle views a log has of a vehicle or pedestrian and produces a complete 3D Gaussian asset: SparseViewDiT generates the missing views, then a lifting stage fits Gaussians to them.

The system-level work is what makes it hold up on real data — large-scale curation of object-centric training tuples, geometry-aware preprocessing across sensors, augmentation, and self-distillation.

SD3.5 text generation before and after OCR GRPO, with paired fashion show, map, neon sign, and handwriting examples
SD3.5 · Before / after OCR GRPO · Full comparison ↗

VRL / visual-rl

Training infrastructure · RL post-training

RL post-training for diffusion and flow models, built because LLM-RL frameworks assume a categorical token action. A visual policy’s step is a denoise transition over latents, its reward is computed on decoded pixels or video, and its conditioning is an image or video rather than a text prefix — so VRL keeps those semantics explicit behind one Collector → Evaluator → Algorithm loop that covers both full-sequence and chunk-autoregressive generation.

Model, reward (OCR, aesthetic, CLIP, PickScore, VideoReward), algorithm (GRPO, DPO, DiffusionNFT, Flow-DPPO), and distributed settings compose from YAML layers. 20+ image and video families are wired in — SD3.5, FLUX, Wan 2.1/2.2, HunyuanVideo, CogVideoX, Cosmos-Predict2 — and a recipe only counts as validated once a real run shows rising reward and changed weights. The SD3.5 OCR-GRPO run above is one.

3D Gaussian Splatting training on the Lego scene
Training and rendering · Shared CPU / GPU kernels

3D Gaussian Splatting, from scratch

GPU programming · Differentiable rendering

The whole 3D Gaussian Splatting method — projection, rasterization, the backward pass, Adam, and densify / prune — reimplemented in Python with NVIDIA Warp instead of the reference CUDA. The same kernels run on CPU or GPU with a one-line config change, so the method fits in a handful of readable files and trains on a laptop.

Forward and backward follow graphdeco-inria’s reference implementation; densification follows gaussian-splatting-lightning, restructured to strip data preparation down to the minimum.

Flash Attention in Slang ↗

TENSOR CORES · VULKAN · SLANG

Forward and backward flash attention in Slang on Vulkan. VK_NV_cooperative_matrix2 drives the QKᵀ and PV GEMMs on tensor cores — S and O stay in cooperative-matrix registers across the softmax — and Split-K spreads work across SMs. On an RTX 5090 (head dim 64, fwd+bwd) it is 1.7–2.7× faster than PyTorch SDPA at sequence lengths 128–2048, and ahead of flash_attn up to 512.

Code ↗

Llama 3, in Warp ↗

LLM INFERENCE · NVIDIA WARP · PROFILING

Llama 3 inference with everything but tokenization and weight loading written as NVIDIA Warp kernels, plus tiled variants. FP32 outputs match the PyTorch reference; profiling (1.06 s vs 0.31 s per run) showed tiling barely helps because the kernels are already SIMT — a useful negative result.

Code ↗

TinyTriton Step 1 published

GPU COMPILERS · CUDA · LLVM / PTX

Build a GPU compiler in Python, one lesson at a time. Start with source code and instructions; later lessons introduce GPU execution and optimization. No compiler background assumed.

Read the series ↗

InverseUI ↗

BROWSER AUTOMATION · WORKFLOW RECORDING

Record a browser workflow once in the Chrome extension and get Playwright code back with detected intent, typed parameters, and reusable functions. The CLI runs recordings locally with your own credentials, and an AI fix command retries failing scripts with AI-generated patches.

Code ↗
LangCommand turning natural language into shell commands in a terminal
Natural language → shell commands · Local inference

LangCommand

Local inference · C++ · llama.cpp

Describe what you want in plain language and get a runnable shell command back, with an optional explanation, entirely on-device via llama.cpp. Single-shot or loop mode; ships with Qwen2.5-Coder-7B, Qwen2.5-7B, Llama-3.2-1B / 3B, and CodeLlama-13B configs, or bring your own model and system prompt.

NyaIcon switching between colorful Mac Dock icon themes
Mac app and folder icon themes

NyaIcon

macOS app

A macOS Tahoe app I’m building to re-theme app and folder icons: pick a theme or import your own PNG / ICNS, apply it to one app or all of them, and restore the originals any time. Every change goes through the system’s IconServices helper, so it never disables SIP or modifies sealed system bundles. Free, no account.

Open Source Contributions

Triton ↗

Merged fixes across the compiler: TritonGPU layout selection and loop flattening, frontend condition normalization, JIT cache-key correctness under nonlocal shadowing, and NVIDIA / AMD backend work — hoisting the L2 cache-policy register out of the vectorization loop, unique registers for in-thread layout conversions, and sm120 TMA GEMM test coverage.

Contribution ↗

vLLM ↗

Turned on the registry-driven initialization, multimodal-processing, and tensor-schema tests for NVIDIA Cosmos3 once its checkpoint went public, and registered Cosmos3-Super after verifying it maps to the same modules (64 layers vs 36).

Contribution ↗

Publications

Experience

NVIDIA

Apr 2024 — Present

Software Engineer · Infrastructure, Performance & Simulation

Building and optimizing infrastructure for neural reconstruction and synthetic-data pipelines with NuRec and DRIVE Sim. My work includes dynamic Gaussian pedestrian animation and faster visual-data preprocessing with GPU codecs and TensorRT.

NVIDIA

Jun — Sep 2023

Software Engineering Intern · Omniverse

Improved Omniverse Replicator writer throughput by 2× using SIMD data parallelism and an asynchronous task queue.

Graph Origin

Jul — Aug 2022

Research Engineering Intern · Graphics & Compilers

Worked on graphics and compiler performance, including optimization of low-bit convolution kernels in TVM.

Google

Jun — Oct 2021

Software Engineering Intern · APIs & Data Pipelines

Built an ETL pipeline and an interactive frontend for filtering, querying, and visualizing vendor data.

Education

Stanford University

2022 — 2024

MS, Electrical Engineering

Software / hardware systems

Teaching assistant for CS149: Parallel Computing, Autumn 2023.

CS149 project ↗

Peking University

2018 — 2022

BS, Electronic Engineering and Computer Science

AI / ML · Magna cum laude · Top 10%

Teaching assistant for Data Mining, Spring 2022. Designed a term project on quantization of GANs.

Teaching materials ↗

Personal

Away from code, I enjoy playing riichi mahjong. My favorite games include the Hollow Knight series, Rain World, and the Nikki dress-up games.