About the Role
We are looking for a Compiler Code Generation Engineer to design and build the core code generation capabilities within our high-performance, portable AI compiler. This is a foundational engineering role where you will work directly on the subsystems responsible for translating high-level ML computations into optimized machine code across heterogeneous hardware targets.
If you enjoy working on instruction selection, register allocation, and low-level target-specific optimization, and you want that work to make an impact on the next era of AI infrastructure, this position is for you.
Role Responsibilities
- Participate in the design, development, maintenance, and enhancement of our heterogeneous AI compiler stack.
- Architect and deploy new code generation features based on our unique compiler architecture.
- Recommend architectural extensions and upgrades in response to evolving hardware capabilities and ML model designs.
- Utilize cutting-edge parallelization and partitioning methodologies to automate kernel generation and unlock high-performance execution paths.
- Analyze profiling and performance data to uncover optimization gaps and deliver measurable system gains.
- Work alongside our product team to map the changing requirements of ML engineers into concrete architectural features.
Key Requirements
- BS degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience.
- 4+ years of professional experience developing compiler software.
- Thorough understanding of compiler algorithms and data structures.
- Practical experience with and strong interest in low-level code generation, target-specific optimizations, and object file manipulation.
- 4+ years of hands-on experience utilizing C/C++.
- Strong verbal and written communication skills, with the ability to author clear, concise technical documentation.
Preferred Skills and Experience
- Master's or PhD in Computer Science, Computer Engineering, Electrical Engineering, or equivalent.
- Solid understanding of classic compiler mechanics: instruction selection, register allocation, dominance analysis, and def-use chains.
- Familiarity with binary interfaces, calling conventions, APIs, linking, and relocations.
- Practical working knowledge of the LLVM infrastructure.
- Direct experience handling loop optimizations, vectorization, unrolling, fusion, and parallelization.
- Familiarity with modern machine learning workloads and their associated hardware constraints.
