Наименование
Драйвер ускорителей вычислений на базе ПЛИС для Ubuntu 22.04, RU.НТСР.02.01.002
Краткое описание
Драйвер ускорителей вычислений на базе ПЛИС для Ubuntu 22.04, RU.НТСР.02.01.002 предназначен для предоставления доступа к ресурсам аппаратных ускорителей вычислений на базе ПЛИС Xilinx UltraScale процессам ПО, исполняющимся под управлением операционной системы Linux Ubuntu версии 22.04.
Описание технических средств
Драйвер ускорителей вычислений на базе ПЛИС для Ubuntu 22.04, RU.НТСР.02.01.002 распространяется вместе с соответствующими аппаратными ускорителями вычислений на базе ПЛИС Xilinx UltraScale в виде собранных модулей ядра (*.ko файлы) и в виде исходных кодов.
Для сборки используется стандартное программное обеспечение ОС семейства Linux: ПО GNU Make и ПО GNU C Compiler, актуальных для ОС Linux Ubuntu 22.04 версий, а также пакет с заголовочными файлами для версии ядра ОС, на которой планируется использование драйвера.
Встроенных средств защиты от копирования не имеет.
Функциональные характеристики
Драйвер ускорителей вычислений на базе ПЛИС для Ubuntu 22.04, RU.НТСР.02.01.002 к процессам ПО, исполняющимся под управлением операционной системы Linux Ubuntu версии 22.04.
Взаимодействие между программным обеспечением (процессами ОС) и аппаратными ускорителями осуществляется через файлы символьных устройств, ассоциированных с соответствующими аппаратными ускорителями вычислений, при помощи механизма системных вызовов ОС Linux.
Доступные функции:
- open – создает новый файловый дескриптор, указывающий на символьное устройство, ассоциированное с соответствующим аппаратным ускорителем, в системной таблице открытых файлов ОС;
- close – удаляет указанный файловый дескриптор, указывающий на символьное устройство, ассоциированное с соответствующим аппаратным ускорителем, из системной таблицы файлов ОС;
- mmap – создаёт в адресном пространстве процесса отображение памяти аппаратного ускорителя вычислений, ассоциированного с соответствующим файловым дескриптором;
- munmap – удаляет из адресного пространства процесса отображение памяти аппаратного ускорителя вычислений;
- ioctl – выполнение специфических команд/операций с аппаратным ускорителем вычислений, ассоциированным с соответствующим файловым дескриптором.
Системный вызов ioctl предоставляет следующие команды:Системный вызов ioctl предоставляет следующие команды:
- GET_CAPS – получение флагового регистра, описывающего возможности доступные для соответствующего (ассоциированного с файловым дескриптором) аппаратного ускорителя вычислений;
- GET_HID – получение человекочитаемой строки, идентифицирующей аппаратный ускоритель вычислений, ассоциированный с файловым дескриптором;
- GET_REV – получение номера ревизии аппаратного ускорителя вычислений, ассоциированного с файловым дескриптором;
- CHECK_RESET – выполнение базовой проверки работоспособности внутренних интерфейсов ввода/вывода аппаратного ускорителя вычислений и, при необходимости, реинициализации внутренних интерфейсов ввода/вывода.
Ссылки на скачивание:
Распространение, стоимость
Программное обеспечение (драйвер) распространяется свободно, доступно для скачивания на сайте.
Программное обеспечение (драйвер) поставляется в комплекте с ускорителями вычислений на базе ПЛИС Xilinx UltraScale по 0 стоимости.
Обновление и поддержка
Обновления программного обеспечения драйвера (новые версии) публикуются в соответствующем разделе и доступны для свободного скачивания.
Техническую поддержку клиентов осуществляет Служба технической поддержки клиентов.
- Адрес: 117587, Москва, Варшавское ш., д.125 строение 1, секция 3, этаж 1, комнаты 7, 7а
- Телефон: +7 (916) 709-46-47
- E-mail: info@ntcms.ru
Тестовая среда
Для тестирования работы программного обеспечения осуществлена возможность удаленного подключения к демонстрационному серверу ООО «НТЦ МакроСистемы» с установленным модулем ускорения вычислений (ЭМ УВ) на базе программируемых логических интегральных схем ПЛИС.
Для подключения к серверу с платой 8 поколения создать ssh соединение со следующими реквизитами:
- IPv4: 82.97.198.36
- Порт: 10823
- Пользователь: test
- Пароль: по запросу по телефону тех.поддержки +7 (916) 709-46-47
- Пример команды для терминала Linux: ssh -p 10823 test@82.97.198.36
Установка:
Установка драйвера выполняется путем копирования файлов в предусмотренные каталоги ОС (/opt/ntcms/drivers). При необходимости может быть осуществлена сборка комплекта драйверов из исходных кодов.
Для компиляции исходных кодов в объектный код требуется наличие следующего ПО:
- компилятор GCC версии не ниже 11.3.0;
- утилита GNU Make версии не ниже 4.1;
- заголовочными файлами для используемой версии ядра ОС Linux Ubuntu 22.04, на которой планируется использование драйверов.
Посмотреть версию ядра ОС Ubuntu Linux 22.04 можно при помощи стандартной утилиты uname, выполнив команду:
uname –r
Для выполнения компиляции исходных кодов в объектный код выполните следующие действия:
- зайдите в директорию с исходными кодами комплекта драйверов;
- выполните команду make clean ;
- выполните команду make .
В случае успеха, в директории должны появится файлы: spc.ko, ums8.ko .
Запуск:
Загрузка драйвера (запуск программы) выполняется утилитой load_modules.sh , входящей в комплект поставки.
Для загрузки драйвера необходимо, находясь в директории, куда установлен драйвер, выполнить команду:
./load_modules.sh load
Утилита загрузит модули ядра, входящие в состав комплекта драйверов, и создаст в системной директории /dev символьные устройства, ассоциированные с соответствующими аппаратными ускорителями. Для каждого аппаратного ускорителя будет создан свой файл символьного устройства. Имена файлов создаются по следующему шаблону:
/dev/usm8-<NR>
, где <NR> число от нуля до значения, равного числу аппаратных ускорителей на базе ПЛИС Xilinx UltraScale минус единица.