LOGO Руководитель проекта: Кандидат технических наук Романчук Виталий Александрович Научный руководитель: Доктор технических наук, профессор Ручкин Владимир Николаевич
Нейропроцессорные технологии Нейрокомпьютеры работают по принципам головного мозга и являются компьютерами 6-го поколения, способными заменить обычные компьютеры. Данные компьютеры уже широко используются в военной и космической технике во всем мире. Рассмотрим нейропроцессоры семейства NeuroMatrix 640x (NM6403, NM6404, NM6405), разрабатываемые ведущим мировым производителем нейропроцессорных устройств НТЦ Модуль. Применение процессора: Робототехника Распознавание образов, изображений Медицина Эмуляция нейронных сетей Высокопроизводительные вычисления и другие применения
Рассматриваемая проблема Отсутствие программного обеспечения для работы с нейропроцессорными устройствами и системами. Секретность многих информационных материалов, касающихся нейропроцессорных технологий. Большая цена перехода от обычных процессоров к нейропроцессорам. Для решения в какой то мере перечисленных проблем была поставлена задача создания программного комплекса. Цель: Разработка многофункционального программного обеспечения для создания, функционирования и управления нейропроцессорными устройствами и системами на их базе.
Проект Удаленный процессор семейства NM640x Программный код включает более строк. Взаимодействие 80 модулей программного кода. Интерфейс включает 38 рабочих форм. 2 внешних библиотеки: для моделей процессоров NM6403, NM6404, NM6405, NM6406 и удаленного доступа к нейропроцессору. Архитектура комплекса Настройки Программное обеспечение (Visual C++) Процессор семейства NM640x Базовое программное обеспечение НТЦ Модуль Калькулятор Настройки Анализатор нейросистемы Конструктор систем Терминал Текстовый редактор (С++) Текстовый редактор (нейроассемблер) Анализатор программного кода Библиотека Config Библиотека NeuroProc XML веб-сервис
Текстовый редактор Тестовый редактор разделяется на текстовый редактор для языков нейроассемблера и текстовый редактор для языка C++. Разница в том, что для нейроассемблера редактор имеет функции подсветки синтаксиса, некоторые специальные функции (вставка директив и др.) и функции компиляции, отладки.
Анализатор программного кода Анализатор программного кода разделяется на анализатор кода для скалярного процессора и анализатор кода для векторного сопроцессора. Назначением анализатора является моделирование команды скалярного или векторного процессора и представление подробных результатов ее выполнения. По этим данным высчитываются потери и выигрыш команды в связи с параллелизмом процессора и особой структурой кода.
Общий вид анализатора программного кода для векторного сопроцессора Анализатор программного кода
Конструктор систем Конструктор необходим для конструирования и визуального представления нейропроцессорных систем различной архитектуры. На данный момент могут быть использованы структуры: конвейерная, векторная, конвейерно-векторная и векторно-конвейерная, произвольная. Структуры, получаемые в данной подсистеме используются в анализаторе нейропроцессорной системы для моделирования и анализа.
Анализатор НПС Анализатор НПС необходим для анализа эффективности реализации алгоритма на той или иной нейропроцессорной структуре. Для расчета эффективности используются специальные алгоритмы. Для процессора выводятся: 23 значения оценок и 7 видов графиков. Для системы: 19 значений оценок и 8 видов графиков.
Терминал Терминал необходим для подключения к реальным нейропроцессорным устройствам (или их эмуляторам). Реализованы полностью все функции доступа и работы с нейропроцессорами (плата МЦ4.31 и эмулятор процессора NM6403). Исходные данные могут быть загружены как из текстового редактора, так и из анализатора НПС.
Калькулятор Калькулятор напоминает интерфейс стандартного калькулятора, встроенного в ОС Windows, но в нем добавлены операции, присущие нейропроцессорам семейства NM640x (различные сдвиги, маскирование, функции активации). Калькулятор может использоваться для обычных расчетов и для получения быстрого результата операций нейропроцессора.
Настройки Настройки системы разбиты на функциональные части: общие настройки комплекса, общие настройки для семейства процессоров NM640x, настройки текстового редактора, настройки анализатора программного кода, настройки конструктора систем и анализатора. Выбор ключей компиляции и т.п. может производиться путем выбора соответствующих элементов интерфейса. Общее число настроек – около 100.
Сеть Для подключения к удаленному устройству используется специальная форма. Для подключения использована технология XML веб-сервиса, позволяющего создавать клиент-серверные структуры различной сложности и нейропроцессорные системы. Данная возможность широко применяется на лабораторных занятиях в университете для получения доступа всех студентов к одной плате MЦ4.31 с целью запуска своих программ.
Справочная система В подсистемах Анализатор программного кода и Терминал реализован доступ к справочной системе. Для каждой команды выводится полная информация и вычисляемые данные (потери из-за внутреннего параллелизма процессора и т.д.). Кроме этого многие данные справочной системы выводятся в всплывающих подсказках. Справка в подсистеме Анализатор программного кода Справка в подсистеме Терминал
Применение комплекса Программный комплекс может применяться: в ВУЗах, участвующих в университетской программе НТЦ Модуль; - в ВУЗах, проявляющих интерес к новым технологиям; разработчиками программ для нейропроцессоров; людьми, интересующимся нейропроцессорами или занимающимися проблемами искусственного интеллекта. Программный комплекс может применяться для: моделирования нейропроцессора и/или нейропроцессорной системы; выбора элементной базы нейропроцессорной системы; распараллеливания кода программы на языках нейроассемблера; более удобного доступа к нейропроцессору; разработки программ на языках нейроассемблера; отладки программ, написанных на языках нейроассемблера; помощи при разработке программы для нейропроцессора; обучения языкам нейроассемблера; анализа эффективности нейропроцессорных систем.
Конкуренты и план развития Конкуренты Основным ближайшим конкурентом является программа NMCalculator, разрабатываемая непосредственно в НТЦ Модуль. Отличием программы от аналогов (NMCalculator) является гораздо больший набор функциональных возможностей (60 против 5) и меньшее количество ошибок разработки. Для нейропроцессоров семейства NM640x других конкурентов в данный момент не существует. План коммерциализации проекта 1-й этап: Продажа программного комплекса «НейроКС». Объем рынка: около 100 потенциальных покупателей. Основной покупатель: НТЦ «Модуль», Рязанский приборный завод, Муромский радиозавод. 2-й этап: Продажа программно-аппаратных комплексов различного применения (криптографические процессоры, модули сжатия и обработки изображений и т.п.), разработанных с использованием программного комплекса «НейроКС». Объем рынка: более 1000 потенциальных покупателей
Команда Руководитель команды: К.т.н. Романчук Виталий Александрович Научный руководитель: Д.т.н. Ручкин Владимир Николаевич Программисты: Инженеры по специальности «Математическое обеспечение и администрирование информационных систем» Усков Владимир Лукашенко Владислав Савотиков Михаил Тестировщик: Инженер по специальности «Вычислительные машины, комплексы, системы и сети» Гуляев Иван Александрович Экономист: Инженер по специальности «Прикладная информатика в экономике» Романчук Елена Сергеевна
Спасибо за внимание