Mac: M3 - *Hardware accelerated RT (Part 1)

I made mine with the diff after the changes.

Also made the make format even if I have no clue what that does exactly.

Are you building on AS or Intel? The latest diff does not seem to work for me. Tho I do not have much experience building Blender, which means I might be just dumb :smiley:

AS but it only worked after I did the manual changes from devtalk.

I did get it to compile before that with the command line from Remy but it keep crashing when trying to render.

Hmm, the DevTalk adjustment does not seem to work for me at all. It seems as if Cycles is not actually including the necessary Metal source files, and has problems with missing Metal classes stating them as undeclared identifiers.

Not to detract any to the M1, but I’m somehow confused by these results; in 3.0, CyclesX, I get 34.71 secs at 300 samples for Classroom, with my 2015’s Xeon + 2060 Super.
I get that the results on OpenData are still pre-Cycles X, so, I would assume that the current results on the Silicon based machines are still heavily not optimized, correct?

I can share mine when I get home.

Also just did a test in my beak.
Nvidia Quadro P5000 blender 3 final cuda.

Classroom took 115 sec😮

The M1 Pro took 165 (will try it GPU only later).

Gelerts Max 109 sec

Well the Metal patch is not even alpha so to speak so hard to tell how accurate the results are.

I suppose you were using Optix?

Well I managed to break it down to one single problem.

In cycles, to be exact:

blender/intern/cycles/device/metal/device_impl.cpp:317:31

the MTLLanguageVersion has some issues.

error: use of undeclared identifier 'MTLLanguageVersion2_4

Interesting did not have that.

Are you running Monterey?

Yup, M1 Mac Mini on Monterey

ok so here is what I did.

apply the diff
made the changes from devtalk
then in the terminal
make update
make format
make

not sure if that makes a difference.

I’m gonna get rid of XCode and related stuff, re-install it, then run the whole thing again, and see how it goes. It seems like some metal version is missing on my comp?

yes forgot that also deleted the blender_darwin folder as I had done some test before and wanted to compile clean.

I found the command line easier and did not want to install the full Xcode as I don’t really have a need for it.

If I edit the cpp to the version 2_3 or even 2_2 I get lots of other errors related to Metal changes that happened in 2.4, so I assume there is indeed some issue with my components.

yes, sorry I forgot to check it first: that result was Optix; With CUDA, I get 57.44, with the same scene and samples.

What I meant is as long as we were comparing 2.93 Cycles CPU render times only with the M1, I could follow, now I’m not sure what the results represent. Which is fine, but I wonder: if the only real comparisons could start when Blender on M1 runs native, and with stable Metal, the last few days Metal results where do they stand: very far, close or too random to be representative, in relation to what these machines will perform?

Just curious! :slight_smile:

1 Like

Got it working. Reinstalling stuff helped :smiley: Also the test results came in:

Nishita Sky Demo:

M1 Mac Mini 8GB

  • Native ARM Blender 3.1 CPU Cycles w/o Metal: 2m15s
  • Native ARM Blender 3.1 GPU Cycles w/ Metal: 40s

So far happy with the results

EDIT: Viewport selection is not working for me either.

5 Likes

Hi everyone! So, I’ve got a GTX 1660 Super, Risen 5 3600 and 32GB of RAM. I ran the BMW27 scene, using blender 3.0, on my GPU. Got 40s flat.
The M1 Max is getting around 43 seconds in this very early build. I suppose this can be brought down to around 38ish?

yes probably as as performance tuning is still on the todo list https://developer.blender.org/T92212

1 Like

Ye for sure. Also, do you guys think this will be in Alpha by next week-ish? Need to get some testing going haha

There has been quick progress at times who knows, perhaps we will get a Christmas present :slight_smile:

1 Like