Нейросетевой вычислитель

Нейросетевые алгоритмы предназначены для решения задач распознавания, классификации и обработки данных. Основной особенностью нейросетевых алгоритмов является высокий параллелизм вычислений, поэтому традиционные однопроцессорные вычислители не могут обеспечить требуемое быстродействие. Одним из путей решения этой проблемы является использование параллельных вычислителей на базе ПЛИС или СБИС
 

Расширенное описание:

Нейросетевой паралелльный вычислитель позволяет рассчитывать до 240 миллионов входов нейронов в секунду. Нейросеть имеет до 32000 входов, два слоя по 64 нейрона. Число входов и количество нейронов в слоях настраивается во время работы. Разрядность входных данных 6 бит, весовых коэффициентов 16 бит. Время расчета всей сети 8,5 мс. Аппаратная часть реализована на плате XDSP-2MC в ПЛИС Xilinx Virtex E емкостью 1 миллион вентилей.

Из-за большого числа входов весовые коэффициенты невозможно хранить во внутренней памяти, поэтому используется внешний модуль SDRAM SODIMM памяти объемом до 512 Мбайт. Интерфейс с внешней динамической памятью обеспечивает обмен со скоростью до 66 миллионов 64-разрядных слов в секунду. Не смотря на это его производительности хватает только для обработки четырех нейронов одновременно, поэтому все 64 нейрона обрабатываются за 16 проходов. Функция активации нейронов реализована на основе ОЗУ.

Для отладки платы используется интегрированный логический анализатор Xilinx Chip Scop, что позволяет в короткий срок отладить обмен с внешними устройствами. Обмен данными с нейросетевым вычислителем производится через шину Compact PCI, в которой отображается внутренняя память ПЛИС и внешняя SDRAM память. Благодаря конвейерной архитектуре параллельно с обработкой может производиться загрузка новых данных, обеспечивая максимальное быстродействие.