Apple
Machine Learning System Software Engineer (m/f/d)
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Инженер системного ПО в команду Apple Neural Engine. Разработка API и рантайма для загрузки, компиляции и исполнения ML-моделей на устройстве, оптимизация инференса и взаимодействие с драйверами, прошивкой и компилятором.
Задачи
- Проектировать и реализовывать API для Apple Neural Engine: загрузка, компиляция, планирование и исполнение моделей на устройстве
- Проектировать API для управления жизненным циклом моделей, стратегиями выделения памяти, планированием нескольких моделей и конкурентным исполнением
- Совместно с командами драйверов, прошивки и компилятора проектировать интерфейс рантайм-кремний
- Профилировать и оптимизировать сквозные пути инференса, выявлять узкие места в планировании, компиляции и исполнении
- Поддерживать клиентов при внедрении API и обеспечивать эффективную интеграцию
Требования
- BS и минимум 10 лет релевантного опыта в индустрии
- Опыт определения интерфейсов, используемых другими командами или внешними разработчиками, с вниманием к жизненному циклу, обработке ошибок и обратной совместимости
- Глубокое владение C и C++ в больших production-системах
- Понимание рантайм-систем: модели процессов и потоков, управление памятью, IPC/RPC, жизненный цикл ресурсов
- Понимание интерфейсов софт-железо: регистры, DMA, очереди команд или аналогичные паттерны взаимодействия с ускорителями
- Опыт выпуска production-системного ПО
Навыки
- C
- C++
- Swift
- Rust
- TensorRT
- ONNX Runtime
- XLA
- Metal
- Vulkan compute
- ML runtime
- inference engines
- accelerator driver stacks
- ML model compilation
- graph IR
- neural network inference
- DMA
- IPC
- RPC