Older GPU Support

I would like to suggest the ability to use older GPU’s as a rendering option. For example ever since 3.0 came out I have not been able to use my AMD RX570 to render at all (to my knowledge). So I’m forced to use anything other than cycles to render my project. So now if I want to do anything at a higher quality I am forced to use the older versions of blender because my GPU is supported there. I just find it weird that the lack of older gpu support isn’t incorporated in anyway considering not everyone can afford the “latest and greatest” hardware. Especially at the moment considering how bad inflation has gotten. I suggest either an alternative rendering method that allows users of older hardware to render using that. Or perhaps adding OpenCL back along side HIP for another option.

If I am wrong about this please let me know what I can do to use my GPU as an option. I am very much open to being wrong and criticisms.

I should start by stating that a request for developers to add support for specific GPUs is considered a “feature request” and is thus better suited for the “Right Click Select” website. Right-Click Select — Blender Community
But I have explained why expanding GPU support to older GPUs might be unlikely below.

GPU rendering in Cycles in Blender version 2.93 and earlier is generally provided using CUDA + OptiX (limited to Nvidia GPUs) or OpenCL (capable of running on a wide range of hardware).

Over the years, the Cycles developers faced various issues with OpenCL. Issues with maintaining the code, issues with certain GPU drivers from certain manufacturers (something the Blender foundation could not fix on their own), and things like that.

So in Blender 3.0 when the Cycles development team decided to re-write Cycles in the project called “Cycles-X”, they decided to remove OpenCL support due to all the issues they experienced. Following that, AMD, Apple, and Intel all started to contribute code to allow Cycles to run on their GPUs with the HIP, Metal, and OneAPI rendering backends respectively.

Based on the fact OpenCL was removed due to various issues, I believe it is unlikely that the Blender foundation will add it back. So support for older AMD GPUs probably won’t be achieved via that method.

However, it is possible for HIP and OneAPI to be expanded to support some older GPUs. The issue is that adding support for older GPUs with HIP may require quite a bit of work on the behalf of AMD that they may not seen as an “acceptable investment of time and money” (especially considering that the Polaris architecture (like the RX 570) is already “not officially supported” in the latest version of HIP - at least from my understanding).

The OneAPI implementation in Cycles could be expanded to run on AMD GPUs (although I do not know which GPU models would be supported). But the focus at the moment is to ensure OneAPI is working well on Intel hardware, and expanding support to other GPUs is either not planned, or is low priority at the moment.

As for Metal support. With regard to Apple and AMD GPUs, I believe it already supports as many GPUs as possible (based on the requirements for the Metal rendering backend to work). This includes the RX 570! However, it is limited to MacOS as Apple does not distribute the tools required to run Metal on other operating systems.

Cycles could have a OpenGL, DirectX, or Vulkan rendering backend added to it which would allow for many different GPUs to use it (including the RX 570 in most cases). However from my understanding these programming languages are so different from everything else used in Cycles that it would add a lot of maintenance cost (time spent maintaining multiple versions of code when a feature is added or changed) that the Blender foundation does not wish to take on due to limited time, people, and budget.


In summary, Cycles could have support added for some older GPUs (like the RX 570). However, adding support is either out of control of the Blender foundation, a low priority, or would introduce a lot of maintenance cost for the Cycles code base depending on the approach taken. And as such, support for these older GPUs may not be re-implemented.

6 Likes

I appreciate the response! Thanks for making it a bit more clear to me on why the current GPU support is the way it is. As I am one of the newer blender users myself it is great to see how informative the community is.

Back to the topic though. I suppose I will just stick to the latest version of blender and use Eevee as my engine because in my opinion the newer features definitely help with my workflow. I will just invest in a better system overall that is more suited for a “modern-day” Blender workspace (when the time comes).

Once again thank you!