Apple's Vector and Numerics Group is looking for a high-performance programmer to design, enhance, and improve subsystems running on iOS, macOS, watchOS, and tvOS, encapsulated in the Accelerate framework, to support machine learning and other technologies.
Requirements
- Excellent coding skills in ASM AND C.
- Low level algorithmic development in Machine Learning primitives, BLAS and FFT.
- Detailed knowledge of vector Instruction Set Architectures (ISA) of ARM and Intel.
- excellent understanding and knowledge of machine learning primitives and micro architecture of NEON on ARM or AVX on Intel CPU cores from a vector programming perspective.
- Low level high performance programming experience is a must for this position.
- Being comfortable in vector assembly and low level C is a requirement.
Responsibilities
- implementing innovative and state of the art routines to support the necessary computation for such things as vision algorithms, machine learning training and inference.
- push the state of the art in low level computation and drive them towards energy efficient and high performance implementations by tightly integrating software and hardware.
- design and optimization of low level computational support for all aspects of machine learning and computational primitives in service of models such as Text to Speech, Voice Isolation, Apple Music Sing to mention a few.
- craft the fastest and the most energy efficient routines for a particular CPU core.
- developing both innovative and robust CPU core level algorithms derived from a particular technology’s need in a tight deadline.
Other
- work in a cross functional team
- BS/MS in mathematics, computer science or computer engineering
- MS/PhD in computer science or computer engineering