Machine Learning Compiler Engineer
Summary
Design and optimize compilers for Apple’s Neural Engine to accelerate AI workloads on devices like Vision Pro and iPhone.
At Apple, we're on the cutting edge of delivering transformative experiences through Artificial Intelligence. If you're passionate about pushing the boundaries of AI and hardware optimization, we want you to join our team!
As a Machine Learning Compiler Engineer on the Apple Neural Engine (ANE) team, you'll work to bring high-performance, low-power AI solutions to life on iconic Apple products like the Vision Pro, iPhone, iPad, Mac, and more. This is a dynamic opportunity to work with us in a creative, collaborative environment while developing groundbreaking technologies that will shape the future of computing.
Are you ready to help us deliver the next groundbreaking Apple products?
Minimum Qualifications
- Bachelor’s degree in Computer Science, Computer Engineering, or a related field with 3 years of relevant experience
- Experience with program analysis and IR (Intermediate Representation), or programming language design, particularly with MLIR and LLVM
- Proven expertise in compiler design and architecture, including deep experience with front-end and middle-end optimizations, register allocation, and back-end code generation
- High-level proficiency in C++ and experience working with large, complex software systems
Preferred Qualifications
- Master's or PhD degree in Computer Science, Computer Engineering, or a related field
- Demonstrated ability to ship high-quality production software
- Strong communication skills and ability to collaborate effectively across teams and functions
- Experience optimizing compilers for distributed, parallel, or heterogeneous execution environments, with a solid understanding of shared memory, synchronization, and multi-threading techniques
- Expertise in neural network inference on specialized SoCs or GPUs, and knowledge of deep learning frameworks and tools
- Familiarity with Just-in-Time (JIT) compilation and dynamic optimization techniques for real-time code execution