Page MenuHome

AMD OpenCl kernel compile failure
Closed, ArchivedPublic

Description

System Information
Ubuntu 14.04 LTS 64-bit
AMD A8-5550M APU with Radeon(tm) HD Graphics × 4
AMD Radeon HD 8550G
8GB ram

Blender Version

Short description of error
Kernel fails to build if OpenCl GPU computations is enabled in Cycles.

Device init success
Compiling OpenCL kernel ...
Build flags:  -D__NODES_MAX_GROUP__=3 -D__NODES_FEATURES__=4 -D__MAX_CLOSURE__=4 -D__NO_HAIR__ -D__NO_OBJECT_MOTION__ -D__NO_CAMERA_MOTION__ -D__NO_BAKING__
OpenCL build failed: errors in console
Error: OpenCL build failed: errors in console

Exact steps for others to reproduce the error

  • Open user pref
  • Select system tab
  • Chose OpenCl as compute device
  • Save settings
  • Change device to "GPU Compute" in the render properties panel.
  • Press "Render" button

Event Timeline

Oren Titane (Genome36) raised the priority of this task from to 90.
Oren Titane (Genome36) updated the task description. (Show Details)
Oren Titane (Genome36) edited a custom field.

Im currently using a LENOVO G505S laptop with dual graphics (2x GPU).

never tried before today.

Already got the latest drivers, yet i don'T know if the beta will be of use.

(II) fglrx(0):     Version: 15.20.2

@Sergey Sharybin (sergey) might you have more ideas I am also not has familiar with AMD GPU's so I do not know if you meet the minimum requirements of

OpenCL is supported for GPU rendering with AMD graphics cards. We only support graphics cards with GCN architecture (HD 7xxx and above). Not all HD 7xxx cards are GCN cards though, you can check if your card is here.

Taken from http://blender.org/manual/render/cycles/gpu_rendering.html#opencl

I am guessing that APU's are not supported if I am correct this should probaly be noted in the docs

APU or not, i also have a dedicated GPU: AMD Radeon HD 8550G.
I assume it is a "HD 8xxx" which is clearly above the "HD 7xxx" minimum.
I'll have to inform myself about the GCN though.

The Radeon HD 8550G is a "Terascale 3" type architecture ......

Hi, this might be a duplicate of T46906, could you check whether it is resolved with rB8512e284?
If not, could you attach the build error log that's printed in the console?

Looking into 2.76b.log I suppose that it is most likely another bug, because of the AMD driver reported, which goes not through Clang path yet. But let's wait for the build log.

Made sure to Download the lastest linux x86_64 build including T46906.
It compiled for a few minutes, took up to 4GB of memory and then failed again. At least it's trying this time :|

Here is the debugging log:

Bastien Montagne (mont29) raised the priority of this task from 30 to Normal.Dec 11 2015, 10:02 PM

Meh, see no compilation error in this log, only warnings… another stupidity from OpenCL compiler?

Hi, I've been able to access my,A10-7870K APU, the R7 onboard GPU & my R9390 on Debian Jessie, using CYCLES_OPENCL_SPLIT_KERNEL_TEST=1 and running CYCLES_OPENCL_TEST=all ./blender. You need the latest Crimson drivers, not the beta(haven't tried the beta), but run it --force, with 'amd-libopencl1', 'amd-opencl-dev', 'amd-opencl-icd' loaders installed. After you install the drivers run 'aticonfig --initial --adapter=all' & 'aticonfig --xinerama=on' before you reboot. If I don't use Xinerama, my Cinnamon desktop crashes. I found this all out when I updated my kernel & the opensource opencl icd loaders failed to access the GPU's (was working before), but I never had access to the APU until I used it with the amd opencl loaders installed. So now I can use the APU and have access to the 32gb system ram I have. Don't know it this can help. I'm using Blender 2.76b.

Sergey Sharybin (sergey) triaged this task as 30 priority.Dec 14 2015, 6:07 PM

It could be simply a bug in the drivers which fails to compile non-pathtracing kernels. Please check whether this works when using single compute device i the user preferences. Also please run blender --debug-cycles and attache the output (as a file) to get some more additional information.

Hi, I'm including 3 debug senarios.

  1. Xinerama disabled, onboard R7 disabled, R9 enabled
  1. Xinerama enabled, R7 enabled, R9 enabled.

3 Xinerama enabled, starting Blender with CYCLES_OPENCL_TEST=all /home/{USER}/bin/blender*/./blender --debug-cycles.

Did you actually try to render when was collecting the output? Please include *full* log of blender --debug-cycles when trying to render.

Hi, sorry no, misunderstood what you meant. I used the BMW benchmark for these.

  1. R9 gpu-1 tile:
  2. R9 gpu-12 tiles:
  3. R7 gpu-1 tile:
  4. R7-gpu-12 tiles:
  5. R9 gpu+R7 gpu-12 tiles:
  6. R9 gpu+APU-12 tiles:
  7. R9 gpu+R7 gpu+APU-12 tiles:
  8. APU-1 tile:
  9. APU-12 tiles:

Renders quicker with a single tile vs 12 tiles with a single gpu or APU.

Hello, sorry for the long delay.

I had to reinstalled UBUNTU and had a few issues afterwards with FGLRX itself.
Finally found the issue related to it, seemed i had to also install FGLRX-DEV to be able to have blender use my AMD RADEON 8550G GPU.

Now back to blender cycles rendering: I have enabled xinerama and all adapters for aticonfig.
Here is the outputs log after running this command: CYCLES_OPENCL_TEST=all CYCLES_OPENCL_SPLIT_KERNEL_TEST=1 .blender/blender --debug --debug-cycles

APU + GPU


APU
GPU

I Have done some research about my device AMD Radeon 8550G.
According to this wiki link https://en.wikipedia.org/wiki/Radeon_HD_8000_series#Richland_.28HD_8xxxG.29_series, my device codename should be SCRAPPER and not DEVASTATOR as blender prints out in logs.

Bastien Montagne (mont29) raised the priority of this task from 30 to Normal.Dec 25 2015, 2:56 PM

From that wiki page it looks like 8550G is not a GCN card, and so as a result Cycles GPU rendering is not supported on it. While AMD named these cards as HD8xxxG they are actually rebadged HD6xxx cards.

Solving this bug then seems to be a matter of updating the documentation and perhaps the GPU detection code.

Just for your info, you can't use the APU to render anymore with fglrx-15.302 drivers. AMD fixed the need to use Xinerama with multiple cards and running 'aticonfig --initial --adapter=all'.

The driver runs best on Debian Jessie using Linux kernel 4.2. and the latest amd-opencl modules from backports.

This is the debug file.


Using APU+R9+R7 GPU's on Blender 2.76b.

The development builds fail to render with only GPU's and APU's + GPU's.
Debug file for GPU's.


Debug file for GPU's+APU.

Sergey Sharybin (sergey) changed the task status from Unknown Status to Unknown Status.Dec 28 2015, 2:53 PM
Sergey Sharybin (sergey) claimed this task.

This seems to be a regular driver failure which does not even give any reasonable error message.

While this is annoying to have non-working Blender, it's something where external dependencies are the weak point and we can't solve those.

I'll be having a closer look into all the split kernel work AMD did originally and redoing it in a cleaner and more robust way since mid-Jan. For until then it's nice to have this report for the reference, but would rather consider this a TODO.

Cool, I can still use 2.76b with my GPU's so no problem there. Thanks for the help and good work, looking forward to seeing the improvements in the next release.

It seems to be the linux kernel that's causing problems with the APU, everything works with the 3.16.0-4-amd64 kernel using the latest drivers. The development builds of Blender works properly as well, my systems fully functioning now.

This seems to be the same issue with my machine too. I'm runnng Windows 10 - 64-Bit Pro.

It worked in a previous build of Blender - 2.6# I think.

I'm currently on 2.78c and it crashes.

Please open a new report.