Skip to content
View goog00's full-sized avatar

Block or report goog00

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
goog00/README.md

Hi, I'm Sun Teng 👋

I'm an open-source contributor focused on GPU/NPU compilers and heterogeneous runtimes.

My recent work spans the path from compiler IR to hardware execution:

IR analysis → transformation → GPU/NPU code generation → JIT runtime → hardware validation

I enjoy working on compiler semantics, compilation and runtime systems, tensor computation, and heterogeneous execution.

Selected Open-Source Contributions

An MLIR-based compiler infrastructure for Ascend NPU.

My contributions include:

  • CustomOp 1:2 TileAndBind: extended dimension analysis and slice propagation for CustomOp / CustomMacroOp, using iterator_types and indexing_map to derive tiled operands while preserving reduction semantics
  • Added support for elementwise, broadcast, reduction, scalar-operand, and constrained multi-result cases, with conservative fallback for unsupported layouts, side effects, synchronization resources, and other unsafe cases
  • Added memory-effect modeling for bufferized CustomOps to preserve execution ordering through compiler transformations
  • Added MLIR/LIT and Ascend NPU E2E validation; 15 correctness cases passed, and 6 Softmax performance cases achieved approximately 1.99× speedup with 1:2 sub-block tiling on Ascend hardware

E2E and performance validation — AscendNPU-IR-DT #88 →

A Rust GPU DSL and asynchronous JIT runtime based on NVIDIA cuTile.

My contributions include:

  • Persistent Cubin cache for content-addressed, cross-process JIT reuse, with atomic publication, integrity validation, eviction, and automatic recovery from invalid entries
    • Reduced GEMM preparation from 16.8 s to 98 ms on sm_89 and from 4.0 s to 54 ms on sm_120
  • Single-flight Kernel Cache and Meta Tensor warmup, eliminating duplicate compilation for the same specialization and moving JIT cost out of the first production launch
    • Reduced a warmed first production launch from approximately 283 ms to 259 μs on RTX 4090
  • Custom CUDA Memory Pool with device ownership, asynchronous allocation, execution-context capture, and RAII lifetime management
  • Zero-copy Tensor views and reinterpretation using shared storage ownership with shape, byte-size, contiguity, alignment, and aliasing validation
  • BF16 support across the DSL, type system, and kernel execution path

An compiler that lowers Rust MIR directly to CUDA PTX.

My contributions include:

  • Implemented Rust MIR SetDiscriminant lowering for direct-tag and niche-encoded enums while preserving Rust layout semantics on GPU
  • Added 64-bit warp shuffle, redux.sync, lane-mask, and Hopper elect.sync intrinsics across the compiler pipeline
  • Added LLVM convergent semantics for cooperative warp and barrier operations to prevent invalid compiler optimizations
  • Added MIR, LLVM IR, and PTX code-generation tests for the new lowering and GPU primitives

View my merged cuda-oxide PRs →

A general-purpose programming language compiler with JIT and heterogeneous GPU support.

My contributions include:

  • Implemented LLVM-based NVPTX/AMDGPU code generation and CUDA/HIP runtime integration
  • Generated PTX directly through LLVM TargetMachine APIs instead of invoking an external llc
  • Unified NVIDIA and AMD GPU kernel launch paths
  • Contributed IR/Codegen refactoring, tests, documentation, and memory-lifetime fixes

View my merged Prajna PRs →

A compilation framework for tensor computation and Tile-based programming.

My contributions include:

  • Implemented hardware-aware FP32 GEMM tiling based on cache hierarchy and SIMD characteristics
  • Derived MC, NC, and KC block sizes using a BLIS-inspired model
  • Improved single-core performance from 85–120 GFLOPS to stable 130+ GFLOPS, with a peak of 134 GFLOPS (~96% of theoretical peak) on AMD Threadripper Pro 3955WX
  • Contributed IR infrastructure, parameterized tests, memory-lifetime fixes, and CI support

View my merged Galois PRs →

Technologies

  • Languages: Rust, C++, Python, Java
  • Compiler: MLIR, LLVM, Rust MIR, IR lowering and transformation, affine/indexing maps, NVPTX, AMDGPU
  • GPU Runtime: CUDA Driver API, PTX/NVVM, CUDA streams, memory pools, JIT compilation, HIP/ROCm
  • Platforms: NVIDIA GPU, Ascend NPU, AMD ROCm

Links

Pinned Loading

  1. NVlabs/cutile-rs NVlabs/cutile-rs Public

    cuTile Rust provides a safe, tile-based kernel programming DSL for the Rust programming language. It features a safe host-side API for passing tensors to asynchronously executed kernel functions.

    Rust 909 74

  2. NVlabs/cuda-oxide NVlabs/cuda-oxide Public

    cuda-oxide is a Rust-to-CUDA compiler that lets you write (SIMT) GPU kernels in safe(ish), idiomatic Rust. It compiles standard Rust code directly to PTX — no DSLs, no foreign language bindings, ju…

    Rust 3.3k 265

  3. prajna-lang/prajna prajna-lang/prajna Public

    a simple general program language

    C++ 99 22

  4. galois-stack/galois galois-stack/galois Public

    a tensor computing compiler based tile programming for gpu, cpu or tpu

    C++ 45 14

  5. intel_amx_example intel_amx_example Public

    C++ 6