Cycles Apple Metal device feedback

With the latest build it is certain that when both GPU and CPU are selected in “Cycles Render Devices”, only GPU is being used.

MacBook Air 8c/8c on latest macOS Monterey

This is still an issue with the Jan. 13 build.

@Rafal-Sietnik
This should be solved in latest builds, fix from Brecht yesterday:

https://developer.blender.org/rBa3deef6fff7c395512cf56a64d6e026f84d95db2

Cheers, mib

2 Likes

Hi,

Few issues related to memory usage:

  1. Memory usage on CPU and CPU+GPU is 0
  2. On GPU only memory usage is 10x bigger than peak on CPU/CPU+GPU

I’m having a repeatable crash always when you navigate to the shader editor.

The version of Blender is 3.1.0 alpha and running it on MPB 16* M1 Max with Monterey.

Keep up the good work, the speed with GPU &CPU renders are blazing fast compared to 2.9.
I can’t wait to get to hands on with the production version for the apple silicon. :mechanical_arm:

Crashes and bug reports should be made to the Blender developers website. A bug report can be made by opening Blender, and selecting from the top Help -> Report a bug then filling out all the relevant information to help people reproduce the issue.

1 Like

Cheers, I sent the issue directly there. Just can’t wait the proper versions to land :smiley:

Michael Jones - by any chance did updated metal drivers make it into macOS 12.2? And if so, do they perhaps allow for Intel Mac render targets? (particularly AMD graphics cards). I’m not asking if that’s enabled in blender, I can run the dailies… and I am not asking you to rush anything - just if roadblocks have gone away?

6 Likes

What about AMD GPU Metal???

1 Like

AMD GPUs are planned for Metal support in Blender in the future according to the task linked below. It’s not implemented yet as further work needs to be done.

https://developer.blender.org/T92212

5 Likes

I hope it gets some love soon.

2 Likes

Just updated my OS to 12.3 (Beta) and I’m getting a full system crash when trying to render from the Viewport, even if it’s the default scene. After the OS update I update to the latest 3.1 Beta (ARM) and started getting the crashes.

I’m not sure if it’s Blender’s code or MacOS that’s causing the crash as it’s labor intensive to downgrade my OS back to 12.2.

I made a bug report ⚓ T95322 Viewport Render Will Cause Mac to Crash (ARM) but wanted to post here… one to see if others who are still on 12.2 are crashing when rendering to viewport, and two to make Micheal Jones aware of the issue. I didn’t want to take the liberty to tag him in my bug report.

1 Like

Does anyone how long it will be before the intel macs gain support for metal?

6 Likes

Blender 4.0 :rofl:
So sad not to be able to use my Radeon VII
:crossed_fingers:

3 Likes

I also would love to see my MacBook Pro 16 inch use the AMD GPU for my renders. Keep up the good work developers!

Thanks greatly to all involved in getting this work done, I have been using Blender for years but always on Windows, have moved to a Mac with the M1 and figured Blender wouldnt be much good, but damn, with Metal is is very impressive already.

These are my results in the BMW scene, I have used the one file since I started so I have a list of all the hardware I have had prior, lets me track where things are.

Of course it would never match the 3090 or 6900 but damn, it is matching my Radeon VII, thats impressive!

MacBook Pro M1 Pro
Metal - 31.73
CPU - 1:08.51
BOTH - 28.39

Threadripper 2950X & RX 6900 XT
CUDA - 14.48

Threadripper 2950X & RTX 3090
Optix - 9.58
CPU - 43

Threadripper 1920X & Titan Xp
BOTH - 20.14
GPU - 25.4

Threadripper 1920X & Vega 64
BOTH - 33.78
GPU - 36.77

Threadripper 1920X & Radeon VII
BOTH - 31.51
GPU - 31.97

1231v3 @ 3.4GHz
CPU - 4:46:38

1230v5 @ 3.5GHz
CPU - 4.07.20

4770K @ 4.00GHz
CPU - 4:21.41

E5 2670
CPU - 3.33.56

FX8320 @ 4.2GHz
CPU - 7.33.35

Ryzen 1700 @ 3.7GHz
CPU - 1.40.71

Ryzen Threadripper 1900X Stock
CPU - 1.35.26

Intel 2xX5660 Xeon @ 2.8GHz
CPU - 2.21.53

GTX 970
Stock GPU - 1:44:08
OC GPU - 1:42:85

GTX 980
Stock - 1:38:97

Fury X
Stock - 57:31

Titan X Pascal
Water Cooled - 49.56

Vega FE
Water Cooled - 45.63

4x GTX1060
Stock - 56.20

GTX1060
Stock - 1.52.05

4 Likes

I would like to add a comment here as the results provided may confuse some people.

For performance comparisons between various pieces of hardware to be considered “relevant”, two main conditions must be met:

  1. All devices must be running the same program. In this case, it means all devices should be using the same version of Blender/Cycles.
  2. The input and output from these tests must be identical. This means the same .blend file is used in every test, and the final output render should look identical between each test.

The main point I want to focus on is the first one, “All devices must be running the same program”. In your list of performance results you list results for the Apple M1 Pro and some “older” AMD GPUs (Vega 64, Radeon VII). If you are using official releases of Blender, then this introduces a problem. Because as of the time of writing the latest version of Blender to support the Vega 64 and Radeon VII is Blender 2.93. And the earliest version of Blender to support the Apple M1 Pro is Blender 3.1. As such, as long as you’re using official versions of Blender, then tests had to be run in different versions of Blender/Cycles making the performance results invalid.

The difference between Blender 2.93 and 3.1 is also an important one. As in Blender 3.0 a large re-write in Cycles took place which tends to significantly improve the performance of GPU rendering. As such the comparison is even more “unfair” as the “older” AMD GPUs use the “older and slower Cycles” while the newer devices like the Apple M1 Pro make use of the “new and improved Cycles”

1 Like

Yeah, I thought that was all implied. The point of the test I run, and have been running for years, is to evaluate all my own systems and their general level of performance compared to each other in this one specific work load.

In my experience, different versions of Blender aren’t that different, if it supports cycles and renders it will be approx the same speed for each version of the engine (give or take some improvements of course but my R7 still renders at that speed under the latest version).

For me, all I care about is the end goal, switching from my main rig and Windows to a MacBook for my general usage was a big decision, I still have a few PCs with a 2080Ti and Titan Xp if heavy rendering is needed but I was mostly interested in seeing if I can get away with a MacBook for my normal workloads.

Based on my tests, I am getting around the same render performance as I was with the R7, main different will of course be I know don’t have anywhere near the same amount of VRAM.

I just think its very impressive what the M1 chip is able to do given its power envelope and very greatful that the Blender team is bringing hardware support for it, also, keep in mind I do graphic work as a pass time for fun and some commercial jobs here and there, my main role is Systems Admin.

Cheers

2 Likes

I don’t wish to start an argument or to cause a large discussion which leads to this thread getting off topic. So this will probably be my last response on the matter.

In the Cycles re-write in Blender 3.0, Cycles sees a significant performance increase with GPU rendering (usually 2x-7x faster). As such this can not be considered “approx the same speed”. You can check the Blender 3.0 release notes for some charts comparing performance:
https://wiki.blender.org/wiki/Reference/Release_Notes/3.0/Cycles

As for your comment about your R7 still rendering at the same speed, that is expected… assuming that when you say “R7” you are referring to a Ryzen 7 CPU. This is because the Cycles re-write focused on improving GPU performance, CPU performance was not majorly effected.
If you are referring to the “Radeon VII” when you say “R7”, then you must be running a different test as the “Radeon VII” is not supported in Cycles with the latest version of Blender (as of the time of writing) and as such they can’t be “approx the same speed” as the “Radeon VII” will work in older versions of Blender and won’t run in the latest version, meaning data can’t be collected for you to make this comparison.

Assuming you’re talking about the “Radeon VII” when you say “R7” in this case as you reference VRAM not RAM, then technically the M1 Pro has equal amounts, or more “VRAM” than the Radeon VII. It’s just that the “VRAM” is shared with the CPU. But with certain configurations the M1 Pro can still have more “VRAM” than the Radeon VII in many cases.

1 Like

You need to stop being condescending, I guarantee I know as much or more about hardware than you do.

The Radeon VII using OpenCL absolutely works in Cycles, unless they decided to remove OpenCL in the last little while.

Of course I mean VRAM, my god, how specific do you need, the R7, oh sorry, Radeon VII, uses 16GB of dedicated HBH2 memory which gives an effective bandwidth of 1TB/s (theoretical), the M1 Pro uses the system memory in a unified fashion, so I have 16GB shared running at a bandwidth of 200GB/s, a long way off what HBH can do.

So all my entire post was trying to convey is that in my circumstance the M1 Pro is approximately the same rendering speed in cycles (Metal) as the Radeon VII (OpenCL) and I find that pretty damn impressive.

Its a great job by the Blender team and shows that ARM and Apple Graphics have a pretty promising future especially when combined with the power usage.

Anyway, what ever, I was just sharing my thoughts not wanting to get drawn into silly semantics.

All in all, nice job Blender Devs.

1 Like