Page MenuHome

Blender crashes when rendering on GPU with RadeonSI / GCN 1.0 card
Closed, InvalidPublic

Description

I recently attempted to try OpenCL rendering in Cycles once more, using a recent nightly build of Blender 2.79 (2.78.5). Unlike previous attempts, recent versions of Blender seem to get a lot further with my GPU: The Kernel appears to be successfully compiled, however Blender crashes immediately after that and before rendering.

Notice: It's possible that my GPU might not be officially supported, I have not recently found the list of supported cards. However I still considered this a problem worth reporting, as the cause of the crash might be unrelated whereas fixing support for any video card (especially one that appears close to working) seems like a valid proposal. By default I don't get a GPU device listed, and need to launch Blender with the following variables which then lists it:

CYCLES_OPENCL_TEST=all CYCLES_OPENCL_SPLIT_KERNEL_TEST=1 ./blender

My video card is a Radeon R7 370 from Gigabyte (RadeonSI, GCN 1.0, AMD Pitcairn Islands). My OS is Linux openSUSE Tumbleweed x64. I have the following relevant system components: Kernel 4.11.6, Mesa 17.1.3, DRM 2.49.0, LLVM 4.0.0. Logs will be attached to this report soon.

Details

Type
Bug

Event Timeline

You can try the debug panel by running blender with the argument --debug-value 256. In render Properties a Debug panel will show up where you can pick some OpenCL options. Those will override the default settings and checks from the UI and Cycles.
As it is the current state, the GCN cards bellow 2.0 are not officially supported. There is a chance that some cards may work ( like a R7 360 which is GCN 1.1) but still they're not enabled by default.
https://docs.blender.org/manual/en/dev/render/cycles/gpu_rendering.html#opencl

Also those Mesa drivers worked before with OpenCL rendering?

Bastien Montagne (mont29) triaged this task as Normal priority.

@Mai Lavelle (maiself) weill let you decide on that one, but indeed afaik GCN 1.0 is not supported, so…

Thank you for those suggestions, and pointing out that debug parameter. I gave it a try, and found some differences with two debug options:

When using the "split" kernel (which I assume is default), I get the crash I mentioned. However when using the "mega" kernel, I only get an error within Blender saying that the Kernel failed to compile.

The second difference is when disabling the "Single Program" checkbox: I still get the crash, however more programs seem to compile before that happens.


As for support, I remember once reading that the official stance was "all GCN cards are supported, but we can't guarantee that cards not officially tested and listed will work". I actually bought this video card with Blender in mind, hoping that anything modern and GCN enabled was a safe option. Blender has been very picky and "discriminatory" when it comes to video cards and allowing GPU rendering, with seemingly just a few users privileged to have this feature (at least for AMD / OpenCL)... therefore I hope this can be further investigated, and not closed with a simple "we don't support this card at this time" note.

Mai Lavelle (maiself) closed this task as Invalid.Jun 28 2017, 6:09 AM

Thanks for the clear and detailed report. I will fix the errors seen with the mega kernel, but that does not mean you will be able to use it to render with your GPU.

Mesa drivers are known to have issues running Cycles kernels, the latest drivers from AMD are required. Only GCN 2.0 and greater are supported, as drivers for older cards are buggy and not being maintained. It is unfortunate, but there's nothing that can done.

And just a quick note: options like CYCLES_OPENCL_TEST and the debug panel are hidden for a reason, they are not unlike the experimental feature set, in that they are not intended for everyday or production use, they are very much "use at your own risk."

I'm am closing this report as there is nothing we can do in Blender or Cycles code to fix the issue.

Note that 2.78c works for this card, at least on windows.

I understand... thank you for clarifying. It's especially sad that Blender can't get better GPU Compute support for Mesa & the radeon driver; With Blender being open-source, many of us use Linux over Windows, and most of those will avoid all proprietary software including proprietary video drivers (for ATI cards, fglrx). Same reason why I have an AMD card instead of Nvidia... IIRC Cuda is proprietary and not available in Nouveau, but OpenCL is an open-source standard.

Perhaps this will change with amdgpu... which is the new official driver developed by AMD, but also open-source thus the new default for Linux as well. Obviously that will prompt a new report , currently the driver doesn't support my card so I cannot test the behavior of Blender OpenCL on it at this time.