[Bf-committers] Proposal: Blender OpenCL compositor

Jeroen Bakker j.bakker at atmind.nl
Sat Jan 15 08:04:30 CET 2011


Hi!

There are 2 scenarios of to implement GPU-based compositing. In the 
early days you did this via OpenGL and the final picture was influenced 
a lot on the specific hardware you ran it on (What OpenGL feature is 
implemented and how). Nowadays this is still an issue with OpenGL, but 
the cracks are smaller. The second scenario is to use something like 
Cuda, Steam or OpenCL. These are compute libraries and will ensure that 
all calculations are done in the same manner among devices. Also 
universities and other parties in our industry use it for this. Farms 
are already being migrated to OpenCL farms. As they are cheaper in 
hardware costs.

BTW. renderfarm.fi should be capable of running OpenCL as this is 
proposal is implemented!

OpenCL has some limitations. We testdrive the approach by only using 
OpenCL for these nodes. But due to graphical memory boundaries it was 
only possible to use resolutions up to 4k on a 1Gb card and the code 
that needed to be done is not easilly maintainble. The OpenCL code was 
visible in the node itself and IMO you shouldn't need a core blender 
developer to create a node. In the future I see that we will get 
multiscoptic video and higher resolutions and complexer nodes (an 
accurate 3d blur in stead of the vector blur) and node systems 
(framenumber based switch: calculate this via vector blur in the begin 
of the scene and calculate this via 3d blur later in the scene).

To solve these limitation you need something as tile based compositing 
and a memory manager for OpenCL and the node internals should be 
restructures. Without these you will not be able to get a production 
stable OpenCL.

The Compositor has technical 3 parts. The nodes editor, the nodes 
themselves and the Execution engine. The tiled based node system 
influences the execution engine for 90%, the nodes needs to be 
restructured internally, and the nodes editor should only be influenced 
for a tiny part.

As a result of this proposal the redesign of the compositor editor and 
implementing other nodes will become much easier. Also the OpenCL 
components can be used to add OpenCL to other area's in Blender (like 
the renderer or simulations).

Jeroen

On 01/15/2011 01:02 AM, Mike Pan wrote:
> > From a user's perspective, it seems a few node (blur, defocus, vector blur)
> is responsible for over 90% of the node-compositing time in a real
> production, accelerating these will probably have a far larger impact/effort
> ratio than overhauling the entire framework.
>
> also, sorry about the LinkedIn spam earlier today.
>
> -mike pan
>
>
> On Fri, Jan 14, 2011 at 11:27 AM, Roger Wickes From IPhone<
> rogerwickes at yahoo.com>  wrote:
>
>> And next gen cpus are incorporating the arch from what i read
>>
>> Sent from my iPhone
>>
>> On Jan 14, 2011, at 8:17 AM, Xavier Thomas<xavier.thomas.1980 at gmail.com>
>> wrote:
>>
>>> Beside, OpenCL does not specially mean GPU. OpenCL can be executed by CPU
>>> and even be accelerated by multiple CPU/Cores
>>>
>>> 2011/1/14 Knapp<magick.crow at gmail.com>
>>>
>>>>> While some of the GPU based stuff nowadays looks very spectacular, I
>>>>> personally still feel hesitant - I don't think CPUs (and especially
>>>>> multiprocessing) should be left by the wayside. Not only due to the
>>>>> increasing prevalence of multicore systems nowadays, but also for
>>>>> render farms, which are very largely CPU based.
>>>>>
>>>>> cheers
>>>>>
>>>>> Matt
>>>> Yes, but for how long will that remain true??
>>>>
>> http://www.tomshardware.com/news/nvda-china-super-computer-gpu,11545.html
>>>> Douglas E Knapp
>>>>
>>>> Creative Commons Film Group, Helping people make open source movies
>>>> with open source software!
>>>> http://douglas.bespin.org/CommonsFilmGroup/phpBB3/index.php
>>>>
>>>> Massage in Gelsenkirchen-Buer:
>>>> http://douglas.bespin.org/tcm/ztab1.htm
>>>> Please link to me and trade links with me!
>>>>
>>>> Open Source Sci-Fi mmoRPG Game project.
>>>> http://sf-journey-creations.wikispot.org/Front_Page
>>>> http://code.google.com/p/perspectiveproject/
>>>> _______________________________________________
>>>> Bf-committers mailing list
>>>> Bf-committers at blender.org
>>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>>
>>> _______________________________________________
>>> Bf-committers mailing list
>>> Bf-committers at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-committers
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>


-- 

Met vriendelijke groet,

Jeroen Bakker

*At Mind BV
*

Telefoon: 06 50 611 262
E-mail: j.bakker at atmind.nl <mailto:j.bakker at atmind.nl>




More information about the Bf-committers mailing list