Startup SiliconArts promises a disruptive mobile graphics capability using ray tracing geared for mobile application processors, says analyst Jon Peddie.
Ray-tracing core runs on 1W
Seemingly out of nowhere -- well, South Korea actually -- a four-year old startup recently burst on the scene with a ray-tracing chip, the RayCore. The company was founded by Dr. Hyung Min Yoon, formerly at Samsung; Hee Jin Shin from LG; Byoung Ok Lee from MtekVision; and Woo Chan Park from Sejong University.
What they demonstrated simultaneously in talks at Hot Chips and Siggraph was a proof of concept for an IP block, not a product. No matter how delivered, they have an interesting and impressive piece of work. In fact, the company has been licensing its ray-tracing IP to OEM partners since 2011, and is currently working with a vendor of mobile apps processors on a next-generation SoC.
RayCore consists of two major components: ray-tracing units (RTUs) and a tree-building unit (TBU) for dynamic scenes. The MIMD execution model of the RTU's unified traversal and intersection (T&I) pipelines was chosen to meet power efficiency and silicon-area needs of mobile devices.
A look inside the RayCore device.
According to SiliconArts, its 28 nm evaluation ASIC measuring 18 mm2 with six RTUs can achieve up to 239 Mrays/second while consuming just one watt. The TBU uses a K-D tree construction to test models with up to 64,000 triangles, and the company says it can run such a test in 20 ms.
SiliconArts uses a novel latency-hiding technique to reduce performance degradation from off-chip memory accesses. The technique run on the T&I pipelines, combined with the TBU and texture mip-mapping, is called "looping for the next chance." SiliconArts shows benchmarks of the approach delivering real-time Whitted ray tracing with six RTUs and K-D-tree construction with one TBU using less than 1.1 GByte/s of memory bandwidth, much less than the 12.8 GByte/s bandwidth provided by today's mobile LPDDR3 memory.
Remember, these are test results using an FPGA. A tightly coupled IP block in a 22 nm or smaller SoC would run significantly faster.
The startup provides OpenGL ES 1.1-like API extensions to separate static and dynamic objects. Static objects are retained for subsequent frames while dynamic objects are transferred to the tree builder via vertex arrays to reconstruct dynamic sub-trees during each frame.
Next page: Fast but not first
Fast but not first
The RayCore is not, as the company claims, the world's first ray-tracing chip. The startup qualifies its claim by calling it the world's first ray-tracing GPU IP.
The first actual ray-tracing chip was built by Advanced Rendering Technology in Cambridge, UK, in 1995. The company still operates, but gave up its silicon solution about six years ago. Caustic Graphics -- now part of Imagination Technologies -- started in 2006, building prototype ray-tracing accelerators using FPGAs.
SiliconArts' goal is to offer an IP block that can be part of an SoC. Caustic is offering a fully function add-in board as a ray-tracing accelerator, while Imagination is offering the IP as part of its library.
Also, like Caustic, SiliconArts offers a blended capability using ray tracing for only certain parts of the scene or image. That saves enormous amounts of time and gives beautiful and (hopefully) physically accurate results.
Ray tracing is one of the great goals of computer graphics and has always been difficult to realize quickly because of its enormous computational load. GPUs are often used, but because of the organization of GPUs, they are not the ideal implementation, even with their thousands of processors.
A ray-tracing image is said to "resolve" or converge, meaning it processes (and processes and processes) until the viewer is satisfied or accepts the image. You may have seen the effect of the scintillation of an image as it builds up all the ray paths.
At Siggraph, AMD showed a technology demo using four high-end Radeon adapter cards running ray tracing. With four cards, the AMD demo could resolve an acceptable image in about two to three seconds, which is pretty fast, but not as fast as the 33 ms that's required for a 30 frames/second real-time display such as we get in high-definition games today. The desired goal is 16 ms.
Given its performance claims, SiliconArts looks damned interesting. Assuming the startup's software is clever enough not to launch rays that can't be seen, a RayCore chip could generate 300 Mrays/second on an HD screen, which would seem to be fast enough.
A ray has to bounce off of several surfaces to create a realistic image. SiliconArts says it will allow up to 15 bounces, which is a lot. Even at that max, you could theoretically realize 30 frames/second, which would be astounding and earth-shaking. Given its location in South Korea, it's easy to guess which customers SiliconArts targets.
— Jon Peddie is a veteran graphics analyst and principle of Jon Peddie Research in Tiburon, Calif.
Results were impressive for three static test scenes for Whitted ray tracing rendered at interactive frame rates on an FPGA prototype.