Программный комплекс "НейроКС"
TRANSCRIPT
LOGO
www.themegallery.com
www.virom.infowww.virom.info
Руководитель проекта:Кандидат технических наук
Романчук Виталий Александрович Научный руководитель:Доктор технических наук, профессор
Ручкин Владимир Николаевич
Нейропроцессорные Нейропроцессорные технологиитехнологии
Нейрокомпьютеры работают по принципам головного мозга и являются компьютерами 6-го поколения, способными заменить обычные компьютеры. Данные компьютеры уже широко используются в военной и космической технике во всем мире. Рассмотрим нейропроцессоры семейства NeuroMatrix 640x (NM6403, NM6404, NM6405), разрабатываемые ведущим мировым производителем нейропроцессорных устройств НТЦ “Модуль”.
Применение процессора: Робототехника Распознавание образов, изображений Медицина Эмуляция нейронных сетей Высокопроизводительные вычисленияи другие применения
Рассматриваемая проблемаРассматриваемая проблема Отсутствие программного обеспечения для работы с нейропроцессорными устройствами и системами.
Секретность многих информационных материалов, касающихся нейропроцессорных технологий.
Большая цена перехода от обычных процессоров к нейропроцессорам.
Для решения в какой то мере перечисленных проблем была
поставлена задача создания
программного комплекса.
Цель:
Разработка многофункционального
программного обеспечения для создания,
функционирования и управления
нейропроцессорными устройствами и
системами на их базе.
Проект
Удаленный процессор семейства
NM640x
Программный код включает более 150000 строк. Взаимодействие 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 потенциальных покупателей
КомандаКомандаРуководитель команды:
К.т.н. Романчук Виталий Александрович
Научный руководитель:Д.т.н. Ручкин Владимир Николаевич
Программисты:Инженеры по специальности «Математическое обеспечение и администрирование информационных систем»Усков ВладимирЛукашенко ВладиславСавотиков Михаил
Тестировщик:Инженер по специальности «Вычислительные машины, комплексы, системы и сети»Гуляев Иван Александрович
Экономист:Инженер по специальности «Прикладная информатика в экономике»Романчук Елена Сергеевна
Спасибо за внимание