реклама на сайте
подробности

 
 
> Parallel computing FPGA
nachinayuschiy
сообщение May 13 2009, 08:53
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 11-09-08
Пользователь №: 40 123



Нужно в учебный студенческих целях паписать статью о параллельных вычислениях в ПЛИС, о принципах параллелизма и прочее что с этим связано. Сейчас собираю материал по этому поводу. Не поделитесь интересными и полезными источниками?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 11)
DmitryR
сообщение May 13 2009, 10:40
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Принципиально сами ПЛИС ничего нового именно в параллельные вычисления не вносят. Они могут динамически реконфигурироваться, но это используется нечасто (так как сложно в реализации), и не является опять же фишкой именно параллелизма. Поэтому вы лучше поищите в форумах по вычислениям, а потом просто перенесите эти рассуждения применительно к ПЛИС. То есть если вы тут спросите более конкретно, например какой тип вычислений лучше организовать в ПЛИС, тот или этот вам быстрее и предметнее ответят.
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение May 13 2009, 13:29
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Простые пример, от чего бы я начал "копать":
1. f= x1 + y1 + x2 + y2 +... xn + yn
Как будет считать проц? В простейшем случае - по порядку, плюсик за плюсиком. Те, что с двумя АЛУ - чуть оптимальнее.
А ПЛИС может и так: f1 = x1 + y1, одновременно с этим f2 = x2 + y2 и т.д., потом тоже самое f12 = f1 + f2 по принципу пирамиды.
Очень хорошо воспринимается на примере счёта такой суммы одним студентом, например, и целой группой с заранее разбитыми слагаемыми. Сразу понимаешь прирост в скорости и повышение запросов на ресурсы и стоимость (кормить же надо группу smile.gif ).
Но это примитивно.
2. Вычисление с применением последовательных итераций (метод наименьших квадратов в n-мерном пространстве, допустим, где несколько координат). Каждый этап вычисления можно реализовать на своём конвеере. Для наглядности опять на студентах:
первый студент (С1) считает первую операцию (О1), второй студент на основе его результата - вторую (О2)... Так просчитывается вся первая итерация (И1). Но когда начинает считать второй студент (С2) свою О2И1 - первому то С1 уже делать нечего и он может начинать считать О1И2 и т.д. Этакий конвеер конвееров. В отличие от процов, в этом конвеере одновременно выполняются однотипные операции (как если бы было 10-100 АЛУ). Это уже красивее, но какой-то изюминки не хватает.
3. Лично мне изюминкой видится возможность параллельного хода по нескольким ветвлением с постпроверкой условия, особенно, если условие вычисляется слижком уж долго. Параллельно идёт вычисление условия и подготовка реакций и вспомогательные вычисления для любого из случаев. И, в общем то, число ветвлений может быть достаточно велико. Опять-таки, пример со студентами - каждый пишет "бомбу" только на 1 билет, а на экзамене передаёт свой ответ - нуждающемуся smile.gif Выйгрыш по времени подготовки ответа - очевиден, воспитательную сторону дела - опускаем.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
nachinayuschiy
сообщение May 14 2009, 20:15
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 11-09-08
Пользователь №: 40 123



Очень удачные размышления, спасибо вам. а ссылочками в тему не владеете? если есть что-то подобное про что вы сейчас пишете только представленное в виде статей, буду очень благодарен.
Go to the top of the page
 
+Quote Post
DeadMoroz
сообщение May 14 2009, 23:29
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-02-05
Пользователь №: 2 391



Такая вот например тема была:
http://electronix.ru/forum/index.php?showtopic=59302
В том числе там и ссылочка есть на книжку отечественную.
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение May 15 2009, 04:58
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Ссылочек нет. Это личные размышления от 10-летней работы с CPLD/FPGA.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
nachinayuschiy
сообщение May 24 2009, 20:45
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 11-09-08
Пользователь №: 40 123



Евгений Николаев, а не могли бы вы ещё озвучить несколько примеров со своего опыта аналогичных тем, что вы приводили в предпоследнем посте. Очень уж заинтересовали ваши идем. smile.gif
Go to the top of the page
 
+Quote Post
syoma
сообщение May 28 2009, 12:59
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Если получите доступ в Свои, то я там забросил семинар Xilinx по DSP с использованием ПЛИС.
http://electronix.ru/forum/index.php?showtopic=45127

В принципе смысл сводится к тому, что в ПЛИС можно вырастить сколько угодно умножителей и сумматоров. При этом даже самый навороченный DSP будет переплюнут на порядки. Внизу эта тема и пдф с производительностью
http://electronix.ru/forum/index.php?showtopic=50650
Go to the top of the page
 
+Quote Post
nachinayuschiy
сообщение Jun 4 2009, 14:54
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 11-09-08
Пользователь №: 40 123



У меня вопрос, существуют ли САПРы производящие оптимизацию кода по прнципу параллелизма? Если да то где про это можно почитать?
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Jun 5 2009, 06:47
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Насколько я понимаю, Вам нужен теоретический подход, "писабельная" информация. Не скажу за всех присутствующих, но я инженер-практик и многие сведения находятся только в сознании в форме близкой к интуиции, а вовсе не тексту статей.
Статьи, наверняка, по этим темам есть, но их коллекционированием не занимаюсь.
FPGA'шные САПРы как раз и оптимизируют параллельные конструкции, т.е. то, что такие САПР существуют - это однозначно smile.gif


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
nachinayuschiy
сообщение Jun 5 2009, 14:22
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 11-09-08
Пользователь №: 40 123



Евгений Николаев, мне просто интересно есть САПРы которые делают то что вы предложили в примерах?
Go to the top of the page
 
+Quote Post
dvladim
сообщение Jun 6 2009, 05:57
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(nachinayuschiy @ Jun 5 2009, 18:22) *
Евгений Николаев, мне просто интересно есть САПРы которые делают то что вы предложили в примерах?

САПР сделает то, что вы ему описали. Вы же не будете САПРу на русском писать? Вы ему описываете поведение на Verilog или там еще на чем-нибудь. Опишете последовательные вычисления - получите последовательные, опишете параллельные - получите параллельные. Реализацию делаете вы, а не САПР.
Это я насчет САПРов производителей ПЛИС (Altera Xilinx ...)

А так чтобы софт сам выбрал реализацию - это ближе с синтезу с SystemC, но это дело как-то заглохло ввиду низкой эффективности по сравненю с ручной реализацией.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 14:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01424 секунд с 7
ELECTRONIX ©2004-2016