GPU Ray Tracing the Wrong Way
joshbarczak.com
joshbarczak.com
Some googling finds https://software.intel.com/en-us/articles/introduction-to-ge...
Ray tracing on the GPU is usually a lot faster than on the CPU. The problem is that the post is comparing the performance of a Intel Core i3-4010U with the performance of that CPU's integrated GPU, an Intel HD 4400.
Some benchmarks: A GeForce GTX 1080, as a current high-end GPU, has a passmark score of 12,618, a Intel HD 4400 has a passmark score of 546. In the 3DMark11 benchmark, a GTX 1080 reaches 24390 points, the used Intel HD 4400 reaches 740 points.
So what we're really seeing is that using a pretty bad GPU, designed by a CPU manufacturer, is barely faster than using the CPU. But using that GPU as if it was a CPU is notably faster than using it via a graphics shader interface.
Work like this is interesting because it digs into ways—at the architectural level, well below the standard programming models of OpenGL/D3D/OpenCL—that GEN is a potentially more efficient general purpose programming target than NVIDIA architectures, hamstrung by a commitment to a programming model (OpenCL) which is strongly tied to an NVIDIA-style execution model.
SIMD instructions on modern CPUs are getting really good, within the ballpark of GPU speed in some cases. Here's the classic paper [1] on this, and the results have gotten even better since then with AVX2, etc.
[1]: http://sbel.wisc.edu/Courses/ME964/Literature/LeeDebunkGPU20...
It might be getting 25% more throughput but using a GPU instead of a CPU may be consuming 2x to 10x less power. For some specialized use cases, even the difference can be much bigger.
He probably didn't measure it but this is something that people writing software for embedded system-on-chips (SoC) think about often (this includes mobile apps, look at the number of reviews with mentions about battery life in app stores). It's very important as battery life and thermal throttling make a lot of difference in the mobile/embedded/automotive/aerospace industries.