[Bf-cycles] extending Cycles to use all devices "CPU + CUDA"

Sergey Sharybin sergey.vfx at gmail.com
Wed Sep 9 12:08:04 CEST 2015


You can already utilize both CPU and GPU by using OpenCL.

Making it possible to combine different compute devices such as CPU and
CUDA is possible in theory but tricky for artists in practice:

- Once compute device might not support some of the features (float
textures limit on GPU, decoupled ray marching are only couple of examples).
- Different precision handling might lead to visually disturbing difference
in noise patters across neighbor frames, plus some temporal instabilities
might occur.

But that being said, making sure DeviceMulti is capable of mixing different
compute devices is an interesting project on it's own, it's just something
we can't allow for production scenes atm.

On Mon, Sep 7, 2015 at 12:25 PM, Mohamed Sakr <3dsakr at gmail.com> wrote:

> is there a way to extend Cycles to use all devices? "CPU, CUDA" , or is it
> already there with OpenCL?
>
> the easy solution: split the render into 2, 1 for CPU and 1 for CUDA
> drawbacks: inconsistent random number generator across the image (RNG)
>
> the hard solution:a general class that will handle RNG across CPU and GPU,
> and handle tasks also across them.
>
> any ideas Sergey?
>
> cheers,
> Mohamed Sakr
>
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> http://lists.blender.org/mailman/listinfo/bf-cycles
>
>


-- 
With best regards, Sergey Sharybin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/bf-cycles/attachments/20150909/89b69a07/attachment.htm 


More information about the Bf-cycles mailing list