Live data from Hacker News

Blender 3.0 takes support for AMD GPUs to the next level

gpuopen.com

51–60 of 117 posts

Re: Blender 3.0 takes support for AMD GPUs to the next level

#51
post #11

It's good that AMD is providing support for some of their customers since OpenCL is being removed in 3.0. I hope that this is just the start of far greater investment into their software ecosystem. It was understandable that AMD invested less in drivers and support software when they were almost bankrupt but that excuse is drying up. There are rumors that future AMD GPU architectures will be quite good and it would b…

AMD didn't have the money to spend on software as much as Nvidia and intel were able to now that they do they seem to be investing heavily into software. Xilinx acquisition should also help with that.

Re: Blender 3.0 takes support for AMD GPUs to the next level

#53
I cannot understand Blender's inanely arcane interface

Every tutorial out there seems to be for a drastically different version where half the shit no longer works in the current one without delving into more and more hidden menus

Every feature is its own labyrinth of menus, every model downloaded seems to be customized to a unique version with nothing similar to another

It is massively disheartening to try to comprehend video tutorials when they're pressing keyboard shortcuts at 20k wpm without explaining them and scouring over every detail trying to understand what they're doing turning an hour long tutorial into a day of confusion

I made a shitty donut and don't even know how I did, that's it

Re: Blender 3.0 takes support for AMD GPUs to the next level

#54

> This removed OpenCL™ support for rendering on AMD GPUs for technical and performance reasons. So, that's it, OpenCL is out the door, no more standardized way to write GPU compute code, I guess.

> Luckily, AMD has an open-source solution for developers just for that. HIP (Heterogeneous-computing Interface for Portability) is a C++ runtime API and kernel language that allows developers to create portable applications for AMD and NVIDIA® GPUs from a single source code. This allows the Blender Cycles developers to write one set of rendering kernels and run them across multiple devices. The other advantage is that the tools with HIP allow easy migration from existing CUDA® code to something more generic.

Re: Blender 3.0 takes support for AMD GPUs to the next level

#55
post #45
post #43

Earlier quoted context omitted.

Well ROCm and HIP are "open" and run on AMD and Nvidia GPUs. I'm sure AMD would've been happy for Intel to build on that. But they didn't. "oneAPI is a cross-industry, open, standards-based unified programming model..." I'm sure they'd be happy for AMD to build on that. But they won't. I think they'll both push their own APIs as the portable standard, but they can't rely on their competitors to contribute. Intel has…

Are ROCm and HIP considered any good? I've long since given up trying to figure out what ROCm is and what "installing it" means but I suppose it might be time for another attempt. I see PyTorch supports it now.

I don't. Imo it's still a clusterduck. Issues with modern kernels. Pull requests by volunteers that fix these issues go ignored for months. Like GP said, before the ryzen launch I could see why software is in such a bad state, but today there is no excuse for being that understaffed.

Also their hardware is notoriously buggy. PCIe passthrough especially, google the PCI reset bug if you wanna know more. There is a project called vendor reset on github that reverse engineered the issues and works around them. The author is sure the issue can be fixed by a firmware update to those cards, but although initially AMD engineers showed interest, further attempts at coordinating proper fixes with them failed. Requests for documentation of affected cards were denied. Compare to Intel where you can freely download all the documentation about their GPUs, with registers, internal state, everything you'd need to write a driver from scratch. People want to fix AMD's shit for free but they don't want that.

We recently had calls with NVIDIA, AMD and Intel regarding their enterprise gpu offerings. NVIDIA and Intel were quick to respond and offer a meeting, AMD took forever. Followup questions, even very technical were answered within two days by Intel with concise to the point answers, no bullshit. With AMD they bounced around for two weeks until we got somewhat useful answers.

I really hate NVIDIA, it's a horrible, greedy company with a shitty attitude. I was excited about ryzen. I'm almost an AMD fan boy in the desktop space. I like competition, when the underdog rises from the ashes. But oh boy, AMD GPUs in the server/enterprise space a a clustersuck; buggy hardware, shitty drivers, clueless salesreps. You really have no choice but NVIDIA if you don't want to hire an expert working in getting these cards to work with anything more advanced than having them encode video in hardware or something.

We really hope Intel will deliver.

Re: Blender 3.0 takes support for AMD GPUs to the next level

#56
post #50

Earlier quoted context omitted.

So it depends a lot on the goals. CUDA is a very good developer experience, and Vulkan compute shaders is (at the moment) a very bad one. But if the goal is to ship real compute on a wide variety of devices, Vulkan is pretty close to the only game in town. I also expect the language support and tooling to get a lot better. The fact that it's based on SPIR-V means it doesn't lock you into any one language, it's possib…

If I have learned anything from Khronos APIs is that if Internet was a Khronos standard instead of IETF, we would only have IP as standard, while everyone else had to come up with TCP, UDP, HTTP,... as extensions. Language support and tooling are never better than the alternatives.

Blender decided to support just the platforms which have a C++ target device language.

This encompasses CUDA, Metal[1] (one of the reasons why it’s much more usable than Vulkan), ROCm HIP, and oneAPI[2].

[1] Metal’s Shading Language is C++14 with a handful of limitations, the biggest one is no lambdas

[2] Vulkan uses a restricted SPIR-V dialect without pointers notably. OpenCL and oneAPI use a separate one which _does_ support them. However, AMD[3] and NVIDIA do not implement SPIR-V in their OpenCL drivers.

[3] it’s a trainwreck, they supported the original SPIR but then https://community.amd.com/t5/opencl/spir-support-in-new-driv... happened. It never came back since then.

Migrating back down to GLSL/HLSL from that makes absolutely no sense. The options above, using C++ as a device language, allow much more code sharing with a CPU backend.

Portability is also a good story, the adaptation is mostly in the glue layer, if your GPU vendor is _not_ AMD and has a proper software stack.

Re: Blender 3.0 takes support for AMD GPUs to the next level

#57
post #4

Earlier quoted context omitted.

I wouldn't go that far. Nvidia and even Intel have had hardware-accelerated features in Blender (RTX-acceleration and Optix, respectively), so this is more about getting them back on the same level. I do really like AMD GPUs though, I'd be interested to see how this performs on their APUs with the Vega graphics.

OptiX is not an Intel technology, both CUDA and OptiX rendering backends for Blender's Cycles are powered by Nvidia.

OptiX is not an Intel technology

Probably meant Embree

Re: Blender 3.0 takes support for AMD GPUs to the next level

#58

Earlier quoted context omitted.

I don't see it happening. AMD like Nvidia want to keep their big corporate clients locked into their ecosystem. If Intel were clever like a fox, they'd invest heavily in making oneAPI work well on both Nvidia and AMD platforms. As a new market entrant they have nothing to lose, but everything to gain by luring companies into a vendor agnostic solution. They've already starting doing this to a degree, but only in part…

AMD's biggest problem right now is overcoming Nvidia's inertia for compute. This is the classic case where open standards happen. Everybody but the incumbent joins in, then all of them put together is a large enough target to attract developers. Then the open standard and the proprietary one coexist as long as any of the vendors implementing the open standard is competitive, but if the vendor with the proprietary sta…

But wasn't it already tried with OpenCL... And quite failed to just do that? For now, in parallel to efforts to reach parity to cuda or something, I'd rather have them optimize the mother out of the necessary libraries (tensor basic blocks, basically reaching cudnn/tensorrt-level, crazy limit-of-hardware BLAS stuff, and most of the API landscape)... 47tflops that I can't use because I have to reimplement and optimize the basics isn't that interesting, except for supercompute.

Re: Blender 3.0 takes support for AMD GPUs to the next level

#59

Glad to hear it. We're going on 10 years since Blender notionally got OpenCL support, I bought an AMD GPU on that basis, found out that the "OpenCL support" was so thoroughly dismal that it was slower than my CPU, sold my AMD card, ate the ebay fees, bought an NVidia card, ate the green tax, and got on with my work. I had to repeat that lesson a few years later with deep learning code before it stuck. Hopefully this…

I wish I could be that guinea pig, but looks like this is a Windows-only thing, and I'm on a Mac.

I’ve a 2019 16” and the only way to make good use of my AMD GPU with Blender is with AMD’s Radeon Pro Renderer.

https://www.amd.com/en/technologies/radeon-prorender

Re: Blender 3.0 takes support for AMD GPUs to the next level

#60

I cannot understand Blender's inanely arcane interface Every tutorial out there seems to be for a drastically different version where half the shit no longer works in the current one without delving into more and more hidden menus Every feature is its own labyrinth of menus, every model downloaded seems to be customized to a unique version with nothing similar to another It is massively disheartening to try to compre…

It's a powerful tool and it takes time and effort to learn. I was in the same boat as you when I started, but after ~3 years of using Blender more or less daily I find the UI very intuitive and powerful.

One of the nice things about having a very active community is that there's always new tutorials being made, often at the beginner level, on the very latest versions.

Post reply on HN