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

as someone stubbornly still trying to use a mac for blender work, i’d love to see the state of things improve on the platform. but in fairness to all the comparisons between cuda/optix and metal, i’m pretty sure nvidia sponsors the work on their platform specific features themselves.

my guess is apple is less likely to reach out directly if they already have big players showing off metal support. still, it’d be nice if they had some sort of program like unreal’s mega grants that could be awarded to developers to help seed more native software on their new platform.

doing that even for a couple of years during this transition could be a PR win and a confidence booster for buyers that the apple silicon software catalog will be more than emulated x86 and mobile/tablet apps. then again, its apple, so they probably know they’ve got a built in market.

2 Likes

Apple contributed some code: Mac: M1 and Blender
Test builds are available: Mac: M1 and Blender

3 Likes

My point is that Vulkan and Metal are very similar, as they are solving pretty much the same problems. They are a clear improvement compared to what existed before.

I assume that if Metal is used through MoltenVK, most of the gained performance is preserved. Vulkan itself is a huge undertaking and in my opinion, the additional improvements that could be achieved by using Metal directly are comparably small, but would require a significant financial investment.

Do you think the performance difference between a direct Metal implementation and the usage of MoltenVK would be significant?

I quite agree

To my understanding molten Vulcan is not the same as vulcan.
But I agree MoltenVK would be better than nothing and honesty easier also for BF as they would focus only on one API - if that API would be the same for mac pc and windows

but I am still not sure of Vulcan offers the same computation like what Metal does (openCL)

From a coders perspective, it shouldn’t be a difference whether you are using Vulkan or MoltenVK (as long as you are using the supported subset). According to the official documentation: https://github.com/KhronosGroup/MoltenVK

MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apple’s Metal graphics framework, enabling Vulkan applications to run on iOS and macOS.

I am not sure about that either. However, when it comes to Blender, a first Metal version would for sure “only” cover the graphics parts, as it is planned for Vulkan. Everything after that has the potential to bring significant performance improvements. However, that’s not just the case for Metal. It is pretty comparable to using OpenCL instead of the more conventional ways.
Realistically, it would look quite strange if the Blender Foundation made the decision to start a complete support for Metal (including the computational API functionality), before doing that for the other platforms. It would be quite an investment into just one platform. Justifying that would be quite difficult.

I am curious from a non-programmer’s perspective, how difficult/time consuming would making Blender support Metal be?

Like how many man-hours (roughly) are we talking about? Some OS X developers are saying that converting their apps from Intel to ARM only took about a day’s work for them. Now I realize that such a conversion is quite different from an OpenGL/CL to Metal conversion, but I am curious as if anyone who knows programming has a rough idea of what such an endeavor would entail?

P.S.

I’ve been following this thread on the Blender Devs site for months now but there doesn’t seem to be any concrete development: https://devtalk.blender.org/t/is-there-interest-in-supporting-a-metal-version-of-cycles-for-macos/4475/279

Even though I am a programmer, I have NOT yet contributed to Blender (even though something is in the works). I don’t know how long this would take, as such a judgement would require a very in depth understanding of all sorts of details within Blender, as well as an understanding and a clear plan of how Metal would be integrated.
Also my intuition that using MoltenVK wouldn’t be a lot slower than Metal alone is not very solid (and I tried to express that in my formulations!). This is based on my technical understanding of having worked with similar things, but I also know from experience that such intuitions can be totally wrong!

In general making that kind of prediction (be it for time or performance) is very difficult. You could make lots of money if you knew how to reliable doing it :slight_smile: .

x86 to arm conversion is something else. c code ideally is quite platform independent. so if a programmer didn’t do much platform specific low level stuff the compiler should just compile it for arm (maybe with some required small modifications here and there). there are arm builds of blender since many years.

some more work has to be spent with the SIMD extensions if you want to take advantage of them. AVX and NEON,…

edit:
i think replacing opengl with vulkan/metal is a huge amount of work for blender. but using the compute part of metal just for cycles maybe isn’t that big of an issue? it’s still a lot of work but it’s more separated and maybe it would be feasible for an outside developer?

2 Likes

I seem to remember someone in past discussions advising not to hope for an incredible speed boost out of using Vulkan, as the nature of a 3D DCC app doesn’t lend itself to that as much as a game does. On the other hand, it was said that Vulkan ought to allow for new features in, say, Eevee that at the moment aren’t feasible through OpenGL.

(And, of course, Vulkan is necessary to both survive OpenGL’s eventual removal from macOS and to simplify multiplatform development)

1 Like

I think the last part is the most important aspect here - being able to do what openGL cannot.

aka Vulcan realtime raytrace - look at what AMD ProRender can do in windows with their hybrid system.

M1 emulating x86 faster than Intel in single core:

I must admit I am grudgingly impressed with their new chips, I reckon they will just put additional chips on their motherboards, since more and more of the circuitry is moving on die. If they can iron out their interconnect/bridging issues, a board with four chips would be powerful indeed, with 64Gb that can be configured on the fly for the GPU circuitry. I reckon a jump from 16 to 32Gb is on the cards too…

If it runs Linux, I may consider buying one, then my favourite software would be just a compile away, but I’m not holding my breath as it seems Apple wants badly to retain total control over the hardware, although never underestimate the determination of open source hackers. I love my Raspberry Pi and hopefully this bodes well for future iterations…

2 Likes

Holy **** here we go… it’s happening. :flushed:

1 Like

What’s crazy to imagine is that early rumors of Apple making a dedicated GPU are starting to get stronger.
If Apple came out swinging like this with CPUs, imagine what their dGPUs will be like.
Holy Gebus!

1 Like

It will still be a hardware eco system that is greatly regulated, probably even more so than it is now.
One of the perks of a Linux/Windows PC is that you can swap out almost everything without any problem.

Adding more RAM? No problem.
Swapping out a graphic card? No problem.
Another/extra SSD or HDD? No problem.
Heck… Swapping out a CPU? Mostly not a problem.
All this without breaking the bank.

This is my main issue with Apple hardware, despite the way it looks & works. Having at least some control over the stuff inside the box. :wink:

2 Likes

All good concerns. And you can switch out RAM on several Apple computers. I know, but we take it were we can get it. :slight_smile:

But there is nothing saying that this won’t become the new normal for Apple on their professional machines,

1 Like

Can you replace stuff in the Pro?
I can recall Apple locking NVidia cards with the machine, so you were not able to swap them with another.

Agreed, but I guess most Apple users go for the convenience and ease-of-use of the Apple ecosystem, the hardware build quality, and the comfort of macOS. When I was working with iMacs I actually found it pleasant that Apple offers pre-configured systems that have been tried and tested, and if you want your system to keep up with modern standards for a number of years, just configure it to the max so you won’t need to add or change hardware until it’s time to fully refresh your machine with all-new, up-to-date hardware in every aspect. I personally like that, although I definitely understand that lots of people like to only change one or more components, and like many others I also think that Apple’s prices are snobbish. Asking a bit more for an established brand is OK by me, but asking $ 1000 for a monitor stand, and $ 400 for a set of wheels under your computer is just ridiculous, as is actually paying that.

3 Likes

You can. Almost everything in that computer can be swapped-out and upgraded.
Multiple Sata ports and etc directly on the board.
If you look close at the photo you can see the clips that hold the CPU down.

2 Likes

There’s rumours of a Mac Pro successor that would be half the size of the current one.

1 Like