Software Engineer, ML Compiler
About the role
Meta Reality Labs (RL) is the world leader in the design of virtual and augmented reality systems. Join a team of expert engineers and research scientists to create the technology that makes VR and AR pervasive and universal. You will support the development of the compiler tool-chain for state-of-the-art deep learning hardware components optimized for AR/VR systems. The successful candidate will help architect, design, and implement a clean-slate compiler as part of a cross-disciplinary team that includes compiler, machine learning algorithms, software, firmware, and ASIC experts.
The ideal candidate will contribute to a full-stack development effort compiling PyTorch models down to binaries for hardware accelerator blocks.
Responsibilities
- Analyze and design effective compiler passes and optimizations.
- Implement and/or enhance code generation targeting machine learning accelerators.
- Work with algorithm research teams to map ML graphs to hardware implementations, model data-flows, create cost-benefit analysis, and estimate silicon power and performance.
- Contribute to the development of machine-learning libraries, intermediate representations, export formats, and analysis tools.
- Conduct design and code reviews.
- Evaluate code performance, debug, diagnose, and drive resolution of compiler and cross-disciplinary system issues.
- Analyze and improve the efficiency, scalability, and stability of our toolchains.
- Interface with other compiler-focused teams to evaluate and incorporate their innovations and vice versa.
- Mentor other engineers on improving the quality of engineering work in the broader team.
Requirements
- Bachelor’s degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience.
- 3+ years experience writing compilers or similar code optimization software.
- Experience in software design and programming in Python and/or C/C++ for development, debugging, testing, and performance analysis.
- Experience crossing multi-disciplinary boundaries to drive optimal system solutions.
- Experience in AI framework development or accelerating deep learning models on hardware architectures.
Preferred Qualifications
- Experience with machine-code generation or compiler back-ends.
- Experience working and communicating cross-functionally in a team environment.
- Experience driving large efforts across multiple teams.
- Experience developing in a mainstream machine-learning framework, e.g., PyTorch, TensorFlow, or Caffe.
- Experience in deep learning algorithms and techniques, e.g., convolutional neural networks, recurrent networks, etc.
- Experience working on and contributing to an active compiler toolchain codebase, such as LLVM, MLIR, GCC, MSVC, or Glow.
Pay
$85.10/hour to $251,000/year + bonus + equity + benefits. Individual compensation is determined by skills, qualifications, experience, and location.