mandelbulber2 icon indicating copy to clipboard operation
mandelbulber2 copied to clipboard

Netrender support for gpu rendering

Open zebastian opened this issue 6 years ago • 4 comments

The netrender engine should able to handle GPU rendering.

Things to consider:

  • Instead of lines the scheduler needs to schedule tiles which are better handled by gpus
  • all gpu machines in the network would need to be of same type (discrepancy between amd / nvidia)

Maybe implement netrender on a higher level as well for flight and keyframe:

  • netrender jobs consists of whole images rendered by each machine. --> This would make synchronization easier, as only the finished image has to be streamed into a file on the server.

this issue has been moved from here: #528

zebastian avatar Aug 26 '18 18:08 zebastian

I agree with all your points. It is exactly how I'm going to implement it.

buddhi1980 avatar Aug 26 '18 18:08 buddhi1980

Would it be possible to do both CPU netrending and GPU netrending at the same time if it did the whole images for animations?

Toys0125 avatar Nov 14 '18 06:11 Toys0125

Not sure exactly what you mean but it is possible but it may not be feasible:)

Do you mean a network of CPUs (not using openCL) ,and a network of GPUs using openCL, having their workload automatically allocated to each device?

a) if both the GPU and CPU networks were using openCL, the rendered frames will be of the same quality, but, running openCL on CPU's sometimes has problems .

b) if GPUs are single precision openCL and CPU's are using double precision c++, then you will need to know how to avoid situations where you will notice a change in image quality

On Wed, Nov 14, 2018 at 7:59 PM Toys0125 [email protected] wrote:

Would it be possible to do both CPU netrending and GPU netrending at the same time if it did the whole images for animations?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/buddhi1980/mandelbulber2/issues/529#issuecomment-438558741, or mute the thread https://github.com/notifications/unsubscribe-auth/AMLZHJTYcZ9Cx6mkoLdF4lr5VDHb8kY6ks5uu79ZgaJpZM4WM4ox .

mclarekin avatar Nov 14 '18 07:11 mclarekin

@Toys0125 probably yes, though you may run into other problems when using heterogenious clients. If there is some way to implement netrendering code for cpu / gpu combined, there is.

This will get clearer when we implement this in the next release...

zebastian avatar Nov 14 '18 09:11 zebastian