Пространство имен devices
Пространство имен devices предоставляет набор интерфейсов, которые вы можете использовать для взаимодействия с физическими устройствами.
Функции и классы, реализованные в пространстве имен, используются в бэкендах для получения информации об устройствах. Для выбора устройства, на котором будет исполняться нейронная сеть, необходимо сначала вызвать метод Backend::get_devices(), который предоставляет типы вычислителей. Типы вычислителей являются наследниками класса Device. Наследники определены в пространстве имен devices и реализуют конкретные устройства. Каждое устройство обладает своим набором функций и свойств. Для выбора конкретного устройства из предоставленных необходимо вызвать метод select_devices() или select_device() базового класса Backend, передав в него уникальные идентификаторы устройств или указатели на экземпляры класса Device.
Информацию об устройстве (например, о потребляемой мощности) вы можете получить с помощью методов объекта, который обеспечивает интерфейс к устройству.
Если требуется, при работе с исходным кодом вы можете реализовать и использовать собственные классы для взаимодействия с устройствами. Для этого в рамках бэкенда реализуйте класс устройства и предоставьте его интерфейс, а также реализуйте метод загрузки устройства, которая возвращает указатель на экземпляр класса Device.
В Kaspersky Neuromorphic Platform на текущий момент реализованы интерфейсы для центрального процессора, графического процессора с поддержкой технологии CUDA и нейроморфного процессора Алтай-2. При использовании нейроморфного процессора Алтай-2 вы можете выбрать в качестве типа устройства как аппаратный процессор, так и его программный эмулятор. Для аппаратного процессора используется фиксированная конфигурация ядер. При выборе программного эмулятора в качестве типа устройства вы можете изменить параметры его конфигурации.
Подробнее о функциях пространства имен devices см. в API-документации Kaspersky Neuromorphic Platform.