Machine Learning Compiler Engineer
Role details
Job location
Tech stack
Job description
As a Machine Learning Compiler Engineer, you will:
Architect and develop the compiler for Apple's proprietary Neural Engine Accelerator, optimizing it for deep learning inference with a focus on performance, scalability, and power efficiency
Collaborate with cross-functional teams, including hardware and platform architecture teams, to bring new hardware silicon to market and ensure compiler support for next-gen features
Lead the design and implementation of complex compiler features, advancing both technical capabilities and strategic alignment across the team and company
Play an instrumental role in defining new compiler architecture approaches and optimizations, balancing trade-offs between performance, energy efficiency, and hardware constraints
Identify and drive initiatives that will improve the scalability and general performance of AI workloads on Apple hardware, contributing to the vision and roadmap of the Apple Neural Engine team
Requirements
Bachelor's degree in Computer Science, Computer Engineering, or a related field\nExperience with program analysis and IR (Intermediate Representation), or programming language design, particularly with MLIR and LLVM\nProven expertise in compiler design and architecture, including deep experience with front-end and middle-end optimizations, register allocation, and back-end code generation\nHigh-level proficiency in C++ and experience working with large, complex software systems
Master's or PhD degree in Computer Science, Computer Engineering, or a related field\nDemonstrated ability to ship high-quality production software\nStrong communication skills and ability to collaborate effectively across teams and functions\nExperience optimizing compilers for distributed, parallel, or heterogeneous execution environments, with a solid understanding of shared memory, synchronization, and multi-threading techniques\nExpertise in neural network inference on specialized SoCs or GPUs, and knowledge of deep learning frameworks and tools\nFamiliarity with Just-in-Time (JIT) compilation and dynamic optimization techniques for real-time code execution