Я закончил реализацию и проверку всей функциональности которую планировал для публикации следующего релиза Adept! 🎉
Помимо основных задач, провел важное кросс-платформенное тестирование:
✅ Успешно протестировал распределённое обучение (DDP) на связке из двух RTX 2080Ti.
✅ Проверил сборку и работу на Android с GPU Adreno 650 и Snapdragon 870.
💡 Также в планах на новый релиз: помимо стандартных Python wheel, мы подготовим RPM-пакет для Alt Linux.
📝 Что нового с 6 сентября:
🎮 GPU / Vulkan Backend
• Перешли на сегментированный аллокатор памяти для GPU устройств (`vksegalloc`) вместо выделения буферов на каждый тензор. Добавили отдельные абстракции staging-буферов.
• Интегрировали это в Vulkan device/manager, GPU API и Python-биндинги.
• Реализовали graceful fallback для устройств без поддержки опциональных расширений (на уровнях device, shader и submit).
🎯 YOLO v11 и распределённое обучение
• Добавили опцию выбора Device-ID в Python CLI и C++ примере для инференса YOLO.
• Реализовали поддержку распределённого обучения (DDP) для YOLO v11, включая корректировки функций потерь под распределённые вычисления.
📦 Сборка и пакетирование
• OpenMPI runtime теперь бандлится в wheel, добавлен лаунчер
adeptrun.• Настроили пайплайн сборки manylinux wheel.
• ⚠️ Важно: Минимальная требуемая версия Python повышена с 3.11 до 3.12.
• Починили зависимости MPI и добавили возможность сборки под Android с помощью clang.
🧹 Очистка и адаптация API
• Удалили легаси и неструктурированные примеры.
• Адаптировали актуальные примеры (LeNet, MLP, ResNet, импорт ONNX) под свежее API.
В ближайшее время всё залью в основную ветку, сделаю тег 0.2.0 и опубликую Python пакет для x86_64 в GitVerse 🛠
#Adept #MachineLearning #Vulkan #YOLOv11 #DistributedTraining #AltLinux #Android #OpenSource #C++ #Python #GPU