Библиотека devices
реализует и предоставляет набор интерфейсов, которые вы можете использовать для взаимодействия с физическими устройствами.
Функции библиотеки используются в функциях бэкендов для получения информации об устройствах. Для выбора устройства, на котором будет исполняться нейронная сеть, необходимо сначала вызвать функцию бэкенда, которая предоставляет типы вычислителей. Типы вычислителей являются наследниками класса Device
и обладают своим набором функций и свойств. Для выбора конкретного устройства из предоставленных необходимо вызвать функцию select_devices()
, передав в нее уникальные идентификаторы устройств или указатели на экземпляры класса Device
.
Информацию об устройстве (например, о потребляемой мощности) вы можете получить с помощью методов объекта, который обеспечивает интерфейс к устройству.
Если требуется, при работе с исходным кодом вы можете реализовать и использовать собственные устройства. Для этого в рамках бэкенда реализуйте класс устройства и предоставьте его интерфейс, а также реализуйте функцию загрузки устройства, которая возвращает указатель на экземпляр класса Device
.
В Kaspersky Neuromorphic Platform на текущий момент реализованы интерфейсы для центрального процессора и нейроморфного процессора Алтай-1. При использовании нейроморфного процессора Алтай-1 вы можете выбрать в качестве типа устройства как аппаратный процессор, так и его программный эмулятор. Для аппаратного процессора используется фиксированная конфигурация ядер. При выборе программного эмулятора в качестве типа устройства вы можете изменить параметры конфигурации ядер нейроморфного процессора Алтай-1 с помощью метода load_core_grid_params()
, а также задать расположение портов ввода и вывода в конфигурации ядер с помощью метода make_standart_north_port()
.