Compiler Code Generation Engineer
You will design, build, maintain, and improve a heterogeneous AI compiler. You will implement code-generation capabilities, improve compiler architecture, apply parallelization and partitioning techniques for kernel generation, analyze performance data, and translate ML engineering needs into architectural improvements.
Responsibilities
- Design, develop, maintain, and improve the heterogeneous AI compiler.
- Design and implement code generation capabilities based on the compiler architecture.
- Propose compiler architecture improvements in response to ML model and hardware advances.
- Apply parallelization and partitioning techniques to automate kernel generation and optimize execution paths.
- Use performance data to identify optimization opportunities and drive improvements.
- Collaborate with the product team to translate ML engineer needs into architectural improvements.
Requirements
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience.
- 4+ years of compiler experience.
- Deep knowledge of compiler algorithms and data structures.
- Experience with low-level code generation, object file manipulation, and target-specific optimizations.
- 4+ years of C/C++ experience.
- Strong written and verbal communication skills and ability to write clear technical documentation.
- Master's or PhD in a relevant field is preferred.
- Knowledge of instruction selection, register allocation, dominance analysis, and def-use chains is preferred.
- Familiarity with calling conventions, APIs, linking, and relocations is preferred.
- Working knowledge of LLVM is preferred.
- Experience with loop optimizations, vectorization, unrolling, fusion, and parallelization is preferred.
- Experience with machine learning workloads and hardware demands is preferred.
Benefits
- Equity
- Company bonus opportunities
- Medical coverage
- Dental coverage
- Vision coverage
- Retirement savings plan
- Supplemental wellness benefits