Основная цель: обеспечение стабильной, производительной и совместимой работы драйверного стека GPU Граус на целевых ОС и конфигурациях, а также быстрое устранение критических проблем на низком уровне системы
Чем предстоит заниматься:
- Портирование и адаптация драйверов MetaX под целевые ОС (Astra Linux, Ubuntu и др.) и версии ядра;
- Разработка патчей для обеспечения совместимости с корпоративными конфигурациями;
- Сборка и тестирование драйверных модулей в офлайн-среде;
- Подготовка автоматизированных скриптов установки и обновления драйверов;
- Анализ зависимостей драйверов от версий ядра и системных библиотек;
- Тестирование драйверов на различных версиях ОС и конфигурациях BIOS/UEFI;
- Ведение матрицы совместимости: версии драйверов, ядра, firmware GPU;
- Документирование известных конфликтов и workaround'ов;
- Глубокая диагностика kernel panic, GPU hang, memory corruption и других критичных ошибок;
- Анализ kernel logs, dmesg, crash dumps для выявления причин сбоев;
- Разработка временных обходных решений (workarounds) для блокирующих проблем;
- Подготовка технических отчётов по критическим дефектам для эскалации вендору;
- Профилирование работы драйверов и выявление узких мест (latency, throughput, overhead);
- Настройка kernel parameters для оптимизации работы GPU (interrupt handling, DMA, power management);
- Участие в тестировании производительности совместно с SRE и ML Engineer;
- Разработка рекомендаций по конфигурации системы для максимальной производительности GPU;
- Формирование и передача вендору детализированных bug report'ов с логами и шагами воспроизведения;
- Участие в инженерных обсуждениях с вендором по архитектуре драйверов и API;
- Тестирование патчей и новых версий драйверов от вендора;
- Обратная связь вендору по применимости предложенных исправлений.
Для нас важно:
- Высшее образование (компьютерные науки, физика, инженерия или смежные области);
- Опыт в разработке драйверов, системном программировании или низкоуровневой разработке от 5ти лет;
- Опыт разработки драйверов для Linux (kernel modules, device drivers, DMA, interrupts);
- Владение ЯП: C либо С++, основы ассемблера для архитектуры x86_64/ARM;
- Знание GPU-архитектура: memory hierarchy, PCIe, compute units, firmware;
- Опыт отладки kernel: dmesg, ftrace, kgdb, crash dump analysis;
- Понимание API для GPU (CUDA, OpenCL, Vulkan и др.);
- Сборка и кросс-компиляция модулей ядра, DKMS;
- Желательно понимание требований по лицензированию ПО и работе с проприетарными драйверами;
- Знание специализированных программ: Git, GCC/Clang, make/CMake, gdb/kgdb, Wireshark (для анализа PCIe-трафика при необходимости), системы CI/CD для автоматизации сборки драйверов.
- Готовность работать на территории РФ.