🔧 В рамках проекта PromeTorch были с нуля разработаны два backend'а для российских DSP-процессоров НТЦ Модуль:
💳 NM Card Mini (NM6408, PrivateUse1) — реализован программный эмулятор с Q16.16 fixed-point арифметикой, DDR-polling dispatcher протокол, кэширующий аллокатор с двойной регистрацией (DLL singleton fix), многоядерная модель диспатча.
Пройдено 32/32 теста, достигнута точность MNIST 93.64% (3 эпохи, SGD).
🖥 NM QUAD (4×NM6408, 64 ядра NMC4, PrivateUse3) — разработан row-parallel fused dispatcher v3 с тремя opcodes (forward/backward/gradient-only), собран и интегрирован nmpp SIMD matmul из NM-ассемблера (MullMatrix_f.asm), что дало 100-кратное ускорение (481 tok/s на ядро против 4.8 скалярных). Обнаружены и исправлены 8 критических багов (scratch buffer overflow, lr scaling, attention backward d_O bug). Реализован механизм gradient accumulation для параллельного backward без race condition, wave dispatch для обхода DDR DMA contention, написаны 9 SIMD asm-функций (vadd, vmul, vrelu, vdot, vcopy и др.) для дополнительного 10× ускорения элементарных операций.
⚡️ Подтверждённый результат на реальном оборудовании: 4 борды × 4 ядра = 16 ядер, 705 tok/s стабильный training с падающим loss; 16 ядер на 1 борде = 1393 tok/s forward; все 64 ядра обнаружены и задиспатчены (PL_GetBoardCount=4, каждый board = отдельный NM6408 чип с 5GB DDR).
✅ Аудит НТЦ Модуль: команда разработчиков НТЦ Модуль получила доступ к репозиторию PromeTorch и подтвердила работоспособность большинства кода, приятно удивилась и продолжит изучение чтобы выдать ряд замечаний для корректировки.
🐧 Совместимость с российскими ОС:
🏔 ALT Linux (Эльбрус) — основная платформа, 505/507 тестов PASS, нативная сборка LCC
🛡 Astra Linux — Docker тесты 34/34 PASS
🔴 RED OS — Docker тесты 34/34 PASS
Все три проверены через Docker (docker-compose.yml: сервисы astra, alt, redos, elbrus, baikal). На Эльбрусе (ALT Linux) работает нативно с полной оптимизацией (EML BLAS, NUMA-aware GEMM, TUDA 6×6 микроядро). На Astra и RED OS — через стандартный GCC/Clang путь.
Спонсором экспериментов на NM Quad, которые, кстати, завершились успешно был Кирилл Ерохин. Подробнее про него и его сообщество ниже:
https://t.me/serpas — Сообщество Энтузиастов Развития Программных и Аппаратных Средств. Автономная некоммерческая организация, координирующая неформальное сообщество, содействующих популяризации и развитию российского программного и аппаратного обеспечения. Основатель — Кирилл Ерохин, программист-энтузиаст.
Поддержать канал: https://tbank.ru/cf/8Xnajl01ehm
Поддержать канал: https://yoomoney.ru/fundraise/1C86E2DGIU9.250819