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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Cyclone 4 vs Spartan 6 for ray tracing, Помогите выбрать плату для обучения
FROL_256
сообщение Sep 3 2010, 14:51
Сообщение #1


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

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



Добрый день, уважаемые обитатели форума. Я совсем новичок в деле проектирования ПЛИС поэтому ногами просьба не бить.

Некоторое время назад я прочитал несколько статей, где на плис делали трассировку лучей. Например,
"Accelerating the bidirectional path tracing algorithm using a dedicated intersection processor"
"Realtime Ray Tracing of Dynamic Scenes on an FPGA Chip"

И мне захотелось в целях образования сделать свой велосипед. Оценив свои скромные ресурсы в 200-400 (ну максимум 500) долларов, я стал подбирать плату.
Из того что мне удалось найти у российских дистрибьюторов, пока что остановился на 2 вариантах:

1) http://www.xilinx.com/products/devkits/EK-S6-SP605-G.htm (характеристики тут есть http://www.plis.ru/pic/pict/File/Spartan-6_table.pdf)
2) http://www.terasic.com.tw/cgi-bin/page/arc...02&PartNo=1

Меня немного обескураживают вот что:
Несмотря на то что Cyclone 4 стоит дешевле, у него 266 встроенных умножителей против 38 у Spartan6-LX45T. Аналогична ситуация и с кол-вом логических ячеек. 114 тыс. у циклона против 46 тыс. у Spartan.
Ну и вообще циклон вроде бы далеко впереди по ресурсам. Но что-то тут нечисто. Может Spartan все же чем-то лучше? Может там трассировочные ресурсы получше?

В плате фирмы ксайлинкс меня привлекает прежде всего PCI-e. Наверное можно будет организовать шуструю передачу данных между CPU и плис по шине PCI-e.
Но с другой стороны особого смысла в этом нет так как на ПЛИС я все-равно не получу сверх скорости, м.б. только если виртекс-6...
Зато у циклона на плате ЖК дисплей и еще цифры какие-то. И всего за 329 долларов. Выглядит заманчиво)

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

Подскажите пожалуйста, что для меня может быть лучше. Может какие-то еще варианты есть?
Заранее спасибо.

Go to the top of the page
 
+Quote Post
rloc
сообщение Sep 3 2010, 16:32
Сообщение #2


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



Сравните стоимости кристаллов на этих платах (по американским ценам):
XC6SLX45T FGG484-3CES ~ 90$
EP4CE115 FBGA780 ~ 320$

Выводы делайте сами.

P.S. На Spartan-6 можно легко запустить обработку на 300MHz.
P.P.S. Материально оценивать надо не свои скромные ресурсы, а ресурсы работодателя.
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Sep 3 2010, 16:40
Сообщение #3


Знающий
****

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



Может быть лучше не начинать с покупки плат, а поставить quartus с ise и написать схему так,
чтобы собиралась во под разные платформы.
Это не так страшно, как кажется. Для начала я бы привел к общему знаменателю платформозависимые примитивы - PCIe, умножители, память и менеджеры клоков. Затем, опираясь на унифицированные блоки, описал схему.

О каком качестве принятия решения можно говорить сейчас, когда вы обладаете минимумом информации?
А максимум будет после окончательной отладки и разводки схемы. Сама плата для этого вообще не нужна.
Go to the top of the page
 
+Quote Post
FROL_256
сообщение Sep 3 2010, 17:23
Сообщение #4


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

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



rloc
Большое спасибо, теперь сомнений не осталось.

Shtirlits
Ну я думал так начать что-то делать, но многие говорят что лучше сразу иметь плату чтобы все на ней тестировать.
Вот прямо сделал - посмотрел работает ли. Двигаться маленькими шагами. Мне такой подход тоже более привычен.
Сразу то я рей-трейсинг не сделаю. Сначала флоат-арифметику, потом матрицы и там, я так подозреваю, геморроя будет много.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Sep 3 2010, 17:37
Сообщение #5


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(FROL_256 @ Sep 3 2010, 17:51) *
Добрый день, уважаемые обитатели форума. Я совсем новичок в деле проектирования ПЛИС поэтому ногами просьба не бить.

Некоторое время назад я прочитал несколько статей, где на плис делали трассировку лучей. Например,
"Accelerating the bidirectional path tracing algorithm using a dedicated intersection processor"
"Realtime Ray Tracing of Dynamic Scenes on an FPGA Chip"

И мне захотелось в целях образования сделать свой велосипед. Оценив свои скромные ресурсы в 200-400 (ну максимум 500) долларов, я стал подбирать плату.

Подскажите пожалуйста, что для меня может быть лучше. Может какие-то еще варианты есть?
Заранее спасибо.


Если не секрет - после выбора платы, где будете покупать, какие гарантии работоспособности купленной платы?. Цена по сравнению с сайта производителя (Xilinx, Altera) возрастет в 1,5-2 раза из-за доставки, таможни и т.д.
PS Во всяком случае в Украине - точно. Деньги - не маленькие sad.gif sad.gif


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Sep 3 2010, 17:41
Сообщение #6


Знающий
****

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



Не понимаю, зачем нужно живое железо, если на плате все документированное и есть симулятор.
Какую информацию можно получить запуская вживую, но нельзя получить из симулятора?
Go to the top of the page
 
+Quote Post
vetal
сообщение Sep 3 2010, 17:42
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Цитата
Сразу то я рей-трейсинг не сделаю. Сначала флоат-арифметику, потом матрицы и там, я так подозреваю, геморроя будет много.

Этот путь нужно проходить с использованием программных средств отладки. Живые платы нужно использовать когда потребуется отлаживать интерфейс с внешним миром.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Sep 3 2010, 18:02
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Честно говоря, я не понял, что Вы собираетесь делать с платой в плане трассировки лучей?
Go to the top of the page
 
+Quote Post
FROL_256
сообщение Sep 3 2010, 18:13
Сообщение #9


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

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



Цитата(vetal @ Sep 3 2010, 21:42) *
Этот путь нужно проходить с использованием программных средств отладки. Живые платы нужно использовать когда потребуется отлаживать интерфейс с внешним миром.

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

Покупать собираюсь тут http://www.altera.ru/. Насколько я понял там можно заказать.
Очень хорошо что вы критикуете мое решение, я уже думаю купить плату подешевле- DE0 за 100$).
Я только опасаюсь что в какой-то момент мне не хватит тамошних ресурсов, но 100 это уже не 300, не так страшно в принципе.


Цитата(Koluchiy @ Sep 3 2010, 22:02) *
Честно говоря, я не понял, что Вы собираетесь делать с платой в плане трассировки лучей?

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

Сообщение отредактировал FROL_256 - Sep 3 2010, 18:15
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Sep 3 2010, 18:17
Сообщение #10


Знающий
****

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



Попробовали бы сделать хотя бы Ваш треугольник в схеме и симуляторе. Как сделаете, уверен, появятся spartan-8 и cyclone-6. Придётся на новое железо тратиться. smile.gif
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Sep 3 2010, 18:20
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Цитата(FROL_256 @ Sep 3 2010, 22:13) *
Ну я хочу реализовать частично алгоритм в железе. Просто попробовать сделать специальные юниты, которые будут считать для начала пересечение луча и треугольника.
В данный момент только в обучающих целях. Поиграть и посмотреть что получится. Я не претендую на супер-мега ускорители рей-трейсинга.


Ну то есть Вы хотите закачивать в ПЛИС данные, чтобы она считала, обратно передавать в комп и отображать/использовать там?
Go to the top of the page
 
+Quote Post
FROL_256
сообщение Sep 3 2010, 18:41
Сообщение #12


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

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



Цитата(Koluchiy @ Sep 3 2010, 22:20) *
Ну то есть Вы хотите закачивать в ПЛИС данные, чтобы она считала, обратно передавать в комп и отображать/использовать там?

Именно так.

Цитата
Попробовали бы сделать хотя бы Ваш треугольник в схеме и симуляторе. Как сделаете, уверен, появятся spartan-8 и cyclone-6. Придётся на новое железо тратиться.

Ну я подозреваю, что так и будет, да. smile.gif

Мне в DE0 не нравится что памяти мало, не влезет большая сцена. А в 128 M DE2-155 можно вполне серьезную сцену засунуть.
И логических ячеек там в 10 раз меньше почти. Пока все-таки думаю что DE2-155 для меня идеально.
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Sep 4 2010, 01:21
Сообщение #13


Знающий
****

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



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

Как мне кажется, если и будет польза от трассировки лучей в fpga, то на микросхемах верхнего ценового диапазона. Хотя...
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Sep 4 2010, 09:36
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Цитата(FROL_256 @ Sep 3 2010, 22:13) *
Ну разумеется нужен интерфейс с внешним миром. Как же я буду сцену то заливать в память ПЛИС?
Я хочу чтобы можно было перекачать данные с обычной памяти в память ПЛИС, там посчитать что-то и опять-же что то скопировать обратно. Например индекс треугольника.
Ведь там всякая загрузка сцены, построение ускоряющих структур на CPU написано. Я хочу постепенно переносить часть функциональности в плис.
Я опасаюсь что у меня возникнут с этим проблемы.


Если вы начинающий, то боюсь что вы 50% времени или даже больше убьёте не на рей-трейсинг,
а на высокоскоростной интерфейс обмена данными с ПК (PCI-E или Gigabit Ethernet).

Есть конечно RS-232, его поднять легко - но скорость просто никакая.

Так что учитывайте при выборе платы, наличие, скорость и простоту поднятия того или иного интерфейса с ПК.
Go to the top of the page
 
+Quote Post
FROL_256
сообщение Sep 4 2010, 11:00
Сообщение #15


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

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



VladimirB
Да, я опасаюсь по поводу передачи данных, что это будет не так просто.
Но для начала можно на низко скоростном интерфейсе. Для экспериментов это не так важно. Такты я смогу померить, значит смогу оценить производительность отдельных элементов.
А по UBS не должно быть какого-нибудь простого способа? Написано что драйвер ПК для USB идет в комплекте, ну что-же он должен делать... Как в первой статье про bidirectional path tracing (но там правда был Virtex-4).

Shtirlits
Ну да, в принципе я так и хочу сделать. Но на пару времени не хватит, с одной бы разобраться. Просто если решать между DE0 и DE2-115 то DE2-115 конечно стоит в 4 раза дороже, но зато ресурсов больше почти в 10 раз.
Как-то я привык выбирать железо, оценивая его характеристики, а не прямой юз-кейс. Хотя м.б. и не очень верно в случае ПЛИС.

В юзер мануале написано что есть пример. Ну я попробую на основе этого примера что-то сделать м.б.
Two complete examples of USB drivers, for both host and device applications, can be found in Sections 6.4 and 6.5. These demonstrations provide examples of software drivers for the Nios II processor.
Но да, я начинаю понимать что все немного хуже чем я думал)

Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 10th June 2024 - 08:54
Рейтинг@Mail.ru


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