Senior Compiler Engineer

Santa Clara Valley (Cupertino), California, United States
Hardware

Summary

Posted: Oct 24, 2018
Role Number: 200003026
We live in a mobile and device driven world where knowledge of the physical world around us is needed. We rely on this knowledge to get around, to learn about our environment and to enable spectacular new features for custom applications. Apple is meeting those needs as robustly and as creatively as possible and is interested in people who want to help meet that commitment. The success we are striving will be the result of very skilled people working in an environment which cultivates creativity, partnership, and thinking of old problems in new ways. If that sounds like the kind of environment that you find intriguing, then let's talk. These elements come together to make Apple an amazing environment for motivated people to do the greatest work of their lives. You will become part of a team that sets the standard in developing excellence, creativity and innovation. Will you help us design the next generation of revolutionary Apple products? The 3D perception team in Video Engineering is working on exciting technologies for future Apple products. We're looking for a driven and dedicated engineer to work with us.

Key Qualifications

  • Strong background in compiler architecture, optimization, code generation and overall design of compilers.
  • Experience with developing and optimizing compilers for modern architectures. Experience with SoC or/and GPU acceleration for deep learning applications. Experience with neural networks inference.
  • Excellent programming skills of C/C++. Excellent software design, problem solving and debugging skills.
  • Excellent communication and collaboration skills.

Description

We develop compiler technology to accelerate deep learning applications for Apple products. You will develop new compilers for Apple proprietary Neural Engine Accelerator architecture, work on mapping high level representations of deep learning networks onto this architecture with an emphasis on performance and power. You will bring up new hardware technology and add support in the compiler for these hardware features. You will work on bringing the compiler to production quality and enable a wide range of applications of deep learning technology. You will also evaluate existing hardware blocks and contribute to the definition of new hardware architectures. You have the opportunity to work closely with the hardware team for the definition of new hardware features, review hardware specifications, work closely with the design and micro-architecture team to understand the functional and performance goals of the design, and design appropriate tests. He/she will work closely with the driver/firmware teams to integrate HW acceleration in our software stack.

Education & Experience

Masters's degree or higher in Computer Science or equivalent field.

Additional Requirements