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

It seems like the most graceful way to get Metal/macOS support back in for cycles is to have Apple fund the developer themselves.

They’re certainly not hard up for money or staff and, there is a rather well-traveled path for other companies doing this with the BF at this point.

I’m not sure where in their org someone goes to propose such things but, it’s an easy win for Apple as far as investments go. Blender’s objectives are nicely in sync with Apple’s philanthropic mission statements about education. The project would allow for good documentary pr for porting existing compute workloads over to metal and, the result would be a useful reference implementation for migrating compute workloads to metal.

Considering Ton’s and his team’s impressive track record for wooing backers, I would be very surprised if Apple has not already been courted for this.

5 Likes

This is true! We should try to attract some macOS users’ attention to show Apple there are people that care. And then we should try to contact Apple. I wonder how though.

2 Likes

I agree, Blender courses would be ideal for their Today at Apple sessions. 0 entry barrier to get into the magnificent ecosystem. Apple & AMD could provide another million-heavy epic grant.

2 Likes

Contact Apple for what an outdated piece of technology that was on its way out anyway which are responsible for its once upon a time popularity ? Even the people behind the creation of OpenGL have abandoned it for Vulkan for over 2 years now.

Ton mentioned on the Blender Today stream that Blender has already a hired developer working on moving to Vulkan, the same developer that brought barely known feature of 2.8 , you may have heard of it , its called “EEVEE” , so the boat has already sailed. It won’t be easy , it won’t be tomorrow but its the right direction.

Funding is also not an issue because on this department Blender has been very successful so far with reaching around 70k euros per month and on its way of reaching the latest goal of 100k for hiring 20 developers.

We also should not forget that one of the major sponsors of Blender is both EPIC and Steam/Valve both have embraced Vulkan completely . EPIC through Unreal offers support both for Vulkan and Metal and Steam was responsible for MoltenVK which allow Vulkan to run on top of Metal which is what their top selling game DOTA 2 utilizes to run on latest version of MacOS. I think its obvious that Mac support is far more than a huge deal for Blender.

They only thing needed now is patience , the will is there, the funding is there but there is still a lot of work that will be needed to be done because moving Blender to Vulkan will be a huge amount of work. Huge as one dev probably won’t be enough.

Of course the question remain whether Blender should support Metal as well, as a mac user myself I think sticking with just Vulkan will be the best decision. MoltenVK has shown a lot of promise performance wise and Vulkan is still a moving target so there is still a lot of room for optimization. Vulkan also fits with the open source nature of Blender much more so it makes sense to not support Metal at all. Because MoltenVK is already supported by big companies personally I think its the future and I won’t be surprised if Apple drop Metal for Vulkan or unite the 2 APIs to be highly compatible.

Apple has seen massive success with the blunders of Windows Vista and of course the success of iPhone have brought MacOS from a mere 3.5% once upon a time , which according to Steve Jobs was the best the company could ever have hoped for, to 10-15% market share. So MacOS is no longer a platform companies can afford to ignore and neither can Blender if it wants to see its funding campaign expanding fast. It stands to reason that Mac support is absolutely crucial for a 3d app that is targeting 3d artists where macos is even more popular.

3 Likes

This topic is specifically about Cycles GPU rendering on macOS, for which there is currently no developer or enough funding to prioritize it over other projects that users are asking for. The Vulkan port of Eevee and the viewport is a separate thing.

1 Like

good point @brecht I stand corrected. I forgot the Cycles part because if I remember correctly I also participated in a similar discussion on blenderartists which was more general.

I meant to say that we should contact apple if we were in need for funds to make a cycles also able to run on metal. But since you said they are in the works to port Vulkan to cycles and vulkan can run in metal without too many performance sacrifices, i find it not useful anymore to do so.

1 Like

as @brecht corrected me, its not Cycles related, its actually only for EEVEE. Cycles is trickier because it depends on things like Cuda and OpenCL which is outside the realm of OpenGL. I am not sure how Vulkan can help there, I have read that there is plan for some similar APIs but probably is too early to talk about Cycles running on top of Vulkan completely.

Saying that, I would be suprised if Vulkan does not address these areas too or at least some other open source API. Of course that may translate to years. There is already Vulkan compute which is somewhat similar to CUDA but no actual replacement for it.

1 Like

how apple is going to justify this kind of application not working on its platform (GPU Renderes)?

GPU renderes use opencl or cuda. Macs dont ship with a Nividia card, do they? are they counting on external driver to handle opencl and cuda support?

1 Like

The point of this post was to discuss a gpu renderer not based on CUDA or OpenCL but based on Metal (Or MoltenVK) to support fast macOS gpu render.

1 Like

Apple’s Metal framework includes ray tracing acceleration now, similar to RTX, so it’s not like you cannot write a hardware accelerated ray tracer on Mac.

2 Likes

Maybe the work NVIDIA did will help here too. Metal is just another backend.

If Cycles had work done to decouple it from a specific backend then it surely means less work to add other backends now?

I’m looking for a silver lining here!

In the meantime Radeon ProRender v2.0 just dropped and supports Metal 2 on macOS in Blender 2.80 on AMD GPUs (for macOS). It supports other vendors on Windows and Linux. But macOS is limited to AMD by Apple so they can’t support other vendors there. That isn’t AMDs fault.

1 Like

Yes but for the time being there is no GPU render on Mac and considering the size of the Mac platform Dev’s will go Vulcan first then when they have the time lock at metal . So for a while at least you’re out of options on a Mac?

1 Like

Not really, we always had cpu/cuda/opencl backends, now there’s just a 4th optix one, the infrastructure for that was already inplace, this is not what is keeping back metal support. What a metal backend needs is a skilled mac programmer passionate about making the backend with lots of time on his hands, and those are currently in short supply.

2 Likes

Blender Mac Community would be happy to support such developer(s). This quest needs to be set up first and users cannot do it. It would be in Institute´s hands to organise such fundraising.

3 Likes

there is already a hint of willingness to adopt Vulkan in Blender …
and the Khronos Group has already announced that it is committed to bringing Vulkan over Metal / MacOS probably with MoltenVK

so you are worrying about nothing, you will still have your acceleration advantages of low - level hardware

2 Likes

Users can do anything they want, that’s the perk of open source.

Scratch that.

That’s the whole point of open source.

With 100k euros per month goal right around the corner, blender we will be able to afford 20 full time developers at least 2 should be exclusively on mac support. And by should I mean proportionate to its macos users that should be the 10% of user base. Usually there is already one or two devs working the mac version but battling with such beasts as Metal and Vulkan will need someone with a lot of experience.

yeah problem Vulkan is nowhere to being Metal or CUDA or OpenCL, so no MoltenVK does not magically save that problem. As far as GPGPU coding is concerned currently Metal is the only option. However Vulkan is also moving forward fast so who knows maybe one day it will be or we will see a new alternative.

Khronos Group cannot bring anything, they are merely the group that designs those APIs. However its members are made out of powerful companies, including Apple, so basically the board as a common ground of agreement instead of a place of developing software.

2 Likes

That’s not how it works. Most developers are not working on platform specific things. It’s not like we can have 90% of developers exclusively for Windows support. And you need to hire positions other than developers too out of those 20 people (management, documentation, support, …). At the moment we have about one half time developer for Cycles.

2 Likes

I would not pretend to know how blender teams work internally , obviously your experience is vastly large than mine.

But… when you have mac users funding Blender, none will care if you hire mac dedicate developers or you spray fairy dust and things magically worked. In the end is all about how well Blender works on MacOs. Until now this was fully justifiable because Blender simply lacked the funding to afford to dream about a full time developer on the mac platform.

Of course people , not just developers, do not work on one thing only, putting all yours eggs in one basket and all that. But let’s be sincere especially the iOS which is basically MacOS rebranded on a mobile platform specially because iOS is still big business and those people who want to go low level on graphics they will have to use Metal. Obviously the bigger the funding , and so far it shows no ceiling with the ever growing popularity of 2.8 thanks to your amazing hard work, will mean also heavy restructuring in code contribution infrastructure and that is something that Ton discussed on Blender Today, not that is surprising.

So personally I do not know how good idea is to have several people juggling between Metal and other stuff. I understand that there are no clear boundaries and that resources have to be managed and administrated to best utilize valuable developer time.

But when you reach 100k euros per month from contributions by users and companies , small to huge, that are active on the Mac platform I do not think its so unreasonable for those people to expect at least one developer to be hired that not only has some experience with Metal but the overall mac platform.

On the subject that other people should be hired too, obviously that’s extremely important as well , documentation in particular is vastly superior to the needs of a mac version. The bigger the Blender team get the more additional jobs outside coding will have to be filled to make managing such a team much easier.

3 Likes

Think the unknowns here are

  1. It’s hard to measure how many users we have on each platform, blender doesn’t call home, beyond download statistics from the website there is really nothing to go on (and those miss a significant number of users, that get blender from either their distro’s package manger and the steam/ms online stores)

  2. of that set of users it’s even harder to estimate how many of them are contributing to the blender fund.

  3. Of that set of users that are on mac and are contributing. How many know what metal even is? or care about cycles having it? perhaps they’d rather see a developer hired to get more features added to the sculpting workflow.

so to demand that a mac dev should be hired exclusively for mac because of any of this data seem silly. especially since the fund page quite clearly says that the only perk for your donation will be a badge to display on your profile, anything you expect beyond that seems unwarranted

One could make similar (yet extremely silly) argument here, i’m a huge proponent of the ‘make your eyeballs bleed’ philosophy, any UI should be so horrific that eyeballs will literally bleed by merely gazing up on it!

We reached 100k/month, from contributions small to huge that are from eyeballers, i don’t think it’s unreasonable for those people to expect that at-least one developer will be hired with the sole task of making eyeballs bleed, and we don’t want him juggling tasks either, it’s all eyeball pain all the time!

we agree other people should be hired as well, but this is clearly this most important thing currently.

say with me: Bleeding eyeballs first!

Lets be serious here if this plan went though many would be upset, we donate to the blender fund fully knowing we can expect nothing and trust that the people spending that money will try to spend it wisely.

If you disagree with the direction they are going, you have options, but making combative arguments is probably not the most productive one

1 Like