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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Фришный мультипроцессор в ПЛИС, есть ли такой?
FROL_256
сообщение Mar 6 2011, 21:34
Сообщение #1


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

Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274



Доброе время суток. Меня интересует встречал ли кто бесплатный (ну или условно-бесплатный) мультипроцессор для ПЛИС со следующими характеристиками:
1) Исходники на VHDL
2) поддержка плавающей точки
3) компилятор хотя бы какой-нибудь, хоть с чего-нибудь

Собственно, обычные процессоры для ПЛИС не устраивают тем, что на них очень неэффективно будут выполняться операции, в которых велика длинна конвейера.
В то же время, длинна конвейера для мультипроцессора абсолютно неважна (т.к. он одновременно выполняет множество потоков и зависимости по данным нет).
Я подумал, что наверняка должны быть такие, но сам пока не нашел.

Спасибо!

Сообщение отредактировал FROL_256 - Mar 6 2011, 21:35
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Mar 6 2011, 22:00
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Не встречал.
Считаю, что из трех понятий - ПЛИС, плавающая_точка и производительность- одно лишнее.
В некоторых специальных случаях, бывают исключения.
Но чтобы победить конкурентов по цене, потреблению или производительности, нужна хитрая задача, 81-битные или 129-ти битные числа, а еще лучше, 21-битные. Ну и т.п. случаи, когда руками оптимизированный конвейер плотно руками же утрамбован в аккуратный квадратик, который размножен на всю микросхему.

Потому и не кусают (С)
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Mar 6 2011, 23:46
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(FROL_256 @ Mar 7 2011, 03:34) *
Доброе время суток. Меня интересует встречал ли кто бесплатный (ну или условно-бесплатный) мультипроцессор для ПЛИС со следующими характеристиками:
1) Исходники на VHDL
2) поддержка плавающей точки
3) компилятор хотя бы какой-нибудь, хоть с чего-нибудь

opensparc t1, t2?
Go to the top of the page
 
+Quote Post
FROL_256
сообщение Mar 7 2011, 12:41
Сообщение #4


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

Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274



Цитата(vadimuzzz @ Mar 7 2011, 02:46) *
opensparc t1, t2?


О, похоже на то что нужно, спасибо! Буду изучать.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Mar 7 2011, 14:19
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



попадалась как-то ссылка, что под FPGA opensparc тюнить надо. по-моему на гуглокоде видел пример, но точно не скажу, давно было
Go to the top of the page
 
+Quote Post
FROL_256
сообщение Mar 7 2011, 15:42
Сообщение #6


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

Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274



Ух, если честно, OpenSPARC меня немного напугал. Очень уж там много всего и тулзы совершенно незнакомые используются...документация просто гигантская.
Я такое наверное не потяну, буду искать чего-нибудь попроще. smile3046.gif Да и 50Mhz на Virtex5 как-то не очень впечатляют.

Сообщение отредактировал FROL_256 - Mar 7 2011, 15:44
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Mar 7 2011, 16:38
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(FROL_256 @ Mar 7 2011, 21:42) *
Да и 50Mhz на Virtex5 как-то не очень впечатляют.

вот я и писал про тюнинг. к тому же, что вы хотели от такого монстра. можете представить, какой ему кристалл нужен, чтоб нормально развестись. а что за задачу вы собрались решать, что нельзя обойтись более привычными для FPGA средствами?
Go to the top of the page
 
+Quote Post
FROL_256
сообщение Mar 7 2011, 17:38
Сообщение #8


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

Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274



Ну вообще то что я делаю с FPGA - это больше академический интерес. Я хотел бы включить это в свой диссер.
Хочу сделать процессор для рейтрейсинга) Суть идеи в том, что можно было бы большую часть функциональности реализовать программно, а то, что занимает много времени - аппаратно, в виде отдельных юнитов.
Вообще я думаю что так можно было бы ускорять не только рейтрейсинг.

Для начала я хочу приделать к процессору юнит, который будет считать аппаратно пересечение луча и треугольника - то есть в среднем за один такт.
И посмотреть насколько эффективно можно ускорить таким образом работу алгоритма.

Мультипроцессор с эффективными операциями FPU мне нужен потому что помимо подсчета пересечений остальные вычисления тоже довольно тяжелые.
Если процессор держит на себе скажем 16 потоков одновременно то даже если длинна конвейера 16, то никаих хазардов не будет и перформанс будет 100 MFlops на 100Mhz именно из-за того, что нет зависимостей по данным.
Если я буду использовать Nios 2 то во-первых, производительность окажется совсем на нуле, а во-вторых мое сравнение будет не совсем верным.
Чтобы процессор не простаивал во время подсчета пересечений мне нужно как можно больше потоков на него повесить. Просто одно поточный CPU это не совсем не то что мне нужно.
Я хотел бы показать, насколько можно поднять перформанс в трассировке лучей, добавив спец. фукнц. юниты. То есть я буду сравнивать производительность просто мультипроцессора без этого юнита и с ним.

Но вообще чем больше времени я на это трачу тем больше понимаю, что затея не очень удачная. sad.gif
Собственно я пока-что делаю свой мультипроцессор, но замучался) Подумал, что может лучше поискать на стороне.
Go to the top of the page
 
+Quote Post
jojo
сообщение Mar 7 2011, 19:04
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



>Но вообще чем больше времени я на это трачу тем больше понимаю, что затея не очень удачная.
>Собственно я пока-что делаю свой мультипроцессор, но замучался) Подумал, что может лучше поискать на стороне

Нормальная, нормальная затея.

Будем считать, что чистая производительность синтезируемых в микросхеме FPU вам подходит.
Пусть этих FPU 100-200 шт.

Оборачиваем каждый FPU триггерами и блоками памяти для подачи данных и снятия результата. Это будет процессор. Считаем, что процессор будет специализированным и что "программу" можно реализовать аппаратно.
Соединяем процессоры древовидной или кольцевой шиной, возможно, с переходом на пониженную частоту.
Получаем мультипроцессор, что-то вроде GPU. С мультипроцессорами работаем из корневого узла шины

Дополнительные компоненты процессора и шины должны быть на уровне 10-20% от ресурсов FPU.
Иначе перформанс вряд ли получится впечатляющим.
Go to the top of the page
 
+Quote Post
FROL_256
сообщение Mar 7 2011, 19:36
Сообщение #10


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

Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274



Цитата(jojo @ Mar 7 2011, 22:04) *
>Но вообще чем больше времени я на это трачу тем больше понимаю, что затея не очень удачная.
>Собственно я пока-что делаю свой мультипроцессор, но замучался) Подумал, что может лучше поискать на стороне

Нормальная, нормальная затея.

Будем считать, что чистая производительность синтезируемых в микросхеме FPU вам подходит.
Пусть этих FPU 100-200 шт.

Оборачиваем каждый FPU триггерами и блоками памяти для подачи данных и снятия результата. Это будет процессор. Считаем, что процессор будет специализированным и что "программу" можно реализовать аппаратно.
Соединяем процессоры древовидной или кольцевой шиной, возможно, с переходом на пониженную частоту.
Получаем мультипроцессор, что-то вроде GPU. С мультипроцессорами работаем из корневого узла шины

Дополнительные компоненты процессора и шины должны быть на уровне 10-20% от ресурсов FPU.
Иначе перформанс вряд ли получится впечатляющим.

Ну это в идеале наверное, да. Я так далеко не смотрю пока)
Go to the top of the page
 
+Quote Post
jojo
сообщение Mar 7 2011, 19:56
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



>Ну это в идеале наверное, да. Я так далеко не смотрю пока)

Я думал, вы Nvidiю хотите побить.

У простого мультпроцессора код килобайт на 100 в в верилоге. Если FPU взять из ядер (Xilinx?), своего кода совсем мало будет.
Go to the top of the page
 
+Quote Post
FROL_256
сообщение Mar 7 2011, 20:32
Сообщение #12


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

Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274



Альтера у меня, циклон 4. Ну да, собственно FPU я возьму из библиотек. Проблемма не в количестве кода а в том, что это все нужно отладить, чтоб работало.
Go to the top of the page
 
+Quote Post
SFx
сообщение Mar 7 2011, 20:40
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



http://opencores.org/project,theia_gpu
Go to the top of the page
 
+Quote Post
FROL_256
сообщение Mar 7 2011, 21:16
Сообщение #14


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

Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274



Ух-ты здорово, жалко только что верилог)
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Mar 8 2011, 01:35
Сообщение #15


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(FROL_256 @ Mar 8 2011, 06:16) *
Ух-ты здорово, жалко только что верилог)

там же на опенкорах и опенриск есть, но он тоже на верилоге и 1 ядро.
но зато есть всё остальное гцц4.5.1, ждб и фпу.


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 09:53
Рейтинг@Mail.ru


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