Is there interest in supporting a Metal version of Cycles for MacOS?

Seriously, why give a completely closed hardware platform any sort of support, this is after all Free Software whose ethos is literally opposite of what Apple stands for. They deliberately bend over backwards to be incompatible.

I don’t care what’s free software or not. From user perspective I want to use what I feel the best for me. Paid or free I don’t care. I love to work on a mac, that fits for my needs mostly.

We’re just getting ideas here, not begging. It would be great to use a metal powered Blender. Why is that a problem for you? With a bigger perspective of support this software wont be less or anything. You’re just taking this personal here.

9 Likes

Everyone, if you have something substantive to contribute regarding Metal and Cycles, or want to voice your support, please do. If not, please have the discussion elsewhere.

14 Likes

hi all, as someone with physical disabilities, chiming in to voice my support for doing anything that will improve the ability to use blender on macs .

I love both blender and macs-- in some ways I’m locked into the mac platform because the only mouse that really works for me is the original Magic Mouse. I have muscular dystrophy, and what tends to happen for people like me is that as our muscles deteriorate, our bodies conform to the technology that we are using (mice, keyboards, wheelchairs), and it’s difficult or impossible to switch to something else later because over time we no longer have those muscles.

tl;dr, ensuring mac/blender compatibility is wonderful for accessibility!

if you’re curious to see more on the topic:

17 Likes
1 Like

Finally! I hope it supports older versions of macOS because I run Catalina. I would hate to be so close to GPU rendering only to fall short at the last second.

I hate to disappoint, but William did not look at any patches for Metal support, we don’t currently have those. He looked at a patch for animation denoising, and discussions/ideas regarding Metal and Path Guiding.

If we have concrete news to share regarding Metal we’ll do it, you won’t find it hidden in a weekly report.

5 Likes

Thank you for clarifying that. So we don’t have to hold our breath for gpu rendering for the next year or so, do we?

We can’t give any time estimate regarding this.

1 Like

Just the fact that someone says the timeline isn’t concrete and not just “we are not considering Metal” is good enough right now. :slight_smile:

3 Likes

I have a stupid question (probably).
I’m working on a Mac. When I use the viewport render preview (Cycles) my activity monitor indicates that both, the CPU a n d GPU are working at 100% usage.
Also when I render an image the GPU is working (maybe 20-80% - depending on the scene).
In other CPU render engines the GPU isn’t working at all when rendering.
Why is that? Does Cycles on MacOS still use the GPU for some calculations?

Tells us about the content discussed about supporting metal? Because there is no good gpu as of now?

Out of curiosity I played with the latest cycles-x branch and tried to port it to metal - more or less as a personal exercise.
The first annoying thing was, that the metal compiler needs an explicit address space qualifier for each and every pointer or reference, which floods the code with it, but at least it is probably solvable with brute force and much typing. It would be nice, if Apple would add at least add a compiler flag to treat every pointer as “thread”, except it has an other qualifier.

The bigger problem is, that metal until now (2.4) does not support lambdas, which are used in the cycles code quite a lot. The next metal version will usually be presented at the next WWDC 2022 and it is not guaranteed, that this will be included. It would technically for sure be possible to rewrite it or maintain two versions of these parts, but that would uglify everything and is not very tempting.
Fore sure there are more obstacles, but I did only scratch the surface so far.

So my questions to the developer team are:
Do you know more? If my observations are correct, would you wait for Apple do catch up the other platforms with the metal framework in order to not fragment the cycles code even more? (would mean no cycles metal port before summer 2022)

12 Likes

So, the news is that Apple is contributing a Metal backend to Cycles. The relevant task is here:
https://developer.blender.org/T92212

We’ve been talking to Apple about this for a while, but have not been able to share it until now.

49 Likes

Big news probably related timing wise to the m1x arm macs being announced Monday

15 Likes

Yeah, although I really hope a more powerful (30 inch) Apple Silicon iMac will be released soon, which will really be able to utilize Blender’s powers.

We’re really excited to work with the Community on enabling Cycles on Metal. Cycles works great on macOS, and we want to ensure you experience it as such also.

Any questions or feedback on the work as it lands over the coming weeks is both welcome and encouraged, and we’d certainly like to hear from those looking to early adopt and try out Cycles on Metal in your workflows.

45 Likes

When will the first test build available?
I’m eager to test it with the M1

2 Likes

We’ll bring a feature branch up with a fully Metal-enabled version over the coming weeks, as we tidy up the code and break it up into atomic commits that make sense for code review.

The first commit was the most invasive, touching all function signatures that took an undecorated pointer.

I expect our next commits will add the metal_compat.h and they remainder of the kernel changes needed to compile as MSL, along with the main kernel entry point wrappers. Then we’ll add the host side device.

25 Likes

This is amazing news! Big thanks to Apple for the support!

I do have a question about what the future might hold for Apple and Blender after Cycles is up and running on Metal. It sounds like moving the entire Blender code base away from OpenGL is going to be a huge endeavor. Does Apple intend to provide future assistance to the Blender team when the time comes to make the switch to a native Metal version (Or Vulkan/MoltenVK)?

5 Likes