1 Общие сведенияПрограммное обеспечение AMLT предназначено для работы с ускорителями I100CPP и I105CPP, а также центральными процессорами с архитектурой x86 и ARM. Одна из ключевых задач, возникающая при внедрении искусственного интеллекта, является вывод (inference) нейросети, которая состоит в том, чтобы для входных данных пользователя в нейросеть получить результирующую выборку (ответ). Далее уже результаты вывода могут быть использованы в конечном пользовательском сценарии. Для решения задачи вывода нейросети нами предлагается специализированный аппаратный ускоритель и программное обеспечение AMLT, обеспечивающие высокую производительность и минимальные временные затраты на уровне современных иностранных решений.
1.1 Основные компонентыОсновные архитектурные компоненты программного обеспечения выделяются в следующие группы:
OpenVino™ Runtime – набор библиотек, предоставляющие интерфейсы для вывода (Inference) нейросетей на различных вычислительных устройствах. Средствами реализованных плагинов, включается в состав программного обеспечения AMLT. OpenVINO™ предоставляет нативную поддержку широкого спектра модельных фреймворков и форматов моделей (PyTorch, TensorFlow, ONNXи тд.)
IASIC Plug-in – представляет собой расширение функциональности OpenVINO™ для поддержки вывода данных (Inference) на устройстве. Компонент содержит в себе узкоспециализированные оптимизации (тензорный компилятор), позволяющие добиться максимальнойпроизводительности вывода нейросетей на ускорителях I100CPP и I105CPP, а также на центральны процессорах с архитектурой x86 и ARM.
IASIC driver – компонент отвечает за выполнение вывода данных (Inference) в соответствии с настройками переданными из IASIC Plug-in, и обеспечивает многопользовательский режим работы, а также управляет устройством.
IASIC profiler – компонент, представляет собой инструмент командной строки для сбора и анализа производительности и профилировочных данных с ускорителя и хост-системы, на которую установлено устройство. Основной фокус на утилизацию устройства и производительность (GFLOP/s).
1.2 Принцип работы программного обеспеченияПрограммное обеспечение AMLT – набор компонентов, которые обеспечивают работу ускорителей и помогают им выполнять работу алгоритмов нейронных сетей на них.
Благодаря архитектурным и программным решениям AMLT помогает ускорить работу серверных систем, выполняя сложные математические вычисления.
Принцип работы программного обеспечения состоит из нескольких этапов:
1. Конвертация модели в поддерживаемый формат;
2. Подготовка программы для исполнения на карте расширения;
3. Запуск процедуры исполнения.
Состояние программного обеспечения и ускорителя можно запросить через терминал. После того как ускоритель (количество зависит от задач пользователя) установлен на сервер, а программное обеспечение установлено на стороне хоста и его работоспособность проверена, пользователь может начинать работу через доступные интерфейсы интеграции с PyTorch или библиотеками OpenVINO™.
Для написания собственных программ по работе с библиотеками OpenVINO™ пользователь может использовать любой удобный ему текстовый редактор.
1.3 Основные функции ПОПрограммное обеспечение AMLT поддерживает следующие функциональные характеристики:
· Подготовка входных данных, включая конвертацию всех необходимых форматов;
· снятия метрик работы ускорителя, таких как температура, загруженность основных вычислительных блоков и доступный объём оперативной памяти;
· поддержка форматов моделей ONNX;
· исполнение программы на устройстве и контроль результатов;
· поддержка программной платформы PyTorch;
1.4 Уровень подготовки пользователейДо работы с программным обеспечение AMLT допускаются специалисты в области инженерии, системные администраторы и IT-специалисты, имеющие опыт работы с картами расширения, микросхемами и их программным обеспечением.
Специалисты, которые будут непосредственно допущены к эксплуатации программного обеспечения AMLT должны быть ознакомлены с пользовательской документацией на программное обеспечение и с эксплуатационной документацией на изделие, где оно применяется.
Примечание – пользователями данного программного обеспечения являются специалисты Data Science и системные администраторы.2 Системные требования2.1 Рекомендуемая конфигурация хостаПроцессор | процессор выбирается согласно спецификации материнской платы |
Оперативная память | не менее 16 ГБ RAM (рекомендуется 32 ГБ для рабочих нагрузок). |
Дисковое пространство | не менее 20 ГБ свободного места на SSD-накопителе. |
Специализированное оборудование | GPU ready сервер с возможностью установки GPU двойной ширины FHFL (full height, full length). Поддержка интерфейса PCIe 4.0 x16 и выше. |
2.2 Программные требованияОперационная система:AstraLinux версии 1.7.7 или выше.
Platform V SberLinux OS Server версии 9.6.2 и выше.
Ядро Linux:версия 5.15 и выше.
Для корректной работы необходимо установить Python версии 3.8 или выше.
3 Установка программного обеспечения3
.1 Общие рекомендации BIOS/UEFIКорректная работа ускорителя и программного обеспечения AMLT напрямую зависит от правильной конфигурации PCIe в BIOS/UEFI. Ниже приведены рекомендуемые параметры и пояснения.
BIOS/UEFI Обновление:Используйте последнюю стабильную версию BIOS/UEFI, совместимую с вашей материнской платой или серверной платформой.
Сохранение Настроек:После внесения изменений обязательно сохраните настройки (F10 → Save & Exit) и перезагрузите систему.
Названия Опций:Названия опций могут отличаться в зависимости от производителя (Dell, ASUS, Supermicro и т.д.) и UEFI-стека (AMI, Insyde). См. документацию к платформе для точной информации.
Названия Опций:Названия опций могут отличаться в зависимости от производителя (Dell, ASUS, Supermicro и т.д.) и UEFI-стека (AMI, Insyde). См. документацию к платформе для точной информации.
Таблица 1 – Настройка основных параметров
Параметр | Конфигурация |
PCIe Slot Configuration → Link Speed | Установите значение: Gen4 (рекомендуется). - Где найти: Advanced → PCI Subsystem Settings → PCIe Port Configuration |
PCIe Bifurcation | Если используется более одного ASIC-устройства и они подключены через riser или плата поддерживает разделение x16 на x8/x8 или x4/x4/x4/x4 — включите PCIe Bifurcation. - Типичные значения: x16, x8x8, x4x4x4x4 — выберите в соответствии с физической схемой подключения. - Где найти: Advanced → PCIe/PCI Subsystem → Slot Configuration → Bifurcation Control |
ASPM (Active State Power Management) | Установите: Disabled - ASPM может вызывать тайм-ауты при обмене данными с ASIC, особенно под нагрузкой. - Где найти: Advanced → Power Management → PCIe ASPM |
Above 4G Decoding / Memory Mapped I/O above 4GB | Установите: Enabled - Обязательно для устройств, требующих больших DMA-буферов (все современные ASIC). - Без этой опции ядро не сможет выделить достаточно памяти устройству. |
Resizable BAR / Smart Access Memory (SAM) | Установите: Disabled - Хотя Resizable BAR ускоряет GPU, для ASIC-устройств она не поддерживается и может вызвать сбои инициализации. |
Secure Boot | Установите: Disabled - Драйверы ASIC (hdma, minerva-iasic) распространяются как unsigned kernel modules. При включённом Secure Boot загрузка модулей будет заблокирована. |
SR-IOV (Single Root I/O Virtualization) | Установите: Disabled (если не используется виртуализация) - Не требуется для базовой работы ASIC и может конфликтовать с драйвером. |
Legacy PCIe Support / Compatibility Mode | Установите: Disabled - Работа в режиме Legacy может ограничить доступ к полной ширине шины. |
3.2 Установка основных компонентов3.2.1 Настройка параметров ядраДля корректной работы программного обеспечения AMLT и ускорителя необходимо добавить обязательные параметры загрузки, изменив файл
/etc/default/grub или выполнив команды представленные ниже.
SberLinux/Astra Linux: