pegot wrote:Thanks for the clear explanation abstrax. I now remember from previous discussions the big difference would be no CUDA GPU's required on the master computer. Would the presence of one ore more CUDA GPU's on the master change the scenario for headless render in anyway? In other words, would rendering in this set up just default to regular salve rendering, or would the functions you are attempting to offload to the CPU still be an option. And if so, would there be any benefit to this with CUDA GPUS in both master and slave?
If CUDA GPUs are available and enabled on the master, they will be used for rendering and other tasks like they are already used now. I.e. if we have the choice to do work on the master or on the slave we will always prefer the master, due to the high network latency and low network bandwidth. And having more GPUs available for rendering usually helps render performance anyway.
Having offloading to the CPU only as an option will depend on how fast we can make them on the CPU. Ideally we will have only a CPU or a GPU version of specific parts of the code, because the CPU version is usually completely different to the GPU version. Also having tone-mapping been done completely on the CPU allows the implementation of a module API that can interact with the tone-mapping pipeline, which we plan to add, too. This way you could write Octane modules that can apply additional effects and stuff to render results at various stages of the tone-mapping process. And as mentioned before, page-locking the film buffer to allow processing on GPUs causes various issues on some hardware, especially PCIe expanders, external GPUs, etc.. And it requires us to arrange the film buffer channels in a way that kills the splatting performance of PMC results.
The work that was started in that area is not finished yet and I didn't have the time to work on it for a few months (but plan to resume the work shortly), so I don't have a definitive answer, but the last time I was working on CPU tone-mapping its performance on my workstation (i7-3820, but mostly memory bound anyway) was in the same ballpark as on a Titan Black (Kepler), maybe only 10-20% slower. So currently I'm very much inclined to switch completely to a CPU based system, but if it kills the responsiveness of Octane, I may have to change my mind and we have to come up either with a better idea or have to maintain 2 systems. We will see.
In theory there is no difference between theory and practice. In practice there is. - Yogi Berra