|
Cyclone 4 vs Spartan 6 for ray tracing, Помогите выбрать плату для обучения |
|
|
|
Sep 3 2010, 14:51
|
Частый гость
Группа: Участник
Сообщений: 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 надо делать. То есть мне кажется что мне нужно много умножителей. Подскажите пожалуйста, что для меня может быть лучше. Может какие-то еще варианты есть? Заранее спасибо.
|
|
|
|
|
Sep 3 2010, 16:40
|
Знающий
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905
|
Может быть лучше не начинать с покупки плат, а поставить quartus с ise и написать схему так, чтобы собиралась во под разные платформы. Это не так страшно, как кажется. Для начала я бы привел к общему знаменателю платформозависимые примитивы - PCIe, умножители, память и менеджеры клоков. Затем, опираясь на унифицированные блоки, описал схему.
О каком качестве принятия решения можно говорить сейчас, когда вы обладаете минимумом информации? А максимум будет после окончательной отладки и разводки схемы. Сама плата для этого вообще не нужна.
|
|
|
|
|
Sep 3 2010, 17:37
|
я только учусь...
Группа: Модераторы
Сообщений: 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 Во всяком случае в Украине - точно. Деньги - не маленькие
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Sep 3 2010, 18:13
|
Частый гость
Группа: Участник
Сообщений: 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
|
|
|
|
|
Sep 3 2010, 18:41
|
Частый гость
Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274
|
Цитата(Koluchiy @ Sep 3 2010, 22:20) Ну то есть Вы хотите закачивать в ПЛИС данные, чтобы она считала, обратно передавать в комп и отображать/использовать там? Именно так. Цитата Попробовали бы сделать хотя бы Ваш треугольник в схеме и симуляторе. Как сделаете, уверен, появятся spartan-8 и cyclone-6. Придётся на новое железо тратиться. Ну я подозреваю, что так и будет, да. Мне в DE0 не нравится что памяти мало, не влезет большая сцена. А в 128 M DE2-155 можно вполне серьезную сцену засунуть. И логических ячеек там в 10 раз меньше почти. Пока все-таки думаю что DE2-155 для меня идеально.
|
|
|
|
|
Sep 4 2010, 09:36
|
Знающий
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219
|
Цитата(FROL_256 @ Sep 3 2010, 22:13) Ну разумеется нужен интерфейс с внешним миром. Как же я буду сцену то заливать в память ПЛИС? Я хочу чтобы можно было перекачать данные с обычной памяти в память ПЛИС, там посчитать что-то и опять-же что то скопировать обратно. Например индекс треугольника. Ведь там всякая загрузка сцены, построение ускоряющих структур на CPU написано. Я хочу постепенно переносить часть функциональности в плис. Я опасаюсь что у меня возникнут с этим проблемы. Если вы начинающий, то боюсь что вы 50% времени или даже больше убьёте не на рей-трейсинг, а на высокоскоростной интерфейс обмена данными с ПК (PCI-E или Gigabit Ethernet). Есть конечно RS-232, его поднять легко - но скорость просто никакая. Так что учитывайте при выборе платы, наличие, скорость и простоту поднятия того или иного интерфейса с ПК.
|
|
|
|
|
Sep 4 2010, 11:00
|
Частый гость
Группа: Участник
Сообщений: 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. Но да, я начинаю понимать что все немного хуже чем я думал)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|