Machine Learning Compiler Engineer
About the Role
If you’re interested in advancing and applying mathematics, programming languages theory, advanced algorithms, and generative AI to program optimization for cutting-edge machine learning accelerators, the Compiler Labs unit in Qualcomm’s AI Software department is looking for ML Compiler engineers.
We work tactically on improving existing ML compilers and strategically on developing new and innovative ML compilers. Mapping ML algorithms to ML accelerators is one of the most interesting and challenging problems in compilers. Our compiler targets include the Qualcomm Hexagon Neural Signal Processor, Adreno GPUs, low-power ML accelerators, and CPU accelerators.
What Makes This Work Exciting
- The complexity of modern ML architectures demands multi-tier compilers and new thinking about phase ordering.
- Polyhedral optimization is directly relevant to the deeply nested imperfect loop nests that characterize generative AI — and the implied execution model is pulling polyhedral techniques toward dataflow concepts and structured speculation.
- Communication-avoiding algorithms from high-performance computing are increasingly relevant.
- We are advancing compilers and intermediate representations that generalize cleanly across new innovations in ML model algorithms, so that our work compounds rather than restarts.
- We are working on correctness verification for programs built around quantized neural operators.
- We are contributing to open-source dialect convergence in the LLVM and MLIR ecosystems — we have open-sourced our Hexagon-MLIR compiler and are actively developing it for Triton and Torch-MLIR flows.
Generative AI is reshaping compiler development itself — both as a tool that accelerates how engineers build compilers, and as a capability that lives inside compilers. Domain-specific languages are a particularly strong target for AI tools in compilation, because the compression, abstraction, and structure DSLs provide give AI models the right level of representation to operate on. We expect our engineers to be fluent in incorporating generative AI into the compiler development workflow and into compilers themselves.
Technical Approach
Our approach emphasizes powerful representations for precisely and compactly modeling programs and the optimization challenges, and using advanced mathematics and algorithms for performing optimizations. We also use “old school” compiler technologies as they apply to contemporary ML challenges, and meticulous software engineering to produce beautiful compilers. We are keen about seeing our compilers used and having large impact on Qualcomm’s business.
Locations and Levels
This role spans multiple levels, from entry to experienced. Our team is a good home for compiler developers with advanced degrees, and we provide solid mentoring and give substantial responsibility quickly to entry-level engineers. We are looking for candidates to join our teams in New York City, Austin, San Diego, and Raleigh, NC. For experienced candidates, we may consider remote work arrangements.
Responsibilities
- Work on a wide range of ML compilers.
- Improve ML compiler optimization capabilities through benchmark analysis and profiling.
- Innovate new ML compiler and optimization algorithms.
- Incorporate generative AI into the compiler development workflow and into compilers themselves.
- Upstream compiler algorithms to open-source compiler projects.
- Author research publications and represent the company in conferences and industry forums.
- For senior levels — lead and manage projects while doing substantial technical work.
Requirements
- Experience with compiler development and computer architecture.
- ML experience.
- A degree in the field of computer science or applied mathematics.
- Experience with software engineering.
- Solid intellectual ability, motivation, and a strong history of achievement.
- Excellent oral and written communication skills.
Qualifications
Minimum Qualifications:
- Bachelor's degree in Computer Science, Engineering, Information Systems, or related field and 8+ years of Hardware Engineering, Software Engineering, Systems Engineering, or related work experience.
- OR Master's degree in Computer Science, Engineering, Information Systems, or related field and 7+ years of Hardware Engineering, Software Engineering, Systems Engineering, or related work experience.
- OR PhD in Computer Science, Engineering, Information Systems, or related field and 6+ years of Hardware Engineering, Software Engineering, Systems Engineering, or related work experience.
Desired Skills
- Experience with MLIR, MLIR dialects (LinAlg, Affine), PyTorch 2.0, TVM, Triton, and/or LLVM.
- Experience incorporating generative AI into compiler development workflow (AI-assisted code generation, AI-assisted analysis, AI-assisted refactoring and review).
- Experience designing or extending DSLs as targets for AI-driven program synthesis.
- ML applications and ML optimization experience.
- ML architecture experience.
- High-performance computing experience, including communication-avoiding algorithms.
- Polyhedral compiler optimization experience.
- Loop transformation and vectorization experience.
- GPU programming, parallel programming experience.
- General optimization experience.
Pay
$200,800.00 - $301,200.00
Benefits
- Competitive annual discretionary bonus program.
- Opportunity for annual RSU grants (employees on sales-incentive plans are not eligible for our annual bonus).
- Highly competitive benefits package designed to support your success at work, at home, and at play.