Blender crashes when rendering on GPU with RadeonSI / GCN 1.0 card #51911

Closed
opened 2017-06-27 14:08:36 +02:00 by Mircea Kitsune · 16 comments

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.

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.
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @MirceaKitsune

Added subscriber: @MirceaKitsune
Author
[blender_log.txt](https://archive.blender.org/developer/F644245/blender_log.txt)
Author
[blender_crash.txt](https://archive.blender.org/developer/F644246/blender_crash.txt)
Author

blender_panel.png

![blender_panel.png](https://archive.blender.org/developer/F644247/blender_panel.png)

Added subscriber: @VukGardasevic

Added subscriber: @VukGardasevic

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?

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?

Added subscribers: @MaiLavelle, @mont29

Added subscribers: @MaiLavelle, @mont29
Mai Lavelle was assigned by Bastien Montagne 2017-06-27 14:33:03 +02:00

@MaiLavelle weill let you decide on that one, but indeed afaik GCN 1.0 is not supported, so…

@MaiLavelle weill let you decide on that one, but indeed afaik GCN 1.0 is not supported, so…
Author

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.

blender_log_mega.txt
blender_log_singleprogram.txt

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. [blender_log_mega.txt](https://archive.blender.org/developer/F644264/blender_log_mega.txt) [blender_log_singleprogram.txt](https://archive.blender.org/developer/F644265/blender_log_singleprogram.txt)
Author

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.

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.
Member

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Member

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.

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.

Added subscriber: @matali23

Added subscriber: @matali23

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

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

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.

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.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#51911
No description provided.