Software Engineer, Systems ML - Compilers / BackendReality Labs (RL) focuses on delivering Meta's vision through Virtual Reality (VR), Augmented Reality (AR) and Wearable AI Devices. The compute performance and power efficiency requirements of our AI devices require custom silicon. Reality Labs Silicon team is driving the state of the art forward with breakthrough work in computer vision, machine learning, mixed reality, graphics, displays, sensors, and new ways to map the human body. Our chips will unlock personalized on-device AI capabilities and blend virtual, physical worlds on wearable devices. We believe the only way to achieve our goals is to look at the entire stack, from transistors, through architecture, firmware, and algorithms.We are seeking a software engineer to support the development of the compiler tool-chain for state-of-the-art deep learning hardware components optimized for AR/VR systems. You will be part of our efforts to architect, design and implement a clean slate compiler for this activity and will be part of a team that includes compiler, machine learning algorithms and software, firmware and ASIC experts. You will contribute to a full stack development effort compiling PyTorch models down to binaries for custom hardware accelerator blocks.ResponsibilitiesAnalyze and design effective compiler passes and optimizations. Implement and/or enhance code generation targeting machine learning acceleratorsWork with algorithm research teams to map ML graphs to hardware implementations, model data-flows, create cost-benefit analysis and estimate silicon power and performanceWork with hardware architects to co-design hardware features that maximize performance, power efficiency and programmabilityContribute to the development of machine-learning libraries, intermediate representations, export formats, and analysis toolsAnalyze and improve the efficiency, scalability, and stability of our toolchains. Optimize and tune kernels and compiled code to achieve latency targets for ML inferenceConduct design and code reviews. Evaluate code performance, debug, diagnose and drive resolution of compiler and cross-disciplinary system issuesInterface with other compiler-focused teams to evaluate and incorporate their innovations and vice versaQualificationsBachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience2+ years experience developing compilers, toolchains, runtime, or similar code optimization softwareExperience in software design and programming experience in Python and/or C/C++ for development, debugging, testing and performance analysisExperience in AI framework development or accelerating models on hardware architectures (GPU, TPU, custom AI ASICs) Experience of developing in a mainstream machine-learning framework, e.g. PyTorch, MLIR, Tensorflow or CaffeExperience with machine-code generation or compiler back-ends for on-device inference workloadsExperience working and communicating cross functionally in a team environmentExperience working on and contributing to an active compiler toolchain codebase, such as LLVM, MLIR, GCC, MSVC, GlowDemonstrated ongoing AI skill development (e.g., prompt/context engineering, agent orchestration) and staying current with emerging AI technologiesExperience adhering to and implementing responsible, ethical AI practices (e.g., risk assessment, bias mitigation, quality and accuracy reviews)Experience in deep learning algorithms and techniques, e.g., convolutional neural networks, recurrent networks, etcDemonstrated ability to integrate AI tools to optimize/redesign workflows and drive measurable impact (e.g., efficiency gains, quality improvements)Experience developing high-performance kernels or runtime components and tuning them for inference specific accelerator platforms
Apply Now