Перейти к содержанию
    

Cyclone 4 vs Spartan 6 for ray tracing

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

 

Некоторое время назад я прочитал несколько статей, где на плис делали трассировку лучей. Например,

"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 надо делать. То есть мне кажется что мне нужно много умножителей.

 

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

Заранее спасибо.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сравните стоимости кристаллов на этих платах (по американским ценам):

XC6SLX45T FGG484-3CES ~ 90$

EP4CE115 FBGA780 ~ 320$

 

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

 

P.S. На Spartan-6 можно легко запустить обработку на 300MHz.

P.P.S. Материально оценивать надо не свои скромные ресурсы, а ресурсы работодателя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть лучше не начинать с покупки плат, а поставить quartus с ise и написать схему так,

чтобы собиралась во под разные платформы.

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

 

О каком качестве принятия решения можно говорить сейчас, когда вы обладаете минимумом информации?

А максимум будет после окончательной отладки и разводки схемы. Сама плата для этого вообще не нужна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

rloc

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

 

Shtirlits

Ну я думал так начать что-то делать, но многие говорят что лучше сразу иметь плату чтобы все на ней тестировать.

Вот прямо сделал - посмотрел работает ли. Двигаться маленькими шагами. Мне такой подход тоже более привычен.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Некоторое время назад я прочитал несколько статей, где на плис делали трассировку лучей. Например,

"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 Во всяком случае в Украине - точно. Деньги - не маленькие :( :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не понимаю, зачем нужно живое железо, если на плате все документированное и есть симулятор.

Какую информацию можно получить запуская вживую, но нельзя получить из симулятора?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Этот путь нужно проходить с использованием программных средств отладки. Живые платы нужно использовать когда потребуется отлаживать интерфейс с внешним миром.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Честно говоря, я не понял, что Вы собираетесь делать с платой в плане трассировки лучей?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Этот путь нужно проходить с использованием программных средств отладки. Живые платы нужно использовать когда потребуется отлаживать интерфейс с внешним миром.

Ну разумеется нужен интерфейс с внешним миром. Как же я буду сцену то заливать в память ПЛИС?

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

Ведь там всякая загрузка сцены, построение ускоряющих структур на CPU написано. Я хочу постепенно переносить часть функциональности в плис.

Я опасаюсь что у меня возникнут с этим проблемы.

 

Покупать собираюсь тут http://www.altera.ru/. Насколько я понял там можно заказать.

Очень хорошо что вы критикуете мое решение, я уже думаю купить плату подешевле- DE0 за 100$).

Я только опасаюсь что в какой-то момент мне не хватит тамошних ресурсов, но 100 это уже не 300, не так страшно в принципе.

 

 

Честно говоря, я не понял, что Вы собираетесь делать с платой в плане трассировки лучей?

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

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

Изменено пользователем FROL_256

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

Ну то есть Вы хотите закачивать в ПЛИС данные, чтобы она считала, обратно передавать в комп и отображать/использовать там?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну то есть Вы хотите закачивать в ПЛИС данные, чтобы она считала, обратно передавать в комп и отображать/использовать там?

Именно так.

 

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

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

 

Мне в DE0 не нравится что памяти мало, не влезет большая сцена. А в 128 M DE2-155 можно вполне серьезную сцену засунуть.

И логических ячеек там в 10 раз меньше почти. Пока все-таки думаю что DE2-155 для меня идеально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

Как мне кажется, если и будет польза от трассировки лучей в fpga, то на микросхемах верхнего ценового диапазона. Хотя...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну разумеется нужен интерфейс с внешним миром. Как же я буду сцену то заливать в память ПЛИС?

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

Ведь там всякая загрузка сцены, построение ускоряющих структур на CPU написано. Я хочу постепенно переносить часть функциональности в плис.

Я опасаюсь что у меня возникнут с этим проблемы.

 

Если вы начинающий, то боюсь что вы 50% времени или даже больше убьёте не на рей-трейсинг,

а на высокоскоростной интерфейс обмена данными с ПК (PCI-E или Gigabit Ethernet).

 

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

 

Так что учитывайте при выборе платы, наличие, скорость и простоту поднятия того или иного интерфейса с ПК.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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.

Но да, я начинаю понимать что все немного хуже чем я думал)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...