Page 1 of 1

Headless rendering in more detail?

Posted: Mon Jun 26, 2017 6:07 pm
by pegot
It is time to upgrade my computer. But in addition to Octane rendering, I will also be doing a lot of video and want a system that can work with 4k footage. I’m not sure how much the two intersect.

I prefer Mac OS for all my graphics needs but I’m not sure I want to continue down that path. While I have had good luck withy my current 4 year old Hackintosh, it has not been without some issues and complexities.

At this point I am wondering if headless rendering my work out best for me. I could keep my main system in OS X (either real or Hackintosh) and my Octane system would be on a separate Windows box.

Can anyone explain in detail how headless rendering will work and in what ways it would be different from currently rendering using Octane slaves?

With headless rendering from a Mac, would I be able to easily screen share into my PC and control Octane as if it were installed natively on my Mac?

Is headless rendering supposed to work the way Octane currently has the cloud app demos set up on their website?

Re: Headless rendering in more detail?

Posted: Mon Jun 26, 2017 11:54 pm
by abstrax
pegot wrote:It is time to upgrade my computer. But in addition to Octane rendering, I will also be doing a lot of video and want a system that can work with 4k footage. I’m not sure how much the two intersect.

I prefer Mac OS for all my graphics needs but I’m not sure I want to continue down that path. While I have had good luck withy my current 4 year old Hackintosh, it has not been without some issues and complexities.

At this point I am wondering if headless rendering my work out best for me. I could keep my main system in OS X (either real or Hackintosh) and my Octane system would be on a separate Windows box.

Can anyone explain in detail how headless rendering will work and in what ways it would be different from currently rendering using Octane slaves?

With headless rendering from a Mac, would I be able to easily screen share into my PC and control Octane as if it were installed natively on my Mac?

Is headless rendering supposed to work the way Octane currently has the cloud app demos set up on their website?
What we are trying to implement is to utilize the existing network rendering and have the rendering completely "outsourced" to the net render slave, i.e. you will be able to run a master (and the corresponding plugin) without an NVIDIA GPU. At the moment that isn't possible, because tone-mapping, post-processing, material/texture preview, viewport picking, info passes and deep-pixel binning are still done only by the net render master and require a CUDA GPU. The main tasks we are currently working on is porting tone-mapping and post-effects to the CPU, this will also solve a few issues we have with the page-locking of the film buffer. The rest will either be ported to the CPU, too, or we will allow slaves do the work (like picking or material preview rendering).

So in theory (and if your network is fast enough), it will behave similar to having the slave GPUs on your master. There will probably be some (noticeable) delay due to the network latencies, but I hope they will be manageable.

Obviously, there is also the question how we deal with licenses and if you could use a net render slave using the same license of a master if the master doesn't use any GPUs, but that's not decided yet. We will try to find and implement a solution that makes sense.

Re: Headless rendering in more detail?

Posted: Tue Jun 27, 2017 12:26 am
by pegot
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?

Re: Headless rendering in more detail?

Posted: Tue Jun 27, 2017 12:53 am
by abstrax
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.

Re: Headless rendering in more detail?

Posted: Tue Feb 15, 2022 9:26 pm
by fibernaut
Any news on the topic of headless rendering? It's a much needed feature to safe time and to work way more efficiently.

Re: Headless rendering in more detail?

Posted: Wed Feb 16, 2022 3:41 pm
by cjadams
i'm assuming once the 2022 sdk sync up happens this will be possible?

Re: Headless rendering in more detail?

Posted: Tue Apr 12, 2022 10:35 pm
by 3dworks
waiting here as well for this feature! running mac pro's as workstations (AMD) and a windows box with an external multi GPU solution (nvidia)...