Cycles AMD HIP device feedback

I have bad news for you on the Optix front then.

Edit: To be clear, I don’t disagree personally that I think these things should be open sourced. However, companies do care about their hardware IP. The comments going all the way back in this thread are “When is AMD going to have it’s Optix-like solution” and now complaints that it is closed source similarly to optix??"

1 Like

Actually the news for me is that the RT library is not free and open source.
And from the license point of view, for what i understand, it cannot be distributed together with Blender GPL licensed code.

I’m curious about possible usage of self-build BVH, and using other primitives than triangles.

Does that mean HIP RT can possibly be extended to accelerate volume rendering with that method?

We already know how the situation is with Optix - making things difficult and proprietary is sort of Nvidia’s thing, so nobody’s suprised. AMD has always been the choice for FOSS/Linux fans so this is a slight disappointment but hey, as long as it works i’m fine with it. Does this mean we’ll have to use the amdgpu-pro driver in the future if we want hw-accelerated raytracing?

Like bsavery implied, Optix and CUDA are proprietary and there’s no incompatibility issues there. The situation is likely going to be the same for HIP-RT. Now, from what i’ve gathered, Intel is planning to use Embree for their Arc GPUs which is already open and used in Blender for CPU rendering since 2.90, so at least we’ll have that.

1 Like

To clarify and based on my knowledge ( but better ask confirmation to Blender Foundation ), Blender code is under GPL2+ license, Cycles is under Apache 2.0 license and the whole Blender distributed package is under GPL3+ license.

For this reason ( but as always better ask confirmation to Blender Foundation ) i think that you cannot distribute proprietary libraries with Blender GPL3+ package ( the Blender install to simplify).

I am using AMD® GPU also because i can use the free and open source driver under GNU/Linux.

It is my personal feedback and i think that it is on topic but i am aware that not everybody cares about free and open source software.

I prefer to not use proprietary software and/or drivers.
End of my feedback.

2 Likes

Of course you can bundle GPL software with proprietary software, but I don’t see why Blender even would in this case. I’d expect AMD to distribute HIP-RT either stand-alone or bundled with their drivers.

And hey, if you don’t want to use HIP-RT, you can always use plain HIP. HIP-RT will probably be faster (what’s even the point if it wasn’t?), but you have that option. With Nvidia, both Optix and CUDA are closed source. No idea how Intel oneAPI will be licensed.

From what i understand it’s just a dependency, not something Blender itself is bundled with. The amdgpu driver relies on firmware binary blobs where it needs to, so i wouldnt exactly call that fully “open source” either. Like i said, if you want more FOSS-friendliness there’s Intel

:laughing: :rofl:

The GPU (and also CPU) driver/firmware landscape is riddled with licensing troubles. It’s a sad state of affairs, but the only way to get some work done is to stick your head in the sand and go lalalacanthearyou. I really hate this. Also because each vendor needs to have their own flavor of the same thing and writing cross platform code (hardware platforms, in this case) gets harder and harder.

Sometimes it feels like it’s the early nineties again where if you wanted to get sound out of your game you had to write code for many many many soundcards because the idea of a ‘driver’ was nonexistent in DOS.

The only hope we have is Khronos. But they’re by default always a few iterations behind the cutting edge (though Vulkan seems to really take off for a change).

It’s a PITA. I read some topic about a linux distro who could not distribute blender with Optix enabled because NVIDIA has a restrictive license on the fscking headerfiles.

Sometimes I dream of a world where the raspberry pi foundation makes a GPU which actually blows the big 2 out of the water. Not a realistic dream, but a happy one :wink:

I’m sure most people, myself included, are pragmatic and don’t really care all that much as long as they get something that works and performs well, but there are open source purists (nothing wrong with that), and they tend to chose AMD over Nvidia, so it really shouldn’t come as a surprise to see this sentiment, especially in an AMD centric thread.

2 Likes

Hi everyone! Any thoughts why HIP is not working with RX6800m on a laptop?

Because HIP isn’t working well at all right now. Move to Blender 2.9.2 see if opencl works better for your hardware.

But it was written that HIP supports RX6000 series GPUs. Open CL works good but its older versions and not Cycles X. HIP crashes and dont work at all

1 Like

Linux Testers. TLDR: Latest Blender 3.2 nightly builds should work with ROCM 5.1 driver now.

Long story: There was a simultaneous change on the blender side that affected something in our compiler. We’re working to get that fixed and hoping to get Vega cards working for 3.3

On the HIP RT (hardware ray tracing) side, as readers of this thread saw we released the library, look for more info and definite date of this integrated to Blender in June / July.

3 Likes

It’s still crashing for me on ROCM 5.1.1 (opencl-amd) and 5700XT. I can only render a cube but that takes about 20 seconds.

edit: I assume you mean it should work with the upcoming ROCm release so crashing right now is normal.

Brain, I was wondering if you could clarify some things about the Linux implementation of HIP to clarify things for users and for assistance in writing the documentation about Linux support.

Let’s assume a user has downloaded a version of Blender for Linux compiled with HIP. And they have an RDNA2 graphics card that’s supported. What do they need installed for Cycles HIP to work?

In the commit message for official Linux support it says

This requires the 22.10 / ROCm 5.1 driver.
Source: rB179100c02126

I assume this means you need at least AMD Radeon Software 22.10?
What about AMD Radeon PRO Software? Does any version of that driver support Cycles HIP on Linux? Or will a future release support it?
Is there anything else I’m missing?

Am I mis-understanding something? Do you need both the AMD Radeon Software 22.10 and ROCm 5.1 packages installed for Cycles HIP to work?

1 Like

Just tested the 3.2.0 alpha (179100c02126) it crashed the display driver and X the first time but worked the second time… I didn’t try a third.

System Details
OS - 5.17.1-arch1-1
Drivers - Mesa 22.0.1 with propietary ROCM 5.1.1 from AUR opencl-amd package
GPU - RX 6800 (gfx1030)
Scene - Classroom
Tile Size - 2048
Samples - 300

3 renders with HIP on 3.2.0 alpha (179100c02126) got times, 00:46.04, 00:46.12, 00:46.14
3 renders with OpenCL on 2.93.9 (31712ce77a6a) got times, 01:35.81, 01:35.51, 01:35.70

If you want to compare apples to oranges I compared to the old 3.0 benchmarks from techgage. Running classroom at 2560×1440 with 256 tiles I got about 77 sec on HIP Linux which is fairly similar to the 85 sec for HIP windows considering 3.0 is nearly 4 months old at this point.

Congratulations to AMD and Blender, AMD Linux users will soon benefit from CyclesX as Windows users have. Hopefully HIP RT can be delivered in a timely manner resulting in competitive RDNA2 GPU’s.

1 Like

Did a quick test using ROCm 5.1.1 from rocm-arch, with some of my own scenes and the BMW scene. Doesn’t work, address boundary error while preparing textures. Probably caused by the bug bsavery mentioned. An untextured test scene I quickly threw together using Curtis Holt’s material test object and his procedural candy shader did work: 9’13" CPU, 2’46" GPU. Quite an improvement!

1 Like

Very nice, finally working on Linux, only funny thing is that CPU won´t add any performance on the rendering despite being used at 99% most of the render time

I windows platform 6800xt clock boosted to 2600mhz can only 1 minute 32 seconds to complete 300 samples, 6800 default 46s, linux this is equivalent to the performance of windows after opening Ray Tracing almost

6800xt theoretical performance at least 20 percent faster than 6800,46/1.2 equal to 36, linux is almost 2.7 times faster than windows rendering speed, reference cpu in linux speed 25-30 percent faster, that is 36/97/1.3 equal to about 2, that is to say, windows should be twice as fast to be a reasonable speed?