Who is to blame for the bad OpenCL Performance? Blender or AMD?

1 : Anonymous2021/04/19 12:00 ID: mtz22q

//Edit: Not to confuse some People. 90% of this Post talks about Windows!

I am a bit annoyed right now.

Around a year ago I got into Blender. Learning pretty much every aspect of it.

A few months ago my RTX2080ti died. Leaving me with the only escape of a 6900XT.

Dont get me wrong. I love the Card for gaming and VR sooooooo much. Silent and powerfull.

But with Blender? A complete HORRORSHOW!

Viewpoint GPU rendering was fast and snappy with CUDA or OptiX. With AMD and OpenCL? Slow to start and crashes/hangs alot.

Dont get me started on rendering itself. I had 3 Driver Crashes alone in the past week where I rendered everyday atleast once.

The funny thing tho... LuxCoreRender Standalone is fast as hell. Heck, even other 3D Programms with OpenCL Render like Cinema4D using U-Render is ultra fast and snappy.

A lot of people in the Blender Community shift the blame on the AMD Driver. But somehow I dont belive it. Other Programms can use OpenCL just fine.

And on Linux? Wow. Blender just straight up does NOT work. Manjaro using the AMDGPU-PRO Drivers.Starting the Viewpoint Render just straight up crashes the whole Linux Distro. Deeplearning with OpenCL Backend and CryptoMiners wich use OpenCL work without an hitch.

What do you guys think? Looks alot like dodgy OpenCL Coding for me.

2 : Anonymous2021/04/19 14:07 ID: gv2zly2

I'm a developer and I just got a 6700xt. I've been having a tonne of issues with my opencl code - previously tested and working on an R9 390 - experiencing multiple significant issues. Eg device side enqueuing seems entirely broken, compiling for cl 2.2 crashes, cl/gl interop doesn't work etc. I've been doing opencl for a long time under this framework I've built, so I'm reasonably sure the code is correct

As far as I can tell, the drivers aren't there yet. There seems to be something meaningfully different under the hood judging by the error messages, so it might take a bit to stabilise

Disclaimer: this is somewhat speculation, but I can confirm that at least one of these issues at least is a driver bug

ID: gv34c8y

Just to clarify, AMD's OpenCL compiler only supports OpenCL C 2.0, 2.2 is not supported.

Regarding device side enqueueing and cl/gl interop, what issues are you having? From my experience they are working.

ID: gv375zz

Yeah, on different devices it simply silently ignores the flag which is how I discovered it

Regarding device side enqueueing and cl/gl interop, what issues are you having? From my experience they are working.

For a specific code example, this dummy device side enqueue causes a crash complaining about clGetPipeInfo. Commenting it out prevents the crash

or

for the example in context

For cl/gl interop, I'm simply finding that the texture is totally black. I'm rendering to an OpenGL texture, which is then blitted via ImGui's texture support. I haven't done much debugging here, so it may be that the code is simply broken. A quick test of a 3rd shows its working there, so that's 1/3 that are working correctly so far

ID: gv39ykb

A quick debug shows that creating an OpenCL texture from an OpenGL texture which has mipmaps no longer works for me. I only ever create from the 0th mip level (and in my code all OpenGL textures have mipmaps by default, because its a general texture class). Disabling mipmap generation seems to make it work again

ID: gv2zsl4

Thanks for the Insight. Its just so strange that other Programs work so flawlessly. I mean all thos CryptoCoin tools have no Issues. Other Render Toolsets have no Issues. Its just Blender that gives me so much Problems.

ID: gv3kn85

"aren't there yet" I can assure you that they probably never will be there

ID: gv3l8yh

My old r9 390 was fine, and it was leagues ahead of Nvidias drivers when it came to OpenCL support /shrug. AMD are generally pretty good on it, and some of the workload I have is somewhat unusual. I'm not overly surprised that a brand new gpu has a couple of bugs

ID: gv42zfe

While I don't write code for GPU and can't offer any experience based insight when it comes to OpenCL, I'd have to say it's reasonable expectation that they will eventually iron out driver bugs. OP was previously using GCN base GPU which enjoys years of incremental hardware and software improvements. The same cannot yet be said for RDNA.

That being said wasnt OCL being phased out in favor of ROCm?

ID: gv44az1

We are gonna have a new driver very soon, the 21.4, you will be able to test if they fixed the issue

3 : Anonymous2021/04/19 14:43 ID: gv34dj6

I'm a bit surprised by this - we did a lot of Blender testing & performance work in the 20.45 Linux release and AFAIK re-tested in 20.50.

Guessing your early comments might be related to running on Windows ?

Re: Linux, which version of the AMDGPU-PRO drivers are you running ? Wondering if something might have gone wrong with the port to Manjaro, although IIRC the Arch/Manjaro packaging is usually pretty good.

ID: gv38gfv

Most of the Post is Windows Related. I was always reading that Linux support is so much better. So I gave that a try only to run against a wall headfist. Only that little part in my OP Post is Linux related. It was the 20.45 Version. 20.50 was not availible as an AUR.

Maybe it is a ArchLinux issue but I am most comfortable with that. Have jet to test out something like Ubuntu with AMDGPU-PRO.

ID: gv43jv6

It works but awful in it's own right...you have to run old version of Ubuntu made even more confusing by the hardware enablement stack. The basic consensus is it is good for mining...makes blender functional and davinci resolve usable but again you have to be stuck on a specific version of Ubuntu declared by the driver you download...crazy...on Arch you can use the mesa driver with opencl-amd (older made to work with opensource driver) at least for a streamlined experience.

ID: gv363mm

In my case cycles rendering stopped working with the 20.5 release. Blender froze while rendering.

I had to downgrade to 20.45

Gpu: 5700xt

Unfortunately I can't provide any logs or troubleshooting right now, I'm moving and the internet is not setup yet, so this comment is not very useful, but that has been my experience.

ID: gv4z78n

Thanks... still gives us an idea where to look.

4 : Anonymous2021/04/19 14:02 ID: gv2yz5x

Op, as a rule of thumb, if you're going to have a heavy usage of blender just get a nvidia card, it will save you a lot of headaches.

Source: person with a lot of headaches

ID: gv30aeu

Sorry.
Thants not a Solution to this. Have you tried to buy a Nvidia card nowadays? To a Price that isnt BATSHIT INSANE?

Not gonna happen. Got almost Scammed 5 Times with sellers at MSRP (thank god for my super nice Bank) and i simply wont pay 2000€ for a 3080.

ID: gv31hay

Well it’s either pay the price or live with headaches. There’s no solution to your problem.

ID: gv31l47

It's not a solution because there isn't one.

AMD is simply inferior when it comes to this, and after a long time waiting for things to get better, I've lost all hope.

ID: gv3b8ml

Have you looked at used Nvidia Quadros? Those are usually reasonable price wise and have better support for pro software.

ID: gv3xgei

Just don't assume your blender renders will even match up with renders made on other cards. Mine didn't.

5 : Anonymous2021/04/19 12:55 ID: gv2r16j

Manjaro using the AMDGPU-PRO Drivers.

Have you tried the open source drivers that come with the Linux kernel?

ID: gv2r8bl

Because Blender does not Recognise that there is OpenCL with the mesa-opencl Driver.

OpenSource OpenCL in Mesa is at a worst state than AMDGPU-Pro from what i could gather.

ID: gv34xgb

Opensource Kernel driver + Mesa (for GL+Vulkan) + ROCM (for OpenCL) is the way to go.

ID: gv2ym87

The opencl implementation needed for blender is not available on mesa.

ID: gv417uw

That's not what they're talking about. They were using amdgpu + the proprietary orca OpenCL driver from the amdgpu-pro userspace package

6 : Anonymous2021/04/19 14:42 ID: gv34943

[deleted]

ID: gv37vku

But I have been reading that ROCM does not Support the 6000 Series. Cant use ProRenderer tho. Looks like ass for Stylized NPR Rendering.

7 : Anonymous2021/04/19 18:14 ID: gv3ydeq

I am pretty sure it's a universal AMD OpenGL/OpenCL issue, given how bad OpenGL games perform with even the RX 6000 lineup.

I even think my X1 Carbon with iGPU can run Half-life, Unreal Tournament and other OpenGL games better than my desktop rig. For what it's worth, I just replayed Half-life this weekend and my average FPS was 93.2 according to Radeon Adrenalin. And then there are the random graphical artifacts. And before some of you say it's an old game, it still receives updates and I had zero issues with my GTX 1070 Ti.

8 : Anonymous2021/04/19 12:12 ID: gv2mo3y
AMD Radeon™ ProRender for Blender®

Now uses Radeon™ ProRender 2.01 with an improved rendering algorithm and support for hardware-accelerated ray tracing on AMD Radeon™ RX 6000 Series graphics.

ID: gv2q9x4

Yea. But that Renders Quality is Trash compared to Cycles and LuxCore

ID: gv3xtbt

ProRender is very very poor and limited - it's not a production solution, especially compared to OptiX / Cycles.

ID: gv2o9wy

Didnt LTT say this sucks ass or did AMD fix it?

ID: gv2qcia

No. Still sucks. Half of the Shaders dont work and Quality is Noticible Worse than default Cycles. And if you want to do NPR Rendering its even worse

ID: gv2oqe2

Isn't trying to use prorender in blender optimistic at best. Poor support Vs cuda and optix. Lots of crashing as well. Pretty sure there's no viewport acceleration either for render and denoise

ID: gv2qxq4

Yep. That too.
Other 3D Solutions work so much better than Blender on OpenCL and i think you really cant pin that one on AMD in that case.

9 : Anonymous2021/04/19 12:28 ID: gv2o8kv

[deleted]

ID: gv2qf1q

Why do other GPU Renderer wich use OpenCL have no Issues then?

ID: gv2qrzv

Only their Windows OpenGL driver, and OP is asking about OpenCL, not OpenGL.

10 : Anonymous2021/04/19 17:02 ID: gv3ny4o

Welcome to AMD gpu club, rooms for crying over bad purchasing decisions are reserved for 4 months in advance.

Radeon have good performance in games that use modern APIs (openGL and old directX optimisation sucks ass, java minecraft for example is 4-8 times worse on my new rx5700 compared to my old 750ti)

For 99% of workstation applications performance is significantly better on Nvidia. OptiX is like 4 times faster then openCL for blender.

And on top of all that nvidia have a few game-changing features like dlss that AMD have no answer to at all (fidelityFX superres maybe will get there by the end of 2021, but we yet to know anything about performance/visual quality so i don't have a lot of hope for it).

ID: gv42flb

My stance on DLSS is controversal to say the least. I dont like it. Its a Crutch to sell you Raytracing Tech wich isnt Ready for Native use yet. So yeah. Not a Gamechanger for me. Never turned it on back when I had the 2080 Ti. Didnt like how it looked at all.

11 : Anonymous2021/04/19 18:06 ID: gv3x76j

Back when the 5700XT came out I got one and did a side by side blender test against a 2070.

Not only did the 2070 obliterate it in speed, the 5700XT didn't render the scenes correctly. That meant I wouldn't be able to mix frames from the two cards.

Having the render be inaccurate on the AMD card meant I couldn't trust it at all for Blender even if it was slower, and I returned it.

12 : Anonymous2021/04/19 18:09 ID: gv3xkg5

Nvidia.

13 : Anonymous2021/04/19 18:09 ID: gv3xmls

AMD gave up on its prosumer and enthusiast customers with RDNA. So now you either deal with the horrid Nvidia drivers, get 2 GPUs, or pray to god that Intel puts out a half-decent GPU whenever they get around to it.

14 : Anonymous2021/04/19 18:55 ID: gv446p2

This has been an issue for a long time, i still can replicate a memory leak bug on OpenCL from 2.8 to 2.91.

ID: gv47jlf

Yep. Ran in one of those too while Rendering on Windows. Simple Scene taking the Whole 32GB of RAM and 64GB of Pagefile.

15 : Anonymous2021/04/19 21:32 ID: gv4pnnt

A rule of thumb for the amdgpu-pro driver is that you want the exact version of ubuntu that it was built on. Usually that's the latest ubuntu lts version, which would be 20.04 right now. Other distros do a pretty terrible job at re-packaging the drivers, so it almost never works without problems.

16 : Anonymous2021/04/20 01:53 ID: gv5lc9b

Honestly, CUDA is just that far ahead in most commonly used commercial software. If your workflow involves any application that works with CUDA, you should probably just get an nvidia card to avoid headaches UNLESS it is very well documented and reported to be working well on AMD cards.

It's not going to get better any time soon either; AMD has been far behind commercial compute software for years now with no signs of catching up any time soon.

17 : Anonymous2021/04/19 15:49 ID: gv3dmi1

Blunder.

18 : Anonymous2021/04/19 16:27 ID: gv3iwzx

Who is to blame for the bad OpenCL Performance? Blender or AMD?

Both?

Other Programms can use OpenCL just fine.

Different OpenCL programs do different things in different ways.

It might be more productive to report your issues to Blender devs instead of ranting on Reddit btw.

ID: gv3kq6i

As said already, here, you would know if you would read, the Blender Community dismisses these Issues as AMD Driver Issues.

引用元:https://www.reddit.com/r/Amd/comments/mtz22q/who_is_to_blame_for_the_bad_opencl_performance/

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x