The Cuda model is very concise. It basically calls functions for Parallel Processing for a large segment of data.
However, there are many restrictions currently. For example, all functions executed on the GPU must be inline, which means you cannot
Use modular or object-oriented design to separate complex systems. There are also very limited registers,
It is basically not enough for ray tracing, which makes the GPU throughput not high.
However, as a rapidly developing parallel model, there will be great potential in the future.
600 path per pixel
This figure is for the Cuda version transformed by smallpt. As a version without optimization, the GPU speed
Amazing, dozens of times faster than the CPU version. However, this is a special case. The structure of smallpt is too simple.
Complex models, lights, materials, textures, and GPUs may not be able to exceed the CPU, which will be tested in the future.
Currently, only the material system is rewritten.