Wednesday, February 16, 2011

Some details about the new PowerVR GPU with Caustic Graphics ray tracing hardware. UPDATE: Hoax! (see comments)

Just saw this article: http://segaleaks.wordpress.com/2011/02/02/powervr-engineer-speaks/

Quote:

“CPU ray tracing has received tremendous speed ups in the past decade, with works on acceleration structures, traversal algorithms, and packet (or frustum) traversal. While these advancements brought ray tracing into the real-time area, the speed is still generally not acceptable.

PowerVR presents a solution, which proposes to place a small dedicated hardware ray traversal engine (RTE) directly on the GPU die.

The RTE has been confirmed to run at frequencies above 2GHz and can fit into an area less than 15mm2, achieving performance of over 1000 million rays per second.”

1000 million rays/second? Not bad at all! It's not clear if this number relates to coherent or incoherent rays, but Caustic's solution seems to reorganize incoherent rays in a way that they appear as coherent to the GPU. According to the Optix paper by Parker et al., a GTX 480 is able to trace almost 200 million ambient occlusion rays/s (when using the hand-optimized ray tracing kernel from Aila and Laine). So this new PowerVR GPU would be five times faster than a GTX480! Definitely something to keep an eye on. It's going to be interesting what Nvidia's reaction will be. I would like them to include some fixed function raytracing hardware as well, because it would be much faster and much more power efficient, but raytracing has to become mainstream before that happens.

UPDATE: As pointed out by Tomas in the comments, the article is apparently a hoax. Too bad, but thanks to Tomas for clearing this up!

All the numbers in the hoax article (2 Ghz, 15 mm2, 1000 million rays/sec) are pulled straight from the paper by Tomas Davidovic entitled "Performance Considerations When Using a Dedicated Ray Traversal Engine" (http://www.davidovic.cz/wiki/lib/exe/fetch.php/school/davidovic_wscg2011/davidovic_wscg2011.pdf)
except that the paper mentions 100 million rays/sec for the RTE instead of 1000 million rays/sec.

Very pathetic journalism, this article would fit much better at a site like semi-accurate where you know beforehand you're reading trash).

8 comments:

Tomas Davidovic said...

Sorry to disappoint you , but that's essentially directly ripped off my recently presented paper (http://www.davidovic.cz/wiki/doku.php/school/davidovic_wscg2011/davidovic_wscg2011) and as such essentially unbelievable.

Tomas
PS: I am not affiliated with any of the companies mentioned.

Kerrash said...

Doesn't the idea of a dedicated hardware RTE smell like the idea of a PPU (Ageia)? :P

Tomas Davidovic said...

Well, it sure does.
But I know I am not producing any such thing. And unless PowerVR has a crystal ball to read my design, neither are they. (Which they might, they used my papers introduction for this announncement :-) )

Kerrash said...

I've had chance to read through the paper now.

Very interesting idea.
Do you think the concept is compatible with nVidia's plans to integrate ARM cores into their design?

i.e. Could the ARM CPU's work as an RTE?

Tomas Davidovic said...

Overall, I don't see too much of a problem. It is heterogenous and has very little pressure on bandwidth and latency between the two parts.

However, having a general purpose ARM act as RTE does not make much sense to me. The way I see it, it is as if you had GPU ray tracer that sent rays to CPU to be traced.

I can imagine RTE being connected via the same means as ARM is, but the whole idea is that there is something to be gained by moving ray tracing into dedicated HW. Moving it onto even more general purpose goes against that.

The most hopeful way I see is that some way to merge ray tracing and rasterization HW emerges. But I have yet to see some hints for the development going in this direction.

serky said...

@tomas
"The most hopeful way I see is that some way to merge ray tracing and rasterization HW emerges. But I have yet to see some hints for the development going in this direction"

3D raserization uses a hybrid between raytracing and rasterization.

http://www.vis.uni-stuttgart.de/~engelhts/paper/3dr_techreport.pdf

From what i understand POWERVR already uses ray tracing to determine visibility against transformed triangles.

What are your thoughts of possible hardware direction for Powervr in the future.

Tomas Davidovic said...

I know of the techreport (being author and all that), and the biggest counterargument is that right now it would result in way too complicated hardware because it works in floating point.

As to future of PowerVR, I have no idea what it might be, know very little of the architecture. I only know that this "insider report" is a complete fabrication.

Sam Lapere said...

Thanks Tomas! I've added an update to the post. I had read your paper on RTE already, but not thorougly enough apparently ;). The numbers from the article sounded vaguely familiar to me though ;)