Runtime Engineer
You will design and build the multi-target runtime that sits at the heart of an AI compiler stack. You will take the output of an optimizing compiler and make it execute efficiently, correctly, and at scale across diverse hardware targets. You will work on low-level parallelization, kernel scheduling, and performance analysis, rapidly prototype new runtime ideas, benchmark compiler outputs on target hardware, build tools to collect and analyze performance bottlenecks, and collaborate closely with compiler and product teams to drive improvements in runtime architecture.
Responsibilities
- Design, develop, maintain, and improve the multi-target runtime
- Apply the latest techniques in parallelization and partitioning to automate kernel generation and exploit highly optimized execution paths
- Rapidly prototype and data-drive exploration of new runtime ideas
- Benchmark and analyze the outputs produced by the optimizing compiler on target hardware
- Build tools to collect and analyze performance bottlenecks
- Work closely with the product team to understand the evolving needs of ML engineers and drive improvements in runtime architecture
Requirements
- BS degree in Computer Science, Computer Engineering, or equivalent practical experience
- 4+ years of experience working with compilers or runtime systems
- Deep understanding of asynchronous and concurrent programming
- 4+ years of experience with C/C++ (C++14 or newer)
- Understanding of hardware architecture: vector vs. scalar registers and instructions, memory hierarchies
- Knowledge of operating system kernel development or hypervisor development
- Preferred: Master's or PhD in Computer Science, Computer Engineering, or equivalent
- Preferred: Experience developing or maintaining GPU compute libraries such as CUDA or ROCm
- Preferred: Experience with GPU programming and optimization
- Preferred: Background in high-performance computing (HPC)
- Preferred: Knowledge of deep learning frameworks such as PyTorch, JAX, or Triton
- Preferred: Experience programming large compute clusters
Benefits
- Equity
- Company bonus opportunities
- Medical coverage
- Dental coverage
- Vision coverage
- Retirement savings plan
- Supplemental wellness benefits