Технический форум по робототехнике.
EIN_ENGEL » 25 дек 2010, 02:27
Michael_K писал(а):EIN_ENGEL писал(а):Несколько сотен нейронов при обучении вывешивают современный комп.
Это потому что его обучать пытаются за две микросекунды, а не за два месяца, как в реальной жизни
довольно спорно. не известно, чему он там обучается за два месяца.
Michael_K » 25 дек 2010, 02:32
конечно спорно, конечно зависит от модели нейрона и структуры сети... конечно, никому неизвестно - я про что и говорю.
Duhas » 25 дек 2010, 02:39
EIN_ENGEL писал(а):своя память у каждого проца тоже должна быть. Плюс я бы добавил прямую связь между соседними процами.
И ещё не хватает управляющего процессора, который распределяет задачи.
про память - да.. под блоком процессор скрывается самодостаточная платка с памятью, как оперативкой так и флешкой наверное тоже..
про управляющий процессор - думается мне сделать вообще на каждой платке слот типа Sd карты.. на которой будет конфигурация...
эхх вкусные процы у Freescale-а...
EIN_ENGEL » 25 дек 2010, 02:50
заколебёшься перетыкать СД. Лучше центральный поставить арм с какой-нибудь операционкой и настроить программирование вычислительных через него. Чтобы он читал откуда-нибудь прошивки и загружал всех на ходу.
А вообще, отдельные вычислители могут быть самостоятельными, тогда уже чтение собственной прошивки из флеш.
Duhas » 25 дек 2010, 02:59
дык не, я на ПК у себя держу софтину, которая мне пишет эти конфигурационный SD флешки... а я их уже втыкаю.. хотя и правда мона запариться..
думал и о низкоскоростной шине... аля УАРТЫ да RS всякие между всеми модулями, для их конфигурирования...
EIN_ENGEL » 25 дек 2010, 03:09
естесственно, не вручную флешки забивать.
Эту модель суперкомпа собираешься всегда держать подключенной к ПК, или она будет т.н. "эмбеддед"?
Можно через юсб залить на большую флешку центрального вычислителя, а дальше да, юарт или СПИ. Я не знаю как у дргиг процессоров, но в техасах бутлоадер может принимать по спи или юарту и грузить или напрямую в оперативку, или во внешнюю флешку с последующей загрузкой из неё.
Зацени какую штуку сделал сразу в одном заказе с платами из темы про собачку:
Процессор - ДСП ТИ C6745. Снизу оперативка 32 МБайта 133МГц и НАНД-флеш на 128МБайт. Но я думаю нанд не впаивать, а подвесить снаружи СПИ-флешку на 8МБайт.
И почти такая же плата на процессоре F2802, тоже от Техасов. Но там внешней памяти нет никакой.
Вот что-то типа такого в модульном исполнении на общую материнку.
Последний раз редактировалось
EIN_ENGEL 25 дек 2010, 03:18, всего редактировалось 1 раз.
Виталий » 25 дек 2010, 03:18
такой проц (с довесок с обвязкой и готовой платой) можно купить начиная с несколькольких десятков баксов
Пруфлинк?
своя память у каждого проца тоже должна быть.
Когерентная со всеми остальными, что непросто.
Плюс я бы добавил прямую связь между соседними процами.
И расположил бы их в узлах гиперкуба.
И ещё не хватает управляющего процессора, который распределяет задачи.
Если все пойдет через него, то производительность резко упадет.
Повторю еще раз. Все упирается в шину. Если шина узкая, то ДОБАВЛЕНИЕ процессоров СНИЖАЕТ производительность системы.
Duhas » 25 дек 2010, 03:23
шина.. 1 иль 2... по все 64 бита...
дабы гнать сами данные, сопутствующую информацию сделать пожалуй на SPI...
алгоритм примерно следующий - даем запрос на передачу, получаем подтверждение, гоним данные...
"когерентность" локальной и глобальной памяти можно обосновать ?
EIN_ENGEL » 25 дек 2010, 03:28
Не пойдёт всё через него. Для чего тогда прямые связи между вычислительными процессорами делать?
Он будет только загружать данные в вычислители и снимать результат.
Нужно сделать параллельную шину от управляющего к вычислительным и использовать её по очереди, по прерываниям от вычислителей, или по запросу от управляющего.
Память управляющему соответственно тоже нужна. Но при этом не обязательно делать к ней общий доступ от вычислителей, хотя и можно.
Это даже может быть альтернативой параллельной шине от управляющего к вычислителям. То есть управляющий считывает результаты вычислений с общей памяти. Если она будет двухпортовая, или вообще сделаная из плис и двухпортовых микросхем, то тогда работать должно быстрее.
Получается сама плис подключена к управляющему процессору как микросхема памяти, а в плисе уже контроллер, к которому подключены микросхемы двухпортовой памяти. Которые, в свою очередь, другим портом подключены к ДСП.
Duhas » 25 дек 2010, 03:36
я думал о такой реализации, только это не модульный вариант (
EIN_ENGEL » 25 дек 2010, 03:47
почему не модульный?
На модуле процессор с памятью, один её порт к процессору, второй к внешнему разъёму. Врядли там будут частоты больше 100-200МГц. Так что можно и так. Можно вообще оба порта завести на ДСП, а при подключении к материнке перевести разъёмный порт в третье состояние. Надо смотреть даташиты на эти микросхемы.
Другое дело, что двухпортовая память не дешевая.
Всё упирается только в бюджет.
(поскольку мы с самого начала по умолчанию не обсуждаем целесообразность такого вычислителя вообще в целом)

Duhas » 25 дек 2010, 07:10
бюджет увы не резиновый ( а так бы да )
EIN_ENGEL » 25 дек 2010, 08:56
тогда сначала определись какие тебе нужны отдельные модули, а потом из них будешь собирать суперкомп.
Если работать не будет, или не оправдает надежд, то хоть на отдельных платках роботов настрогаешь.
Выбор то особо не велик. Все мощные процессоры в бга, а это сразу на порядок больший бюджет нужен.
В плисе есть блочная память, на ней можно организовать многопортовую. Конечно маленький объём будет, но на передачу данных хватит.
vadinator » 25 дек 2010, 09:44
А если быструю ПЛИС в качестве программируемого ядра и модули памяти быстрые. В зависимости от задачи, меняется архитектура вычислителя(прога для ПЛИС) Нужный объём памяти набирается модулями на общей шине....своего рода микропроцессор с программируемой архитектурой

Конечно не совсем по теме

Angel71 » 25 дек 2010, 11:06
EIN_ENGEL, сотни нейронов комп повесят? центральный могут и повесить (смотря какой проц, память и структура сети). недорогие видюшки с dx11 уже не повесят + ещё центральный останется для каких других задач. некоторые моменты, которые вы предлагали вообще идеально вписываются в gpgpu. вникните в концепцию
http://www.mrsc2010.eu/tutorialhttp://habrahabr.ru/tag/opencl/http://www.khronos.org/opencl/http://developer.nvidia.com/object/opencl.htmlhttp://developer.amd.com/zones/OpenCLZone/pages/default.aspxконцепция opencl базируется на гетерогенности, пока с этим немного туго (реально только цп+видюхи), но заложено, что будет почти единообразно какой камушек - x86, arm, cell, gpu, fpga,... opencl пару лет, так что всё еще в переди. недавно мельком видел, что в каких-то нейропакетах поддержка gpgpu толи уже есть, толи заявлена в будущих версиях. а на тиньках/мегах или даже армах городить кластер имхо можно только ради интереса, особой практической ценности из-за сложности, итоговой цены, размеров всего этого хозяйства и характеристик (производительности, колва процов, памяти,...) я не вижу