About the Role
About the Role
The Software Engineer for the LLVM Compiler at Meta will work on the compiler toolchain for custom silicon AI accelerators, focusing on architecting, designing, and implementing a production compiler stack. This role involves collaborating with various teams to ensure the correctness and performance of the generated code while mentoring other engineers on compiler internals and optimization strategies.
What You'll Do
- Design and implement LLVM compiler passes, including optimization, lowering, and code generation stages targeting ML accelerator backends.
- Analyze and improve compiler-generated code quality through profiling, benchmarking, and performance instrumentation across ML workloads.
- Develop and maintain LLVM IR transformations that enable efficient mapping of ML computation graphs to hardware execution units.
- Collaborate with hardware architecture and ML framework teams to define compiler interfaces and ensure correctness of generated code on custom silicon targets.
- Identify and resolve correctness and performance regressions through systematic debugging, root cause analysis, and targeted fixes in the compiler pipeline.
- Own the technical design of compiler components, evaluating trade-offs between compilation time, runtime performance, and code size for ML inference and training workloads.
- Build and improve automated testing frameworks and benchmarking infrastructure to validate compiler correctness and track performance across hardware generations.
- Drive adoption of compiler best practices and coding standards across the team, contributing to documentation and engineering process improvements.
- Partner with ML engineers and researchers to understand model-level performance requirements and translate them into actionable compiler optimization strategies.
- Mentor other engineers on compiler internals, LLVM architecture, and ML-specific code generation techniques.
Who You Are
- Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience.
- 5+ years of experience developing compilers or code optimization software, with demonstrated technical leadership.
- Proficiency in C++ or Rust with experience in large-scale software development, debugging, testing, and performance analysis.
- Experience working within the LLVM/MLIR compiler infrastructure or a comparable production compiler codebase (e.g., GCC, MSVC).
- Track record of designing and delivering significant compiler features or optimization passes end-to-end.
- Experience driving cross-team technical initiatives and influencing roadmap decisions.
- Experience crossing multi-disciplinary boundaries (hardware, ML frameworks, runtime systems) to drive optimal system-level solutions.
- Experience in AI framework development or accelerating deep learning models on hardware architectures.
- Demonstrated ability to mentor engineers and raise the technical bar of a team.
Bonus Points
- Demonstrated ongoing AI skill development (e.g., prompt/context engineering, agent orchestration) and staying current with emerging AI technologies.
- Experience working closely with hardware architectures such as SIMD, GPU, RISC-V, and AI accelerators.
- Familiarity with a mainstream ML framework such as PyTorch, TensorFlow, or MLIR-based ML toolchains.
- Experience contributing to the upstream LLVM or MLIR projects.
- Experience with deep learning model compilation, graph compilers, or ML-specific optimization techniques (e.g., operator fusion, tiling, quantization-aware compilation).
- Experience with hardware-specific optimization for accelerators, GPUs, or DSPs.
- Demonstrated ability to integrate AI tools to optimize/redesign workflows and drive measurable impact (e.g., efficiency gains, quality improvements).
- Experience working and communicating cross-functionally in a team environment.
Requirements
Compiler Development
5+ years of experience developing compilers or code optimization software.
C++ or Rust Proficiency
Proficiency in C++ or Rust with experience in large-scale software development.
LLVM/MLIR Experience
Experience working within the LLVM/MLIR compiler infrastructure or a comparable production compiler codebase.
Technical Leadership
Demonstrated technical leadership in designing and delivering significant compiler features.
Cross-Disciplinary Collaboration
Experience crossing multi-disciplinary boundaries to drive optimal system-level solutions.
Nice to Have
Demonstrated ongoing AI skill development and staying current with emerging AI technologies.
Experience working closely with hardware architectures such as SIMD, GPU, RISC-V, and AI accelerators.
Familiarity with a mainstream ML framework such as PyTorch or TensorFlow.
Experience contributing to the upstream LLVM or MLIR projects.
Benefits
Health Insurance
Comprehensive health insurance plans for employees.
Remote Work
Flexible remote work options to support work-life balance.
Learning Budget
Annual budget for professional development and learning opportunities.