Maniphest T96614

and where is the promised support old AMD GPU and Linux AMD GPU driver?
Closed, Archived

Assigned To
None
Authored By
Alexander (deepforest)
Mar 18 2022, 10:33 PM
Tags
  • BF Blender
Subscribers
Alaska (Alaska)
Alexander (deepforest)

Description

System Information
Operating system: win10
Graphics card: rx580

Blender Version
Broken: 3.1

Short description of error

and where is the promised support old AMD GPU and Linux AMD driver?
https://developer.blender.org/T93837#1267730

Event Timeline

Alexander (deepforest) created this task.Mar 18 2022, 10:33 PM
Alaska (Alaska) closed this task as Archived.EditedMar 19 2022, 2:28 AM
Alaska (Alaska) added a subscriber: Alaska (Alaska).

Feature requests are not to be made on this website. This website is for reporting bugs and for developers to make tasks detailing projects they're working on. This post is not one of those. Hence I will close it.

As for when Linux and older AMD GPU support is coming to Cycles-X with HIP? All I can tell you is what AMD representatives have told the community.

Linux support is planned for Blender 3.2, or 3.3 at the latest. Development had been delayed meaning it could not be included in Blender 3.1.
Support for older GPUs like Vega and Polaris are "being investigated" with no time frame or promise that support will be added for them.

Alexander (deepforest) added a comment.Mar 20 2022, 4:59 PM
In T96614#1325799, @Alaska (Alaska) wrote:

Feature requests are not to be made on this website. This website is for reporting bugs and for developers to make tasks detailing projects they're working on. This post is not one of those. Hence I will close it.

Ok. And were is i can ask developers directly?

Linux support is planned for Blender 3.2, or 3.3 at the latest. Development had been delayed meaning it could not be included in Blender 3.1.
Support for older GPUs like Vega and Polaris are "being investigated" with no time frame or promise that support will be added for them.

Why you ignore or set aside or neglect LINUX and AMD hardware? Do you develop only for "brands" who pay you?

Alaska (Alaska) added a comment.EditedMar 20 2022, 10:49 PM
In T96614#1326220, @Alexander (deepforest) wrote:

Where is i can ask developers directly?

I'm not sure.

In T96614#1326220, @Alexander (deepforest) wrote:

Why you ignore or set aside or neglect LINUX and AMD hardware? Do you develop only for "brands" who pay you?

The HIP implementation in Cycles-X is developed by AMD. So the issue of lack of support on Linux and older AMD hardware so far is the "fault" of AMD.
As for why Linux support and older AMD hardware support is missing. It's due to bugs in the HIP SDK, compiler, and/or the GPU drivers. AMD needs to fix all of these issues before enabling support for Linux or older hardware. So far, AMD is expected to have a bunch of stuff fixed so Linux support can be enabled in Blender 3.2. And after that, they might investigate enabling support for older AMD hardware.

Keep in mind development is a long process. Especially when when multiple areas need to be developed (E.G. HIP SDK, GPU drivers, Cycles side code, etc). AMD is working on fixing issues and extending support. It's just that things are taking longer than many people want it too.

Alexander (deepforest) added a comment.Mar 21 2022, 12:01 AM

@Alaska (Alaska)
Thanks a lot for calm and detail explanation! And why you drop OpenCL if it works with new and old Radeons? So "green camp"(nvidia) with CUDA for you is looking attractive than amd, why? Because nividia have better drivers and technologies like cuda? So more open politics of Amd and GNU FSF philosophy is loosing to proprietary world?

Alaska (Alaska) added a comment.EditedMar 21 2022, 1:54 AM
In T96614#1326388, @Alexander (deepforest) wrote:

And why you drop OpenCL if it works with new and old Radeons?

OpenCL support was removed for a few reasons:

  1. Apple stopped supporting OpenCL on MacOS. This resulted in the Cycles team having to disable OpenCL on MacOS with Blender 2.80 and above to avoid issues.
  2. OpenCL support from AMD and Intel was not the best. Yes, they worked, but there would frequently be bugs in the GPU drivers from both of these companies.
  3. OpenCL was harder to maintain compared to CUDA?

As such, when the Cycles-X re-write occurred, the Cycles team decided it was best to just remove OpenCL as it wasn't working out well.
At around about the same time, AMD and the Cycles team were in contact. And AMD offered to port Cycles-X to AMD hardware using HIP. HIP has many advantages compared to OpenCL. AMD was willing to put more effort into making sure it worked well compared to OpenCL. And HIP is very similar to CUDA in terms of code style. Meaning maintaining HIP and adding new features to it is very similar to CUDA.

At the time the AMD team ported Cycles-X to HIP, their main focus was on "getting something working" before the release of Blender 3.0. As such, they focused on newer hardware first. Now that HIP is in Blender 3.0, AMD's focus has been on fixing bugs in various places to extend Cycles HIP support to Linux and potentially older GPUs. But it has taken them quite a bit of time to do that, hence why development appears "slow" in this regard.

In T96614#1326388, @Alexander (deepforest) wrote:

So "green camp"(nvidia) with CUDA for you is looking attractive than amd, why? Because nividia have better drivers and technologies like cuda?

Nvidia GPUs appear to be better supported in Blender's Cycles because Nvidia has put more work into making sure CUDA works well on their GPUs. CUDA is a relatively mature SDK. It has been well tested over the last few years and is relatively stable. Porting Cycles-X to CUDA was relatively easy.
AMD's HIP on the other hand had a lot of development take place in the HIP SDK in the months leading up to the Cycles-X port to make sure it worked properly with the code they were writing for Cycles-X. Bug fixes were introduced, new hardware support, support for Windows, etc were all introduced in the HIP SDK version required to for it to work with Cycles. The HIP tools required to get HIP working in Cycles is still "relatively early" in development compared to CUDA. Hence why it looks like CUDA is better supported than HIP.

In the future, it is expected HIP will probably continue to improve. But for many people, they don't want to buy hardware based on "what could happen in the future". They want to buy what works well for them now. In which case Nvidia is a better option for many people at the moment.

Alexander (deepforest) added a comment.Mar 23 2022, 8:13 PM

@Alaska (Alaska) Thank so much so detailed explanation! So we don`t must losing hope for supporting HIP on old AMD GPU and LINUX in near future?

Alaska (Alaska) added a comment.Mar 24 2022, 12:44 AM

Linux support for AMD HIP is planned for Blender 3.2 or 3.3.
Support for older GPUs is under investigation. It seems like support for Vega might also be enabled in Blender 3.2 or 3.3. Older GPUs like the RX 580 is still "under investigation" or may never be supported.