1 2 3 Previous Next 343 Replies Latest reply: Sep 23, 2014 4:28 AM by sharlybg RSS

Blender Cycles(Opencl on AMD GPUS)

nazim mer Newbie
Currently Being Moderated

Dear Opencl Developer

Why doesn't the AMD opencl compiler work with blender cycles?

whenever i compile the blender cycles kernel, the system either crashes due to lack of memory, or takes too long to compile the blender cycles kernel(which thereafter comes up with the following error:

opencl build failed:errors in console

calclcompile failederror: creating kernel_ocl_path_trace failed!

can't open file c:\tmp\5688.blend@ for writing:no file or directory

 

).

When is AMD opencl compiler going to work properly with blender cycles?

Why can't the AMD opencl compiler developers test their compiler against blender cycles?

 

Seasons Greetings,

 

npm1,

 

PS i am as well as others(i assume) are considering to make a switch from AMD GPUs to Nvidia.

  • 1. Re: Blender Cycles(Opencl on AMD GPUS)
    nou Expert
    Currently Being Moderated

    Try consider LuxRender http://www.luxrender.net/forum/viewforum.php?f=34 (you must register to read forum) It is works very well on AMD cards. There is also Blender integration. It has very active development. Now there is fourth version of GPU engine.

  • 2. Re: Blender Cycles(Opencl on AMD GPUS)
    nazim mer Newbie
    Currently Being Moderated

    but is it as fast as blender cycles.

    i want to mostly render animations...

    what are the best settings for using luxrender for animations

  • 3. Re: Blender Cycles(Opencl on AMD GPUS)
    nazim mer Newbie
    Currently Being Moderated

    why can't AMD's opencl compiler support the full opencl spefication regardless of the big kernel or not

  • 4. Re: Blender Cycles(Opencl on AMD GPUS)
    nou Expert
    Currently Being Moderated

    Read the LuxRender forum. You will find it very interesting. http://www.youtube.com/watch?v=jk-N4f9ze4k

  • 5. Re: Blender Cycles(Opencl on AMD GPUS)
    nou Expert
    Currently Being Moderated

    Just downloaded Blender 2.63 and 2.65 and tried BMW Cycles benchmark. It worked for me. So what exactly didn't work for you?

  • 6. Re: Blender Cycles(Opencl on AMD GPUS)
    nazim mer Newbie
    Currently Being Moderated

    are you still talking about luxrender...or are you talking about cycles

    in blender 2.65 opencl for cycles isn't included(compiled with blender).

    I haven't tried blender 2.63 opencl-does that work

  • 7. Re: Blender Cycles(Opencl on AMD GPUS)
    nazim mer Newbie
    Currently Being Moderated

    i also assume that opencl for AMD GPUs doesn't or else Brecht and team would make the announcment.

    You were only using CPU mode.(correct me if i was wrong).

     

    In which case AMD ought to test their opencl compiler against blender cycles and make the necessary optimizations, as:

    the compiler runs out of memory, and chokes out errors and complains

     

    This is good for AMD, as this will result to loosing a market of users.

     

    More specifically the AMDs opencl compiler fails to compile blender cycles SVM(shader virtual machine)....

    PLEASE, PLEASE, PLEASE.

    AMD fix your compiler, so that it works with the full opencl specification

  • 8. Re: Blender Cycles(Opencl on AMD GPUS)
    nou Expert
    Currently Being Moderated

    I was talking about Blender cycles. Indeed I was using CPU, OpenCL must be enabled in preferences. After this I got segfault when compiling OpenCL kernels.

     

    You should really check out luxrender. it works well on both nVidia and AMD.

  • 9. Re: Blender Cycles(Opencl on AMD GPUS)
    developer Newbie
    Currently Being Moderated

    Hi Nazim,


    Sorry that you have to go through this.

    I think you have posted a repro case http://devgurus.amd.com/message/1285984

    Will take a look at the repro and get back to you on that thread.

     

    Best Regards,

    Workitem 6

    Signature - Workitem 6, get_global_id(0) = 5, Workgroup = ?

  • 10. Re: Blender Cycles(Opencl on AMD GPUS)
    sharlybg Newbie
    Currently Being Moderated

    Hi I'm a blender user too (but native french peaker).I use blender For Archiviz at professionnal level.But when it's come to speak about productivity there's big shame.My Boss now want to pay cash for high end workstation.I'm the one that can advise the boss about which component are enought powerfull or stable to help us get more Fast rendering.

     

    Me like many many blender user wish that AMD radeon card will be full support by cycles.but it's not the case and cycles developper said that:

     

    "OpenCL support for AMD

    is currently on hold. Only a small subset of the entire rendering kernel can currently be compiled, which leaves this mostly at prototype. We will need major driver or hardware improvements to get full cycles support on AMD hardware. For NVidia CUDA still works faster, and Intel integrated GPU's are unlikely to give any speed improvement over CPU rendering.

     

    In Blender 2.65, OpenCL is not available as a choice in the UI by default. The environment variable CYCLES_OPENCL_TEST can be defined to show it, which can be useful for developers that want to test it. The OpenCL kernel is located in 2.65/scripts/addons/cycles/kernel. In the file kernel_types.h specific functionality can be enabled/disabled for testing, without recompiling Blender."

     

     

    sentence below explain why luxrender work on AMD and why it doesn't for Cycles:

     

     

    "

    The path tracing kernel is currently a single big kernel, much bigger than typical OpenCL code. There are about 40 shading nodes, 10 BSDF's, etc.

    Splitting it up into smaller parts may help, but even then compiling only the shading nodes execution code fails. This would be quite difficult to split up. An alternative would be to compile a kernel for each material in the scene, but I don't have much faith in complex node setups compiling reliably then, and scene startup time would increase considerably.

    If at all possible I would like to avoid splitting up the kernel in many pieces, mainly because it makes extending the code much harder (we're only getting started in terms of number of features). And also because I haven't really seen this demonstrated working efficiently in other renderers yet, e.g. NVidia Optix also uses a single kernel."

     

    AMD

    The immediate issue that you run into when trying OpenCL, is that compilation will take a long time, or the compiler will crash running out of memory. We can successfully compile a subset of the rendering kernel (thanks to the work of developers at AMD improving the driver), but not enough to consider this usable in practice beyond a demo.

     


  • 11. Re: Blender Cycles(Opencl on AMD GPUS)
    mberger Newbie
    Currently Being Moderated

    I think register spilling is broken at the AMDIL level.  cycles depends on register spilling for nvidia it uses 24 max-register setting. to force compiler to spill.

     

    i looked at public AMDIL llvm branch and it has the following lines:

     

    unsigned TrivialRegAlloc::getPhysicalRegister()

    {

    for (unsigned i = 0; i < _regInUse.size(); ++i) {

    if (!_regInUse[i]) {

    _regInUse[i] = 1;

    return _regSet[i];

    }

    }

    // No physical register available. Has to spill.

    // TODO: add spiller

    abort();

    return 0;

    }

     

    I do not know if support for spilling registers in the AMD pipeline is on the horizon but the ability to spill would really halp to be able to compile cycles on AMD harware.

    Additionally the ability to control the ammount of registers the compiler is able to allocate would further allow the program to benefit of GCN

  • 12. Re: Blender Cycles(Opencl on AMD GPUS)
    himanshu.gautam Master
    Currently Being Moderated

    Thanks for the feedback. I will let the relevant people know.

    Regards

    Himanshu , Bruhaspati

    --------------------------------

    The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors. Links to third party sites are for convenience only, and no endorsement is implied

  • 13. Re: Blender Cycles(Opencl on AMD GPUS)
    tommie Newbie
    Currently Being Moderated

    Any developments on this topic yet?

    I think this topic should get high priority within the AMD development. AMD and thus almost all Apple users are unable to use these powerful features in blender!

     

    Thanks for the update!

  • 14. Re: Blender Cycles(Opencl on AMD GPUS)
    himanshu.gautam Master
    Currently Being Moderated

    The issue is being undertaken at high priority. Currently i have nothing to share publicly. I will ask for the status again. Thanks for your patience.

    Regards

    Himanshu , Bruhaspati

    --------------------------------

    The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors. Links to third party sites are for convenience only, and no endorsement is implied

1 2 3 Previous Next

More Like This

Legend

  • Correct Answers - 4 points
  • Helpful Answers - 2 points