_vasa_
> А ты не автор статьи ? :))
ага, это я)
Про новую архитектуру Fermi.
>Fermi’s dual warp scheduler selects two warps, and issues one
instruction from each warp to a group of sixteen cores, sixteen load/store units, or four SFUs.
Because warps execute independently, Fermi’s scheduler does not need to check for
dependencies from within the instruction stream.
http://www.nvidia.com/content/PDF/fermi_white_papers/NVIDIA_Fermi… hitepaper.pdf (pg.10)
Кто как думает, много это даст в приросте или нет?
FROL
Можно ли поиск/построение kd-tree разложить на несколько видеокарт? На одной понятно, но 4 лучше чем 1 :)
Например, поделить всю сцену на 4 sub-бокса от первого kd-tree и если они существуют (с подмножеством примитивов), то кинуть каждый бокс на 1 девайс, потом собрать результаты. Реально нет?
_vasa_
> Кто как думает, много это даст в приросте или нет?
Думаю это будет бомба. CUDA станет еще более удобной)
>Можно ли поиск/построение kd-tree разложить на несколько видеокарт?
Очевидно что можно, раз можно на несколько CPU то можно и на несколько GPU, но ИМХО лучше так не делать. Лучше просто на несколько CPU разложить.
Посроение kd-tree слишком неудобная для GPU задача. Я бы только SAH считал может на GPU - да и то спорный вопрос.
Просто это ну очень сложно. Хотя этот мужик вот сделал http://www.kunzhou.net/. Но он вообще по-моему какой-то полный псих)
FROL
> Лучше просто на несколько CPU разложить
Выигрыш от гпу слишком мал? Какой прирост максимум можно ожидать?
_vasa_
> Выигрыш от гпу слишком мал? Какой прирост максимум можно ожидать?
Выигрышь 100%, если с умом использовать GPU. Есть примеры это показывающее.
asvp
Показать можешь?
_vasa_
Посмотри примеры из CUDA SDK. Там есть пример, где можно переключать расчеты на CPU или GPU. И посмотри FPS в разных режимах. А пример вроде Mandelbrot.exe
asvp
Мне не интересен mandelbrot и всё остальное, вопрос про kd-tree.
FROL
>I'm writing raycasting engine (using CUDA), and all is fine i can cast ~17M rays /second on my 8800 GTX (ShortStack KDTree builded with SAH)
Насколько соответствует действительности? Расскажи про производительность своего движка )
_vasa_
> Выигрыш от гпу слишком мал? Какой прирост максимум можно ожидать?
Эта задача очень неудобна для GPU. Слишком нерегулярная и сложная. На CPU лучше результаты. Можно посмотреть статьи Максима Шевцова из интела или Кирила Гаранжи. У них очень быстро на CPU строится.
Но ты можешь попробовать реализовать на CUDA. Лично я планирую только SAH оценивать на GPU перебором, а остальное все на CPU считать, потому что я хочу строить очень качественное дерево.
> Насколько соответствует действительности? Расскажи про производительность
> своего движка )
Соответствует. На Conference Room (281K треугольников) так и есть. У меня там есть демка, можно на разных сценах посмотреть сколько.
Short stack ИМХО незачем делать только. Можно обычный - long stack.
Т.е. на cpu быстрее чем на gpu при всех мега ухищрениях?
На CPU у меня есть реализация дерева, интерес есть его ускорить.
_vasa_
> На CPU у меня есть реализация дерева, интерес есть его ускорить.
Тогда читай это
Highly Parallel Fast KD-tree Construction for Interactive Ray Tracing of Dynamic Scenes
Fast kd-tree Construction with an Adaptive Error-Bounded Heuristic
http://garanzha.com/default.aspx - там у него есть статьи.
На GPU:
Real-Time KD-Tree Construction on Graphics Hardware
_vasa_
> Т.е. на cpu быстрее чем на gpu при всех мега ухищрениях?
Ну посмотри сам в статьях. Выигрыш если и есть то не такой значительный. На GPU может быть и быстрее, но это порождает столько сложностей, опять же память не бесплатна....читай китайскую статью (Real-Time KD-Tree Construction on Graphics Hardware))
И потом, каких ухищрениях то? В первую очередь нужно думать о том, как положить на GPU алгоритм так, чтобы в высокой степени утилизировать его ресурсы.
Далеко не все алгоритмы хорошо подходят для этого.
Ты же не будешь писать компилятор С++ на OpenCL или CUDA, верно?)
FROL
Посмотрел, описано рульно, особенно построение дерева, внятно и с картинками :)
Но всё же хочу глянуть на код (любой!) для gpu. Нагулил gpu-ray какой-то, больше ничего найти не смог, все прячут что-ли?
Тема в архиве.