Software Engineer, LLVM Compiler

MetaMenlo Park, CaliforniaOn-siteFull-timeMid level, 2–5 yearsListed 1 week ago

Apply now

About this role

We are seeking a software engineer to join the MTIA LLVM Compiler team, working on the compiler toolchain for Meta's custom silicon AI accelerators. You will be part of our efforts to architect, design, and implement a production compiler stack targeting next-generation deep learning hardware. The team includes compiler, machine learning, firmware, and ASIC experts, and the work spans from compiling PyTorch models through LLVM-based intermediate representations down to optimized binaries for hardware accelerator blocks.

Responsibilities

Design, implement, and optimize LLVM-based code generation targeting Meta's custom machine learning accelerators
Apply compiler techniques (JIT compilation, dynamic code generation, optimization passes) to build high-performance simulation infrastructure for accelerator hardware
Develop and enhance compiler passes, optimizations, and transformations within the LLVM/MLIR infrastructure to improve performance, correctness, and compilation speed
Contribute to the development of intermediate representations, compiler libraries, and analysis tools in the LLVM/MLIR ecosystem
Conduct design and code reviews; evaluate generated code quality, debug, diagnose, and drive resolution of compiler and cross-disciplinary system issues
Analyze and improve the efficiency, scalability, and stability of the compiler toolchain
Interface with other compiler-focused teams (both internal and open-source LLVM community) to evaluate and incorporate innovations
Mentor other engineers on compiler engineering best practices and improving engineering quality across the team

Qualifications

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 Demonstrated ability to integrate AI tools to optimize/redesign workflows and drive measurable impact (e.g., efficiency gains, quality improvements)
Experience contributing to the upstream LLVM or MLIR projects
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 with hardware-specific optimization for accelerators, GPUs, or DSPs
Experience adhering to and implementing responsible, ethical AI practices (e.g., risk assessment, bias mitigation, quality and accuracy reviews)
Experience working and communicating cross-functionally in a team environment
Experience with machine-code generation and back-end compiler optimizations such as instruction selection, register allocation, and instruction scheduling
Experience with deep learning model compilation, graph compilers, or ML-specific optimization techniques (e.g., operator fusion, tiling, quantization-aware compilation)