|
|
  |
Реконфигурируемый суперкомьютер на FPGA из Таганрога |
|
|
|
Feb 14 2009, 21:53
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
Есть ли среди уважаемых форумчан люди, плотно знакомые с сабжем? Я имею в виду именно «реконфигурируемый суперкомпьютер», разрабатываемый в Таганроге (под руководством Каляева И.А. и Левина И.И.), а не вообще тематику RC (Reconfigurable Computing) и HPRC (High Performance Reconfigurable Computing). Команда из Таганрога вошла в ряд федеральных целевых программ по данной тематике, в частности: Федеральная целевая программа "Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2012 годы". ГОСУДАРСТВЕННЫЙ КОНТРАКТ N 02.524.12.4002 от 20 апреля 2007 г. Лот 4 шифр "2007-4-2.4-20-01-007" по теме: "Создание семейства высокопроизводительных многопроцессорных вычислительных систем с динамически перестраиваемой архитектурой на основе реконфигурируемой элементной базы и их математического обеспечения для решения вычислительно трудоемких задач" Стратегические задачи проекта 1.Разработка и создание отечественных конкурентоспособных реконфигурируемых многопроцессорных вычислительных систем, превосходящих по своим технико-экономическим характеристикам зарубежные образцы. 2.Серийный выпуск изделий для российского рынка. 3.Повышение престижа России на рынке высокопроизводительной вычислительной техники. 4.Продвижение перспективных российских разработок на мировой рынок. (информация на сайте www.parallel.ru) Более подробно с результатами работы команды Каляева и Левина можно ознакомиться по книге «Реконфигурируемые мультиконвейерные вычислительные структуры» (Каляев И.А., Левин И.И., Семерников Е.А., Шмойлов В.И., Ростов-на-Дону, 2008), а также по ряду статей, которые легко находятся в инете. Я достаточно серьезно интересуюсь вопросами, связанными с RC, и в особенности HPRC. Провел обзор и анализ очень большого количества материалов по этой тематике и могу сказать следующее: 1. На Западе работы в этом направлении ведутся очень интенсивно и в диапазоне от «один человек по вечерам дома что-то сделал за 2 дня» до программ с большим финансированием и серьезными результатами (пара примеров из большого множества – HPRC системы у IBM в проекте суперкомпьютера Blue Gene и проект RAMP, инициированный Дэйвом Паттерсоном) 2. Есть успехи, есть и спекуляция на этом предмете, вообще серьезные конторы (ранга Cray, IBM и ведущих научных центров) заявляют примерно следующее: «направление очень перспективное, но работ непочатый край», то есть такого что «все сделано, все работает и все всем ясно» нет пока и в помине Поэтому меня очень сильно заинтересовали и, вообще говоря, насторожили заявления команды из Таганрога. Насторожили по следующим причинам: 1. Ведущие западные конторы прямо и честно заявляют, что в общем пока «тут еще конь не валялся» и «работы море и хватит на всех», особенно это касается методологии разработки и проблемы «отображения» алгоритма на «железо» (HLL to HDL и т.п). В работах таганрогцев наоборот идет упор на то, что «мы впереди планеты всей», «мы уже много чего сделали» и «у нас (СССР/Россия) в этом направлении приоритет, т.к. данную тематику впервые "подняли" (в частности) академики (не уверен точно, что все они академики  ) Каляев А.В., Евреинов Э.В., Прангишвили И.В.». Последнее заявление проверяется очень просто и обнаруживается, что в США подобные системы описали и даже сделали (!) раньше лет так на 5-7 (в частности, G. Estrin, “Organization of Computer Systems—The Fixed Plus Variable Structure Computer,” Proc.Western Joint Computer Conf., Western Joint Computer Conference, New York, 1960, pp. 33-40.). Сам по себе факт, кто там раньше написал/сделал (мы или амеры) не так важен – просто настораживает такой подход авторов: из разряда «Россия – родина слонов», ну и вообще это, если называть вещи своими именами, - прямая ложь. (Любопытно, что в книгах Евреинова Э.В., на которые ссылаются Каляев И.А. и Левин И.И. есть ссылки на американские работы, в том числе и на приведенную мной в качестве примера, и нет заявлений, что "мы впереди планеты всей") 2. Из сделанного в железе у этой команды (то, что я нарыл в инете) – это платы типа «16 Virtex V/IV на борту», которые могут устанавливаться в модули. Все это названо «Семейство реконфигурируемых вычислительных систем». Я работал в достаточно серьезной западной конторе, которая занималась, в том числе разработкой достаточно серьезного хардвара, выпускаемого серийно, и хорошо понимаю, что просто «голая плата с 16 FPGA» сама по себе малоинтересна и назвать это «реконфигурируемой вычислительной системой» можно с большой натяжкой (также как кучу из 200 тонн кирпичей – красивым домом). 3. Основная сложность (по оценкам многих умных людей) это вовсе не «сделать плату с 16 Virtex V на борту», а разработать методологию разработки и сами средства разработки для таких систем. Существует, наверное, несколько десятков проектов, в которых делаются попытки эту проблему решить , но пока «чаша Грааля» не найдена, насколько я знаю. Команда Каляева и Левина пишет (в книге и в статьях), что ими разработан язык высокого уровня Colamo (Коламо ?), который эти проблемы решает. Опять же, на западе ничего про этот чудо-язык никто не знает. 4. В книге встречаются такого рода высказывания (это точные цитаты из книги, без комментариев): а)HDL-языки являются очень удобным средством описания различного рода интерфейсов, однако при реализации сложных вычислений разработчик не имеет возможности влиять на процедуру отображения написанного на HDL кода на физические ресурсы кристалла… …поэтому при реализации сложного вычислительного алгоритма представляется предпочтительным использование графического редактора. б)…стандартные средства САПР ПЛИС позволяют программировать схемотехнику только одиночных ПЛИС в)Процесс же реконфигурирования ПЛИС – очень длительный процесс, занимающий десятки секунд [50]. ([50] Каляев А.В., Левин И.И. Модульно-наращиваемые многопроцессорные системы со структурно-процедурной организацией вычислений. –М. Янус-К, 2003, 380) 5. Ни в книге, ни в одной другой работе указанных авторов практически нет ссылок на хоть какие-либо современные работы западных авторов. Есть либо общие слова, типа «на Западе работы ведутся», либо ссылки на какие-то третьестепенные малозначащие работы, либо на «старую классику». На западе сотни и тысячи работ по этой тематике. В книге из 146 ссылок только 5-6 на западные работы, хотя реально, в данном направлении число публикаций из СССР/России в процентном отношении составляет не более 1% (я имею в виду период реального развития тематики RC/HPRC, то есть с конца 90-х годов XX века, а не составление списка из сотен «работ» про «сферических коней в вакууме», датированных 60-80 годами). 6. Западные товарищи, в свою очередь, «в упор не видят» команду Каляева и Левина в своих работах. Поэтому, есть большая просьба к людям, которые знают реальное положение дел по этим проектам (да и всем остальным тоже), высказаться по данной теме. Возможен, конечно, вариант, что команда из Таганрога опередила западных разработчиков лет на 10-20, но мне что-то в это слабо верится .
|
|
|
|
|
Feb 14 2009, 22:32
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
К сожалению с сайтом www.parallel.ru какие-то проблемы - ссылки "совсем точно" дать сейчас не получается (в браузере все время www.parallel.ru отображается, сам сайт работает). Но можно посмотреть вот отсюда (www.parallel.ru) и при желании найти по теме "Компьютеры с реконфигурируемой архитектурой" (название раздела на сайте) кучу ссылок и информации и на работы и на проекты и т.п. также, достаточно погуглить по словам "каляев левин" и найдется достаточное количество информации. Что касается "в порядке значимости", то мне трудно указать, что у авторов более значимое, а что менее значимое. Наверное книга (указана в моем первом посте) "накрывает" все их остальные работы. Я потому и написал на форум, что из их работ полного понимания "а что там реально сделано то?!" не получил P.S. вот тут можно глянуть http://www.mvs.tsure.ru/publications.html - список публикаций, отсортированный по значимости похоже http://parallel.ru/FPGA/papers/rmvs.pdf - это книжка та самая еще - http://www.ict.edu.ru/ft/005788/review-hpc2008.pdf - крайне интересный документ, где по слову "реконфиг" находятся все ссылки на проекты команды из Таганрога
Сообщение отредактировал mikeT - Feb 14 2009, 22:44
|
|
|
|
|
Feb 14 2009, 23:08
|
Местный
  
Группа: Участник
Сообщений: 262
Регистрация: 3-04-07
Из: СПб
Пользователь №: 26 742

|
Цитата(mikeT @ Feb 15 2009, 01:32)  К сожалению с сайтом www.parallel.ru какие-то проблемы - ссылки "совсем точно" дать сейчас не получается До чего дожились,– иронически сказал Полесов,-вчера весь город обегал, плашек три восьмых дюйма достать не мог. Нету. Нет! А трамвай собираются пускать. ... Ильф. Петров. 12 стульев.
|
|
|
|
|
Feb 16 2009, 07:27
|

Местный
  
Группа: Свой
Сообщений: 216
Регистрация: 15-06-04
Из: Менделеево
Пользователь №: 30

|
Если это опять ни с чем ни совместимый Проц (intel/arm/sparc/mips/sh).... - Вероятнее всего, это малоперспективно, но с гораздо бОльшей защитой от вирусов. Все нииокр хороши (даже безрезультатные), если оплачиваются. Впрочем, если они сделают двоичную трансляцию ... http://www.mcst.ru/b_13.shtmlИз слабенького Эльбрус 90 микро можно хоть что сделать, хоть многопроцессорный выч комплекс, хоть кластер, хоть кпк- т.к. туда ставится linux, solaris, qnx и все идущее на sparc v8, v9.
|
|
|
|
|
Feb 16 2009, 08:08
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(gosha @ Feb 16 2009, 10:27)  Если это опять ни с чем ни совместимый Проц (intel/arm/sparc/mips/sh).... - Вероятнее всего, это малоперспективно, но с гораздо бОльшей защитой от вирусов. ... Суперкомпутер, это настолько вещь в себе, что с совместимостью можно не париться. Особенно, если он будет заточен под узкую задачу. Ну, там, ядрёный взрыв считать, погоду или гидро-газодинамику.
|
|
|
|
|
Feb 16 2009, 10:58
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Цитата(DmitryR @ Feb 16 2009, 14:15)  Тот факт, что они начали с изготовления собственной платы, а не взяли готовую (http://www.synplicity.com/products/haps/ например) говорит мне, что как раз в части алгоритмов там голяк. То есть деньги будут освоены, а в качестве результата будут показаны платы с каким-нибудь мутным софтом. Потому что купить готовое железо на порядок дешевле, и если оно нужно именно как база для обкатки софта - то так все и делают. Если делают не так - значит хотят подать железку как самоценность. Делают они подобные железяки с ооочень давно... Насколько я знаю еще с серии XC4000, ну и дошли до V5. Естественно накоплена некоторая куча наработок, которые не хочется терять... а на сколько готовое железо американского дяди подходит под имеющиеся аппаратные наработки - еще очень большой вопрос - тем более, если предположить, что наша команда идёт путем отличным от супостата (а это я исключать не могу). Как это звучит ни странно (для подобного рода устройств), но "железяки" Таганрогской команды покупаются (плохо или хорошо - не мне судить) - значит, всё-таки кто-то с ними работает. К сожалению, необходимо отметить, что сайт mvs.tsure.ru - находиться в подвешенном состоянии, т.к. TSURE (Таганрогского Государственного Радиотехнического Университета) уже нет. Эго в принудительном порядке влили в ЮФУ (Южный Федеральный Университет) и соответственно переименовали в ТТИ ЮФУ (Таганрогский Технологический Институт ЮФУ). За всеми этими передрягами плохо видно, что группа Левина несколько удалились от ТТИ ЮФУ. Если есть баАальшое желание узнать информацию от самих разработчиков, то думаю лучше им позвонить по телефону.
|
|
|
|
|
Feb 16 2009, 11:46
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(Boris_TS @ Feb 16 2009, 13:58)  а на сколько готовое железо американского дяди подходит под имеющиеся аппаратные наработки - еще очень большой вопрос - тем более, если предположить, что наша команда идёт путем отличным от супостата (а это я исключать не могу). Это известная отговорка: у американцев киты говно, на них ничего сделать нельзя, мы будем делать свои. Понятно что на стандартных китах обычно не откатать 100% идей, но 90% обычно можно. Можно еще, взяв кит за основу доделать к нему мелкие платки. Вобщем, было бы желание. Цитата(Boris_TS @ Feb 16 2009, 13:58)  Как это звучит ни странно (для подобного рода устройств), но "железяки" Таганрогской команды покупаются (плохо или хорошо - не мне судить) - значит, всё-таки кто-то с ними работает. Стомегагерцовые процессоры Элвиса тоже покупаются по $200 штука, но это IMHO ничего не значит. Не по доброй это все воле. Цитата(Boris_TS @ Feb 16 2009, 13:58)  К сожалению, необходимо отметить, что сайт mvs.tsure.ru - находиться в подвешенном состоянии, т.к. TSURE (Таганрогского Государственного Радиотехнического Университета) уже нет. Эго в принудительном порядке влили в ЮФУ (Южный Федеральный Университет) и соответственно переименовали в ТТИ ЮФУ (Таганрогский Технологический Институт ЮФУ). За всеми этими передрягами плохо видно, что группа Левина несколько удалились от ТТИ ЮФУ.
Если есть баАальшое желание узнать информацию от самих разработчиков, то думаю лучше им позвонить по телефону. Вот-вот, если бы это все было коммерчески интересно - и сайт бы был, и информация на нем.
|
|
|
|
|
Feb 16 2009, 12:44
|
Местный
  
Группа: Свой
Сообщений: 381
Регистрация: 27-07-08
Из: теплые края
Пользователь №: 39 233

|
Цитата(MrYuran @ Feb 16 2009, 14:37)  Киты - для студентов, которые хотят повторить какой-нибудь экзампл, но руки кривоваты. Вы видели "кит" по ссылке HardJoker-а? Хочу я посмотреть на студента с этим "китом" и на его "экзампл"
|
|
|
|
|
Feb 16 2009, 14:54
|
Знающий
   
Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827

|
А, вот оно: http://parallel.ru/FPGA/publications.htmlhttp://www.google.ru/search?hl=ru&neww...mp;aq=f&oq=А что, нормальные машинки. Обычные ускорители на ПЛИС, только с заранее продуманными соединениями по LVDS. Я только не понимаю, почему процессоры сильно уступают на вещественных вычислениях. Расширения SSE использовались? 64-битная ос и ручная оптимизация кода на ассемблере использовались? Печатные платы после изготовления теряют реконфигурируемость (Р), тем самым ограничивая показатель Р для произвольной задачи. Доступность внутри ПЛИС данных растет с увеличением скорости интерфейсов, поэтому лучше делать на LXT и т.п. Памяти желательно побольше и к каждой ПЛИС. Я не понимаю, в чем здесь вообще может быть новизна, в этой теме? Каждый, кому не все равно, может разработать такой комплекс, затратив примерно 5-10 человеко-лет (как мы ранее выяснили в другой ветке на форуме) и 1 млн ам долл. Железо тривиально, методы программирования тривиальны. Важен факт наличия рабочего ускорителя вычислений - да, важен. Чистое железо как раз лучше без методологий и графических редакторов, а в верилоге все нормально делается. Хотя, конечно, ISE из командной строки вполне можно вызвать и пересобрать проект из пользовательской программы. Даже сам выбор ПЛИС - Xilinx. Ну почему именно Xilinx? Обратите внимание на тактовую частоту - 250 МГц. Использованы схемы с малой задержкой в тактах? Прошивка неудачно ложится на структуры ПЛИС при высокой занятости кристалла?
|
|
|
|
|
Feb 16 2009, 14:55
|

Местный
  
Группа: Свой
Сообщений: 216
Регистрация: 15-06-04
Из: Менделеево
Пользователь №: 30

|
Цитата(mse @ Feb 16 2009, 11:08)  Суперкомпутер, это настолько вещь в себе, что с совместимостью можно не париться. Особенно, если он будет заточен под узкую задачу. Ну, там, ядрёный взрыв считать, погоду или гидро-газодинамику. М.б. Но делают их на power_pc, intel itanium ... Пример несовместимого суперкомпьютера в студию.
|
|
|
|
|
Feb 17 2009, 09:05
|
Гуру
     
Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741

|
Цитата(MrYuran @ Feb 17 2009, 10:51)  Сеня, про зайцев - неактуально! (С) флопсы давно уже петами меряют, а не терами Актуально и очень, когда они у тебя под столом стоят, а не петафлопсы на другом континетне, куда прорываться на счет приходиться как на ЕСку или БЭСМ6 в студенческие времена. Хотя если бюджет резиновый то набить тысячью такимх ящиков комнату и повязать их гигабитным эзернетом- вот и петафлопс с копейками. Вот только софта под такую архитектуру кластера пока ненаписали. НО в течении года- двух наверно появится- тогда кластера GPU-CPU-ethernet станут актуальны. А вообще в архитектуре суперкомпов сейчас имеет смысл плясать от решаемой задачи. Если это FEM, то соптимизировать одно процессорное устройство под физику узла меша очень пользительно. Т.е число акумуляторов равно числу физических переменных сетки, если это квантмех- есть аппаратный интегратор для узла по всему пространству меша итд. Скорость счета поднимается в разы, в виртекс влазит больше процессоров итд.
|
|
|
|
|
Feb 17 2009, 10:03
|

Профессионал
    
Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661

|
Цитата(mikeT @ Feb 15 2009, 00:53)  Я работал в достаточно серьезной западной конторе, которая занималась сотрудники западных фирм активно применяют фальшивые документы, дипломы - это к сожалению только одно что можно с полной уверенностью сказать о них. Проблемы многих на пост советском пространстве начались с попытки взаимодействия с западными "коллегами". У меня вобще складывается впечатление что большинство сотрудников западных фирм, прежде всего европейских это просто пойманные на краже. Цитата(mikeT @ Feb 15 2009, 01:32)  вот эта книжка "«Реконфигурируемые мультиконвейерные вычислительные структуры» (Каляев И.А., Левин И.И., Семерников Е.А., Шмойлов В.И.", и так далее ?
|
|
|
|
|
Feb 17 2009, 10:59
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
Цитата(khach @ Feb 17 2009, 15:05)  А вообще в архитектуре суперкомпов сейчас имеет смысл плясать от решаемой задачи. Если это FEM, то соптимизировать одно процессорное устройство под физику узла меша очень пользительно. Т.е число акумуляторов равно числу физических переменных сетки, если это квантмех- есть аппаратный интегратор для узла по всему пространству меша итд. Скорость счета поднимается в разы, в виртекс влазит больше процессоров итд. Именно в этом и весь цимес  Кстати, существуют ли на данный момент FPGA с ядрами FPU (Floating-Point Unit)? По аналогии с DSP блоками в существующих FGPA. Под ядром я в данном случае понимаю "тупой" блок умножителя и/или сумматора по стандарту IEEE-754-85.
Сообщение отредактировал mikeT - Feb 17 2009, 11:03
|
|
|
|
|
Feb 17 2009, 12:54
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
Цитата(DmitryR @ Feb 17 2009, 18:20)  Нет, потому что в FPGA IEEE-754-85 и так легко реализуется на нескольких умножителях с небольшим количеством управляющей логики, нет смысла сращивать умножители в менее универсальную структуру. К сожалению, Вы неправы: 1. ресурсы на реализацию IEEE-754-85 требуются довольно значительные, например смотрим (с сайта Альтеры) сколько ресусров требуется для Stratix III NIOS-II/f - 1100 ALUTs NIOS-II/s - 770 ALUTs alt_fp_add_sub - 1939 (!) ALUTs (double) alt_fp_mult - "всего" 296 ALUTs (double) У Xilinx примерно тоже самое, у сторонних разработчиков IP-ядер тоже не лучше. + к этому добавьте то, что скорость работы примерно на порядок меньше чем у "железных" процессоров (FPU блок) 2. Проблема эта "у них" (за бугром) осознана, отрефлексирована, причем в первую очередь именно людьми тесно связанными с HPC (High-Performance Computing) и по сути "промышленности" выдано "ТЗ", которое в двух словах звучит примерно так "сделайте нам структуры с FP ядрами, чтобы мы могли быстро считать". Скорость вырастет заметно, как за счет того что ядро стало монолитным, так и за счет сокращения потерь на роутинг (шины 64 битные будут уже заранее упакованы). Ну в общем см. "железные" решения типа той -же CUDA - и сравнивай скорость, хотя это конечно грубая прикидка. пара ссылок в тему: http://www.pldesignline.com/howto/202200714http://www.hpcwire.com/features/17896629.html?page=2
Сообщение отредактировал mikeT - Feb 17 2009, 13:04
|
|
|
|
|
Feb 18 2009, 05:49
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Мне удивительно, но тема ускорителей каких-либо вычислений на FPGA время от времени возникает. Раскажу одну историю:
Задача что-то обрабатывает с Фурье. Считает на 2-х процессорном opteron 2.2GHz секунд 50. Задача переписывается на другом языке для работы в кластере. Ускорение примерно N/2 раз. Где N-количество узлов кластера. Ф уложиться надо секунд в 5-6. Далее эту задачу решают Таганрог и я. Чтобы понять, как и что нужно считать, переписываю задачу на Си. Ничего толком не меняю, только исправляю ошибки и кодирую с учетом знания о кэше и его размере. Задача считается 8 секунд на одном процессоре. Меняю алгоритм на блочный, с размером блока, который бы поместился в FPGA и уж точно поместится в кэш процессора, специальными библиотеками, типа fftw не пользуюсь. На одном процессоре 3 секунды. По времени уложились. Но поскольку задача в том, чтобы сделать именно ускоритель и именно на FPGA, то делается ускоритель на pci stratix dev kit. В итоге, задача считается 0.1 секунды и упирается в шину PCIx, а если бы не уперлось в шину, то сразу уперлось бы в скорость памяти stratix, а чуть дальше в умножители. Таганрог вроде бы тоже задачу решил, но время они считают после загрузки данных внутрь. Еще раз, Данные сначала как-то загружаются, а вот потом они быстро считают. И потом данные опять как-то выгружаются. На таганрогской установке я не нашел быстрого интерфейса между сетью FPGA и чем-то внешним. Да и на любой FPGA-шной плате таких интерфейсов, дающих шанс ускорителю побороть процессор общего назначения, нет. Почему? Потому что на FPGA мало ножек или трансиверов. Узкое горло. Там широкое горло только одно - распределенная память. Я говорю про топовые stratix и virtex. Поэтому остаются только задачи типа малоразрядного Фурье, криптоанализ и т.п. Ни о каких плавающих точках речь идти не может. Я думаю, что таганрогские ускорители нужно использовать именно для криптоанализа, потому что данных при этом поступает мало, а работать с ними нужно много.
Зачем нужны FPGA ? Они нужны там, где важна быстрая реакция. Вот никакий nehalem не сможет среагировать за 10nS на внешнее событие. Коммутаторы можно делать, военное что-нибудь...
Удивительно, что про ускорители на FPGA заходит еще речь.
|
|
|
|
|
Feb 18 2009, 07:51
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
Цитата(Shtirlits @ Feb 18 2009, 11:49)  Мне удивительно, но тема ускорителей каких-либо вычислений на FPGA время от времени возникает. ... Да и на любой FPGA-шной плате таких интерфейсов, дающих шанс ускорителю побороть процессор общего назначения, нет. .... Поэтому остаются только задачи типа малоразрядного Фурье, криптоанализ и т.п. Ни о каких плавающих точках речь идти не может. ... Удивительно, что про ускорители на FPGA заходит еще речь. Как говорится, "а мужики то не знают" Напишите людям из консорциума http://www.openfpga.org/ и людям, курирующим проект RAMP (http://ramp.eecs.berkeley.edu/index.php?index), чтобы они бросали возиться с "ускорителями на FPGA" и сэкономили кучу миллиардов долларов. Если по существу: 1. Посмотрите по этим ссылкам состав участников (как организации и концерны, так и люди), спонсоров 2. Посмотрите, что уже РЕАЛЬНО сделано и сколько денег вложено. (эти ссылки - малая часть, верхушка айсберга) (!) отдельно посмотрите, что "мужики то и не планируют сворачивать разработки"! 3. Посмотрите, какие есть успехи, проблемы и несбывшиеся надежды. Это не "отсылка к авторитетному дяде" (типа, "а мой папа так говорит!" ), а просто попытка задуматься "если (в частности) Cray, General Electric, Intel, IBM, MIT, Stanford так серьезно роют и/или спонсируют в этом направлении и уже многое нарыли и сделали, то может быть не они такие тупые, а я в вопрос серьезно не вник?" Возможный ответ "там за бугром идиоты, а мы тут все умные" предлагаю не рассматривать, так как он не конструктивен и, более того, опасен для Росссии.
|
|
|
|
|
Feb 18 2009, 08:01
|

Профессионал
    
Группа: Свой
Сообщений: 1 724
Регистрация: 1-05-05
Из: Нью Крыжопыль
Пользователь №: 4 641

|
Цитата(mikeT @ Feb 18 2009, 10:51)  .....Возможный ответ "там за бугром идиоты, а мы тут все умные" предлагаю не рассматривать, так как он не конструктивен и, более того, опасен для Росссии. Ну что Вы, идиоты только у нас живут! Сам по себе бизнес по продаже суперкомпов - убыточное занятие по определению. Чаще всего это просто "дутие щёк" и распил госзаказов. Что у них, что и у нас. Не, суперкомпы нужны, конечно. Несколько штук на всю страну, пока. А то, что процессор шустрее фпга в разы - очевидно всем. Суперкомп на фпга можно рассматривать только как промежуточный вариант для разработки нужных ЭйСиКов и отладки алгоритмов. Но, без этого второго шага, первый останется просто развлечением для узкого круга "гениев" за гос. счёт.
|
|
|
|
|
Feb 18 2009, 08:40
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
Цитата(zzzzzzzz @ Feb 18 2009, 14:01)  Ну что Вы, идиоты только у нас живут!  Знаете, если серьезно, то поработав "там" достаточно долгое время, мне кажется, что у нас народ умнее и сообразительнее  (я имею в виду инженерные и научные кадры). Но это так - небольшой офтопик Цитата(zzzzzzzz @ Feb 18 2009, 14:01)  Сам по себе бизнес по продаже суперкомпов - убыточное занятие по определению. Чаще всего это просто "дутие щёк" и распил госзаказов. Что у них, что и у нас. Сомневаюсь, что "у них" весь рынок суперкомпов - это госзаказ. Также сильно сомневаюсь, что это "убыточное занятие по определению". Задач очень много, где это востребовано и оправдано коммерчески (применение суперкомпьютеров). Но в общем это оффтопик и, честно, говоря я на эту тему спорить не горю желанием. Цитата(zzzzzzzz @ Feb 18 2009, 14:01)  Не, суперкомпы нужны, конечно. Несколько штук на всю страну, пока. А то, что процессор шустрее фпга в разы - очевидно всем. На всех задачах "процессор шустрее фпга в разы"? "западные" люди приводят примеры, где наоборот FPGA шустрее в разы (с подробным описанием что и как делали и на чем). По ссылкам HPRC если поискать - много РЕАЛЬНЫХ примеров, как раз, и они "типичны" для супер-компьютинга задач. Вы считаете, что это все "обман трудящихся"? Цитата(zzzzzzzz @ Feb 18 2009, 14:01)  Суперкомп на фпга можно рассматривать только как промежуточный вариант для разработки нужных ЭйСиКов и отладки алгоритмов. Но, без этого второго шага, первый останется просто развлечением для узкого круга "гениев" за гос. счёт. Согласен, что фпга - самое то для "обкатки" сложных систем и отладки алгоритмов. Именно в этом основная идея проекта RAMP - обкатать очень сложные вычислительные системы на HPRC-системе. Но посмотрите по ссылкам, котрые я приводил, реальные примеры - тот же Cray - неужели это контора с ничего не понимающими инженерами, которые ради прикола FPGA поставили в суперкомп? Именно как вычислительный блок. Ну и не один Cray, далекон не один.
|
|
|
|
|
Feb 18 2009, 09:21
|

Профессионал
    
Группа: Свой
Сообщений: 1 724
Регистрация: 1-05-05
Из: Нью Крыжопыль
Пользователь №: 4 641

|
Цитата(Евгений Николаев @ Feb 18 2009, 12:06)  Полагаю, что производство ASICов экономически целесообразно только в немалых количествах. Да и технологически, наверное, не имеет смысла готовить производство ради нескольких штук. Решения на FPGA гибче и какие-то незначительные "фичи" можно затачивать под каждого конкретного заказчика и даже под конкретное единичное устройство. Это проще, быстрее и дешевле, нежели лепить новый силикон. Так было. Но, с каждым годом грань "большого количества" уменьшается стремительно. В конце концов, это вопрос экономический и политический. Я вот, к примеру, сейчас "клепаю" ASIC, который будет выпускаться только сотнями в год, скорее всего. Но, он нужен и его хотят. Также, где кончается фпга и начинается проц - тоже постепенно размываемая граница. Например, реконфигурируемый проц "Cell" можно рассматривать и как шаг в сторону фпга. А я-то говорил о том, что если отлаженный на фпга алгоритм перекинуть в ASIC, то ASIC будет шустрее в разы. Только даже за счет устранения "левых" промежуточных коммутаций и паразитов. Цитата(mikeT @ Feb 18 2009, 11:40)  .... Но посмотрите по ссылкам, котрые я приводил, реальные примеры - тот же Cray - неужели это контора с ничего не понимающими инженерами, которые ради прикола FPGA поставили в суперкомп? Именно как вычислительный блок. Ну и не один Cray, далекон не один. Скорее всего, это не от хорошей жизни - просто не успели испечь чипы, и, как обычно, выпустили, по сути, прототип. Так что, это не приколы, а "подпорки".
|
|
|
|
|
Feb 18 2009, 10:03
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(zzzzzzzz @ Feb 18 2009, 12:21)  Так было. Но, с каждым годом грань "большого количества" уменьшается стремительно. В конце концов, это вопрос экономический и политический. Я вот, к примеру, сейчас "клепаю" ASIC, который будет выпускаться только сотнями в год, скорее всего. Но, он нужен и его хотят. Грань "большого количества" с каждым годом только увеличивается, так как стоимость масок только растет и на сегодня уже измеряется миллионами долларов за комплект. ASIC сотнями в год - это политика чистой воды, 100% экономически неоправдано, даже если по MPW гнать.
|
|
|
|
|
Feb 18 2009, 10:11
|
Знающий
   
Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827

|
Есть несколько российский фирм, которые разрабатывают аналогичные ускорители вычислений на ПЛИС. Бюджет малость подпиливается, но железо и софт все же есть и они работают. Железо современное, Плисы свежие. Stratix 4 и Virtex 6 на очереди, кстати. ASICи делаются. Плохие результаты в вычислениях, как отметил Штирлиц, объясняются плохим качеством программ и незнанием целевой архитектуры, например, x86.
Так в чем, собственно, дело, товарищи? В чем вопрос? Что делать? Нужно разработать всеобъемлющий язык с ООП с расширениями для ускорителей на ПЛИС? ПЛИС-сопроцессор пустить в массы, выпустив к нему нехитрый SDK?
|
|
|
|
|
Feb 18 2009, 10:55
|

Профессионал
    
Группа: Свой
Сообщений: 1 724
Регистрация: 1-05-05
Из: Нью Крыжопыль
Пользователь №: 4 641

|
Цитата(DmitryR @ Feb 18 2009, 13:03)  Грань "большого количества" с каждым годом только увеличивается, так как стоимость масок только растет и на сегодня уже измеряется миллионами долларов за комплект. ASIC сотнями в год - это политика чистой воды, 100% экономически неоправдано, даже если по MPW гнать. Подумайте - что такое миллион бяксов, при бюджете разработки в несколько сотен лимонов? Да 10 чипов будут печь, не проблема. Экономический эффект будет всё равно. Да и политика - тоже бизнес. Хотя, всё это офф, пожалуй. ПС. И потом, кто заставляет лезть в супер-новые техпроцессы? Еще и относительно старые не распаханы. И по ним, в шаттлах, реально делать чудеса за сущие копейки. Единственное преимущество фпга - скорость реализации продукта. А это преимущество, при желании, легко устраняется финансированием - девять "беременных" дизайнеров могут родить за один месяц, в отличии от девяти беременных женщин, образно говоря.
|
|
|
|
|
Feb 18 2009, 11:54
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
Цитата(jojo @ Feb 18 2009, 16:11)  Есть несколько российский фирм, которые разрабатывают аналогичные ускорители вычислений на ПЛИС. Не могли бы Вы их назвать, если не секрет? Если навскидку помните, конечно. Цитата(jojo @ Feb 18 2009, 16:11)  Так в чем, собственно, дело, товарищи? В чем вопрос? Что делать? Нужно разработать всеобъемлющий язык с ООП с расширениями для ускорителей на ПЛИС? ПЛИС-сопроцессор пустить в массы, выпустив к нему нехитрый SDK? Да. Основная проблема - именно разработать МЕТОДОЛОГИЮ проектирования и средства разработки (а перед этим методологию разработки таких средств разработки). Грубо говоря, что-то типа такого - "ученый" пишет свою программу на Фортране для моделирования Навье-Стокса, а некий чудо-софтвар волшебным образом генерит Configware (выч-блоки) и Flowware (потоки данных). На конкретной задаче все ресурсы кристалла (грубо говоря, в пределе - куча из N миллиардов транзисторов) кидается на то, чтобы поставить 2000 умножителей и 15 сумматоров + завести между ними специфичные для данной задачи пути прокачки данных. Именно для этой конкретной задачи ничего кроме этих 2000 умножителей и 15 сумматоров не надо, поэтому вся "масса" (ресурсы) брошены на это. Нет необходимости во всем остальном. Это, конечно, пока фантастика - я имею в виду решение в общем виде, а не примеры с C2H и т.п. Если посмотреть что пишут про эту проблему люди из не самых маленьких контор и не самых отсталых научных центров, то пока, говоря по правде, нет такого решения. Вот почему я и поднял такую тему - в Таганроге, по их словам, разработан язык Коламо, который эту проблему снимаетP.S. Если кому интересно - некоторый обзор проблем и "головняков" дан в статье "Is high-performance reconfigurable computing the next supercomputing paradigm?" - находится по гуглю легко. Там разные люди свое видение проблемы и перспектив накидали. Спектр ораторов весьма широкий - от человека из Xilinx (босс какой-то вроде, ну понятно - ксайлинкс тут заинтересовнное лицо  ) до представителей из "Сандии" (http://www.sandia.gov/).
|
|
|
|
|
Feb 18 2009, 12:27
|
Знающий
   
Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827

|
Цитата(mikeT @ Feb 18 2009, 14:54)  Не могли бы Вы их назвать, если не секрет? Если навскидку помните, конечно. Не могу, т.к. нельзя. Все структуры делаются вручную в САПР ПЛИС. Чудо-софтвара нет. Если Таганрог продвинулся в этом вопросе - можно у них что-нибудь прикупить, если продадут.
|
|
|
|
|
Feb 18 2009, 13:48
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Судя по этому форуму, не только буржуйские мужики не знают. На сайтах я вижу peaple, publications, sponsors. Не вижу download development tools. Вижу, что люди собрались и трындят, хотя, денег вот на это добыли, уважаю. Может, плохо искал, тогда извиняюсь, покажите, где у них результаты, где показатели лучше, чем на процессорах общего назначения?
Продолжу рассматривать свой случай, так как это характерный пример.
Итак, что происходило:
1) прикладной специалист пишет программу на Си, допускает ошибочку в комплексном умножении, не лучшим способом выбирает метод, не учитывает ошибок округления. Запомним этого человека, закроем глаза не перечисленные ошибки. Он взорвал себе мозг и понял, как нужно считать!
2) далее специалист по системе динамического распараллеливания не вдаваясь в подробности (важно!) подправил программу для кластера. Не получилось. Долго и дорого и по прежнему с ошибками.
3) программу дали специалисту по архитектурам, по x86 и fpga. Так вот пока я не разобрался что именно мы считаем, не исправил ошибку, не определил допустимые ошибки округления, не сменил метод вычислений - тоже получалось плохо, в fpga не лезло, на процессоре считалось долго. А когда я все это сделал, то и opteron вполне справился. Один. Без всяких ускорителей за тысячи долларов.
Конечно, комплекс из драйвера, прикладной задачи и ускорителя на stratix в итоге обогнал opteron раз в 30, но opteron считал в floating point, а stratix в числах с фиксированной точкой и мантиссой меньше 16 бит! Я уверен, что если использовать процессор по назначению, то есть, применить вылизанную годами библиотеку fftw, а еще лучше, написать целочисленный вариант, полный аналог сделанного в stratix с использованием SIMD-команд. Вот тут и шина не помешает и память. Думаю, что все упрется в чтение файла с диска.
О чем тут речь? О том, что избежать погружения в прикладную область очень трудно. А погрузившись нужно не утратить информацию о платформе. Только имея информацию о задаче и о платформе можно сделать что-то быстрое.
Я знаю одно решение - сесть и изучить все это, потратив месяцы для разработчиков или сотни тысяч долларов для работодателей и бизнессменов. Знаю и другое - брать программу у прикладного программиста со всеми его методами и ошибками, преобразоывавть так, чтобы считать с точностью до бита как он. Но быстрее.
Однако, средств, позволяющих взять программу на C или FORTRAN и превратить ее в bitstream для FPGA+драйвер+прикладная задача - я не знаю. Ну, есть математические пакеты, которые для некоторых задач могут сделать прошивку для FPGA, не изучал и сомневаюсь в возможности применения. Возможно, напрасно.
А раз так, то остается только писать, переписывать и отлаживать, постепенно погружаясь в прикладную область и в глюки платформы. Хорошо, если есть халявный ресурс в виде студентов или еще чего-то такого, что готово писать и переписывать, да еще и обучено как надо.
Возможно, подобные ситуации с халявным программистским ресурсом создают иллюзию, что на FPGA можно что-то там ускорять, просто запаять микросхему и оно сразу ускориться. Это иллюзия. Сначала придется повозиться запаять, а потом кому-то придется потрудиться и запрограммировать.
Попытки что-то надстроить над структурой FPGA, чтобы скрыть тонкости, однозначно приведут к снижению скорости работы. Кажется, таганрогская система программирования в начале и была надстройкой, но из-за ужасных показателей от нее отказались.
Да, а еще ведь тайминги могут не получиться нужные! Это же как у пожарных, работа отличная, но как place & route, так хоть увольняйся. Ну и как быстро объяснить математику про setup-time и hold-time и про почему оно не может быть размещено рядом из-за разных clock_enable сигналов? А быстро объяснить нельзя, а если не понимать, то получится плохо. Халявных студентов тоже касается.
Еще раз, чуть более внятно: Для успеха нужно 2 части знаний, 1) о задаче 2) о платформе. Так вот, 2 часть в FPGA большая. Её нужно исхитриться куда-то засунуть, в голову разработчику или в средство разработки. А голова у разработчика хоть и выглядит резиновой, краник туда небольшой ведет. Все учесть не получается и в результате ускорения может не получиться. У процессора 2-я часть меньше, во всяком случае, голов и средств разработки с загруженным знанием о процессоре больше на рынке. В результате, за одинаковые деньги и время на CPU задача начнет считаться существенно раньше и будет считаться быстрее, чем на FPGA.
К экономической целесообразности все это не имеет никакого отношения.
PS: но если хочется ускоритель, да на FPGA, да сложная задача и время не ограничено и есть евросумма с шестью нулями - добро пожаловать!
|
|
|
|
|
Feb 18 2009, 14:30
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
Цитата(Shtirlits @ Feb 18 2009, 19:48)  Может, плохо искал, тогда извиняюсь, покажите, где у них результаты, где показатели лучше, чем на процессорах общего назначения? Давайте я один пример кину, ладно? но при желании Вы сами их найдете очень много. http://www.hindawi.com/GetArticle.aspx?doi.../ASP/2006/97950"RigidMolecule Docking: FPGA Reconfiguration for Alternative Force Laws". Это конкретное приложение (хотя сам метод, как говорят спецы, с которыми я общался - устаревший). Ускорение по сравнению с 3 ГГц процессором "общего назначения" в 130-1100(!) раз. на одном XC2VP70-5.
|
|
|
|
|
Feb 18 2009, 14:43
|

Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852

|
Если уже зашла речь о "дешевых" вычислениях, стоит вспомнить про вычислительные возможности видеокарт, например использование технологии CUDA, к тому же есть реализация БПФ на CUDA, которая позволяет вычислять несколько одномерных БПФ одновременно. К тому же ядра видеороцессоров оптимизированы для вычислений с плавающей запятой, шина между графическим чипом широка (256 или 512 бит), работает на высокой частоте. Может быть, это и извращения, но затраты на оборудование и на работу будут куда меньше, чем при использовании FPGA.
|
|
|
|
|
Feb 18 2009, 15:14
|
Знающий
   
Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827

|
Цитата(mikeT @ Feb 18 2009, 17:30)  http://www.hindawi.com/GetArticle.aspx?doi.../ASP/2006/97950"RigidMolecule Docking: FPGA Reconfiguration for Alternative Force Laws". Это конкретное приложение (хотя сам метод, как говорят спецы, с которыми я общался - устаревший). Ускорение по сравнению с 3 ГГц процессором "общего назначения" в 130-1100(!) раз. на одном XC2VP70-5. Пара мыслей: - PC correlation performance на уровне 0.2E9 8-битных MAC для 3 ГГц Xeon низковат, пару порядков за счет ядер, конвейера и MMX можно изыскать. - частота 60-90 МГц для 2-7 битных вычислений представляется маловатой. Уверен, никто здесь не будет утверждать, что ускорение на ПЛИС вещь по определению ненужная. Но заметно, как прямо хочется им в 100000 раз уделать компьютер, до конца с ним не поборовшись. Да, уделали, но не в 1000 раз, а в 10, что само по себе неплохо, хотя и на 90 МГц в Virtex 2. Остается уделать их на Virtex 5 или на 10 компьютерах. --- Где-то мне попадалась реклама про нечто от Intel вроде КУДЫ, только с x86 инструкциями. Если вдруг такая штука выйдет, тогда будет интересно. Из-за всевозможных проблем инструментов для сборки проектов ПЛИС любая высокоуровневая оболочка обречена сегодня.
|
|
|
|
|
Feb 18 2009, 16:15
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
Цитата(sysel @ Feb 18 2009, 20:43)  Если уже зашла речь о "дешевых" вычислениях, стоит вспомнить про вычислительные возможности видеокарт, например использование технологии CUDA, к тому же есть реализация БПФ на CUDA, которая позволяет вычислять несколько одномерных БПФ одновременно. К тому же ядра видеороцессоров оптимизированы для вычислений с плавающей запятой, шина между графическим чипом широка (256 или 512 бит), работает на высокой частоте. Может быть, это и извращения, но затраты на оборудование и на работу будут куда меньше, чем при использовании FPGA. Это не извращения. Вы все правильно сказали. На CUDA реально удобно и быстро все это считать. Несколько мыслей по этому поводу: 1. CUDA - закрытая вещь. То есть чип от NVIDIA вы не купите и не поставите на свою плату. Даже документация дальше определенного уровня (детализации, специализации) недоступна. Эта проблема, возможно будет снята с "вводом в эксплуатацию" OpenCL. В общем, считаем, что этой проблемы нет 2. CUDA - это "жесткая" струкутра. Во-первых, и по своей сути - ну не измените вы DataFlow наиболее оптимально под задачу, и "в мелочах" (но важных) - то что ядра объединены в 8-ки (SIMD) не есть гуд для ряда задач. Просто, народ, запуская КУДу получает РЕАЛЬНОЕ ускорение в 10-100 раз и прыгает от радости. Немного кто задумывается, что это не предел 3. CUDA - это опять же "фон-Нейман" (в самом широком смысле этого слова - то есть "принцип хранимой программы"), что тянет за собой накладняки на декодирование инструкций, на обеспечение извлечений этих инструкций, на поддержку механизма работы с памятью и т.п. Представьте тперь, что у вас задача сводится тупо к вдуванию потока данных на 100 умножителей - ну не нужно вам в принципе ничего декодировать - заранее известно, что нужно тупо умножать, но на предельной скорости и далее лить, например на сумматоры. Теперь представьте, что мы сделали среднезернистую реконфигурируемую систему (чип), который содержит на борту 500 ядер с FPU, но с возможностью "программирования" DataPath между ними и, возможно, с какой-то элементарной программируемостью логики работы. Рабочая частота должна быть не хуже чем у КУДы, ну или не намного хуже - пусть спецы по разработке чипов скажут - так ли это? Я исхожу из того, что мы проигрываем в том, что в чипе есть доп-элементы необходимые на реконфигурацию (но средне/крупнозернистую, а не мелкозернистую как в фпга), но зато нет сложных процессорных ядер. Получается система с производительностью не хуже чем КУДА, но намного более гибкая для широкого класса задач (не для всех). Реализуемость таких систем? А почему нет? Если КУДу сделали, то тут вроде почти тоже самое. "Целочисленные" аналоги? Ну, например, MathStar (умер правда) и Ambric (умирает похоже). И еще вроде много таких. Цитата(jojo @ Feb 18 2009, 21:14)  Пара мыслей: - PC correlation performance на уровне 0.2E9 8-битных MAC для 3 ГГц Xeon низковат, пару порядков за счет ядер, конвейера и MMX можно изыскать. - частота 60-90 МГц для 2-7 битных вычислений представляется маловатой.
Уверен, никто здесь не будет утверждать, что ускорение на ПЛИС вещь по определению ненужная. Но заметно, как прямо хочется им в 100000 раз уделать компьютер, до конца с ним не поборовшись. Может просто не умеют  Цитата(jojo @ Feb 18 2009, 21:14)  Да, уделали, но не в 1000 раз, а в 10, что само по себе неплохо, хотя и на 90 МГц в Virtex 2. Остается уделать их на Virtex 5 или на 10 компьютерах. Уделывают. Поверьте. При желании Вы все это найдете. Именно на задачах типа этой,а на задачах где нужны какие-ниубдь трехбитные сумматоры с обратными связями (попадалось что-то подобное тоже откуда-то из генетики вроде) вообще рвут в клочья ну вот еще - честно, говоря, не знаю насколько это круто с точки зрения генетики (спрошу специально у спецов), но не думаю что туфта http://private.ecit.qub.ac.uk/MSRC/Wednesd...li_OakRidge.pdfЦитата(jojo @ Feb 18 2009, 21:14)  Из-за всевозможных проблем инструментов для сборки проектов ПЛИС любая высокоуровневая оболочка обречена сегодня. Ключевое слово "сегодня". Давайте в будущее с оптимизмом смотреть В качестве аналогии приведу маленький пример: в книге "Dragon Book" (классика по разработке компиляторов - автор Ахо) в введении написано, что первый компилятор Фортрана потребовал 18 человеко-лет. С точки зрения сегодняшнего дня, это компилятор предельно простой. Ахо пишет, что сегодня компилятор С++ (может не самый крутой, но достаточно серьезный) может написать толковый студент за семестр (я точно не напишу ни за семестр, ни за два  ). Компилятор фортрана писали люди "класса" Джона Бэкуса (http://en.wikipedia.org/wiki/John_Backus). Вы верите в то, что студент умнее команды Бэкуса? Нет, конечно. Просто за 50 лет куча людей пропахала методологию разработки компиляторов и создала мощный фундамент, который РЕАЛЬНО работает! Так почему нельзя тоже самое сделать для ПЛИС?! P.S. Может Коламо и есть тот самый прорыв?
|
|
|
|
|
Feb 18 2009, 20:22
|
Знающий
   
Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827

|
Да, действительно, LRB, т.е. Larrabee.
У быстрых синтезированных FPU большая задержка в тактах, 8-12. Это накладывает искусственный отпечаток многопоточности на алгоритм свертки.
Кроме того, нельзя обделять целочисленные алгоритмы. Тут - да, на 1...6-битовых- операциях в плис - раздолье.
По поводу существенного улучшения софта ПЛИС - все еще нет полноценной многопоточной сборки проекта. Куда им еще методологию, чудо софтвер. Представляю, сколько часов будут собираться проекты в самых емких ПЛИС, которые мы, очевидно, выберем.
Будем надеяться на лучшее.
|
|
|
|
|
Feb 19 2009, 06:06
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Цитата(jojo @ Feb 18 2009, 23:22)  Представляю, сколько часов будут собираться проекты в самых емких ПЛИС, которые мы, очевидно, выберем. Время сборки будет обратно пропорционально времени, проведенному с проектом. Сначала 3-е суток, под конец полчаса и меньше. Модульная сборка rloc, logic lock, hard macro, или как оно будет у вас называться, сильно ускоряет работу, но требует загрузки в голову.
|
|
|
|
|
Feb 19 2009, 08:36
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Цитата(mse @ Feb 19 2009, 10:03)  Ну да, экстракт кошемира. Там же и написано, что virtex-5, программируется на СИ-подобных языках. То есть, в общем случае вы не можете взять программу для PC и не модифицируя ее и не изучая эти самые Handel-C и Mitrion-C затащить в FPGA. Изучение потребует энергии и времени. Но если эту энергию потратить в мирных целях, то есть, на оптимизацию математических методов, алгоритма и кода для PC или, еще лучше, для CELL, то будет результат на порядки лучше, чем в FPGA. Еще раз, FPGA побеждает процессор только низкой задержкой от ножек к ножкам. Ну и для прототипирования годится.
|
|
|
|
|
Feb 19 2009, 13:24
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата(Shtirlits @ Feb 19 2009, 11:36)  Ну да, экстракт кошемира. Там же и написано, что virtex-5, программируется на СИ-подобных языках. То есть, в общем случае вы не можете взять программу для PC и не модифицируя ее и не изучая эти самые Handel-C и Mitrion-C затащить в FPGA. Изучение потребует энергии и времени. Но если эту энергию потратить в мирных целях, то есть, на оптимизацию математических методов, алгоритма и кода для PC или, еще лучше, для CELL, то будет результат на порядки лучше, чем в FPGA. Еще раз, FPGA побеждает процессор только низкой задержкой от ножек к ножкам. Ну и для прототипирования годится. Речь, ваще-то идёт о СПЕЦИАЛИЗИРОВАННЫХ сопроцессорах. Что, вполне естественно, предполагает глубокое знание предмета и достаточно нишевое применение. Так что и учиться, и модифицировать придётся по-любому. В ПДФ-ке, кстати, описана байда, имеющая гипертранспортные линки, т.е. с точки зрения интерконнекта, она мало чем отличается от ЦПУ.
|
|
|
|
|
Feb 19 2009, 13:32
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
Цитата(jojo @ Feb 19 2009, 17:16)  Скажем, Virtex 5-50t = 28800 LUT * пусть 400 МГц = 11,520,000,000,000 шестибитовых операций (чертова прорва операций, надо отметить). Кому эти операции в таком чистом виде нужны - тому повезло  Клеточные автоматы? На youtube ролики есть - студенты прикалываются - на FPGA что-то подобное сделано (Life Game типа). Вроде бы на них (клеточных автоматах) что-то серьезное делают, но у меня познания дилетанта в этой сфере
|
|
|
|
|
Feb 19 2009, 15:35
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Цитата(mse @ Feb 19 2009, 16:24)  В ПДФ-ке, кстати, описана байда, имеющая гипертранспортные линки... На virtex-5 Hypertransport можно сделать только 500MHz, скорее всего, 2 байта. То есть, 2*10^9 Byte/sec в каждую сторону грязными. Реально около 1.7*10^9 Byte/sec если очень постараться. Сейчас выгоднее FPGA цеплять через PCI-e версии 2, потому что из AMD-шных процессоров торчат линки шириной 2 байта, 4-х байтовых нет, но FPGA не умеет работать с source synchronous сигналами так быстро, как умеет процессор и микросхемы чипсета. Вот и получается, что interconnect имеет большую пропускную способность, чем ускоритель, и меньшая латентность hypertrasport играет меньшую роль. Подключение ускорителя к AMD-шному процессору после чипсета по PCI-e и вовсе лишает затею смысла. Новые FPGA как-то не сильно позволяют разбежаться, скорости вроде бы растут, памяти clock manager-ов, а вот ввод-вывод по прежнему медленный и шумный. Вот если бы была FPGA, способная подключиться напряму на полной скорости к HT или QuickPath, набитая сотнями мелких банков памяти по паре килобайт, сотнями 80-битных умножителей и сумматоров для чисел с плавающей точкой и остальной радостью, чтобы все это работало хотя бы на гигагерце и жило в небольшом корпусе в 1152 ноги. Вот это был бы ускоритель. Да.
|
|
|
|
|
Feb 19 2009, 15:53
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
Цитата(Shtirlits @ Feb 19 2009, 21:35)  Вот если бы была FPGA, способная подключиться напряму на полной скорости к HT или QuickPath, набитая сотнями мелких банков памяти по паре килобайт, сотнями 80-битных умножителей и сумматоров для чисел с плавающей точкой и остальной радостью, чтобы все это работало хотя бы на гигагерце и жило в небольшом корпусе в 1152 ноги. Вот это был бы ускоритель. Да. Во-во! В точку (сама идея, детали можно обсуждать)! P.S. Еще добавить возможность реконфигурации datapath между ядрами FP Но FPGA крайне полезна, чтобы такую штуку (и тем более систему из "эн" таких штук) смоделировать в реале - посмотрите ради интереса инфу по проекту RAMP. Только у них нацеленность на моделирование классических суперкомпов. P.P.S. А сколько практически можно прокачать через самую-самую толстую из имеющихся FPGA при соединении chip-chip (типа все пины если задействовать)?
|
|
|
|
|
Feb 19 2009, 16:14
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Цитата(mikeT @ Feb 19 2009, 18:53)  P.P.S. А сколько практически можно прокачать через самую-самую толстую из имеющихся FPGA при соединении chip-chip (типа все пины если задействовать)? Самый жирный stratix-IV GT может прокачать 47 гигабайт в секунду. К шинам столько по простому не подключить, так как для PCI-e или infiniband останется 12 гигабайт/сек полноценных трансиверов и PCI-e ядер или еще меньше. А чтобы увеличить трафик нужно так помучаться, что за это время выйдет еще пара поколений FPGA и процессоров. Вот интерконнект сделать на этом можно, но кому ж оно надо? (в смысле, кто деньги будет тратить, а не пилить). PS: соединять через MultiGigabit-трансиверы выходит жирнее и проще, чем через LVDS-ные трансиверы.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|