DazStudio Rendering using Apple silicon (M1,Pro,Max)
wintoons
Posts: 375
in The Commons
So, I'm just curious here, has anyone ever tried (or if it's possible) rendering iray using an Apple silicon mac?
If so, is the performance better or worse?
Comments
I have a MacBook Pro M1 that I bought in January 2022, and while I have been installing content slowly, I have done a few Iray renders without issue. These were not elaborate or anything, mostly tests.
My biggest challenge is seeing the screen. A friend bought me a magnifing strip so I can read the print. I haven't tried hooking up one of my older monitors to it yet.
If you open System Preferences and click the Displays item, you should be able to change the screen resolution to something more comfortable for you. Click the "Resolution: Scaled" radio button (by default, "Resolution: Default for Display" is probably checked), and then pick from one of the options shown. By the sound of it, you'll probably want the "Larger Text" option.
Thank you! I hadn't looked into that because I had not thought it would affect anything in D|S. But I played with it and I chose the one below the largest. I will need to see if I can switch out my iMac's right screen which sits next to it when I really want to work in D|S. Otherwise I have to keep switching the workspace to open & close the left, right sides. I have a habit of working with both at the same time. (I had to give up on my iMac working with D|S back in 2017 when it crashed multiple times and an Nvidia update wiped out my drive. Thankfully I live near an Apple store. Online help had to give up.) Old eyes are a pain.
If you wouldn't mind running a test of the benchmark scene we have in the forums, that would be really appreciated. It would give us a baseline for the performance the M1 Pro and Daz Iray. Then we can compare it directly to other hardware who have ran this bench.
https://www.daz3d.com/forums/discussion/341041/daz-studio-iray-rendering-hardware-benchmarking/p1
If you have not seen this, there is a scene download with some quick instructions. The download uses only items from the various Genesis Starter Essentials which come free with Daz.
That's what I would like to see see too. That was my question on this topic!
I will try to do this. I have opened three windows to look at the areas of 'look at this 1st, 2nd, and 3rd...' and will need to adjust for the differences between Windows and Apple file structures. That has driven me a bit crazy. I also have my DAZ Content on an external hard drive as it is now if fully loaded well over 1.75 Tb. But I have all the Genesis Starter Essentials packages loaded at this time.
I obviously can't report on Nvidia, but rather the info says I have an Apple M1 Pro, Type GPU, so, would that combine to be the same thing? So I may need a little help to get the correct equivalence stats for the report.
Mary
So I have spent most of the day on this, minus dog walks in snow, subfreezing temperatures, and general chaos. And add in I am not in any way a programmer nor a math wiz. Add in two different operating systems. So all of this might be totally wrong and I put things in the wrong places. Also not sure if the file structure for the original .duf was happy with my MacOS file structure. Heck, I am not all that happy with it at the moment and I like Macs.
I am posting it here first so it can be cleaned up before posting it to the official thread and mucking that up.
System Configuration:
System/Motherboard: Apple MacBook Pro M1
CPU: Apple MacBook Pro @ stock (if left at defaults)
GPU: Apple M1 Pro GPU 16 Cores @ stock (if left at defaults)
System Memory: 16 GB LPDDR5
OS Drive: macOS Monterey, ver 12.2.1/Apple SSD AP1024R
Asset Drive: WD My Passport 2629 Media / My Passport 2629/USB-C/5 TB
Power Supply: Apple Inc. 140 W
Operating System: macOS Monterey Version 12.2.1
Graphic Drivers Version: Apple M1 @ SPEED
Daz Studio Version: 4.20.0.2 64 bit General Release
Optix Prime Acceleration: N/A
Benchmark Results
2022-03-10 06:20:43.691 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend progr: Received update to 01800 iterations after 3252.148s.
2022-03-10 06:20:43.691 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend progr: Maximum number of samples reached.
2022-03-10 06:20:44.431 [INFO] :: Total Rendering Time: 54 minutes 16.84 seconds
2022-03-10 06:20:54.180 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend info : Device statistics:
2022-03-10 06:20:54.180 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend info : CPU: 1800 iterations, 2.198s init, 3249.946s render
DAZ_STATS
IRAY_STATS
(01800 / 54m16.84s)
Iteration Rate: (1800 / 3249.946) = 0.5538 iterations per second
Loading Time: ((0 * 3600 + 54 * 60 + 16.84) – 3249.946) seconds or 54m 1657s
Also, as a side note, of the 63 pages of log file I save for this render process, approximately 53 pages were reporting errors or looking for things or characters that I had not purchased or had not yet installed. Or issues with G8F.
And even though this test file took so long, I have done a render in less than 4 minutes on the MacBook Pro.
I also did a test with the newest Beta, 4.20.0.5 and the results were pretty much the same. No real difference.
ok, so was it faster or slower? 54 minutes sounds like a long. Is it supposed to be that long? Comparing it will a Nividia graphics card (like a 3080)?
Well, @wintoons, I have two Windows 10 computers with D|S on them. A laptop with a 1080 and a desktop with a 1080ti. I know that some of my renders will take up to two hours to render at times, unless they are nothing more than character, hair, clothing and an HDRI and on the smaller size. And if I stay away from PBR skin and clothing. But, while I do have things I need to do that I didn't get to yesterday, I will try to get to testing them today for you with that scene.
The new version of Blender quietly added a new checkbox to enable MetalRT, which is Apple's name for hardware ray tracing. Apple doesn't have hardware ray tracing yet.
Metal is Apple's graphics API, which they describe as combining functions "similar to" OpenGL and OpenCL. They say "It is intended to improve performance by offering low-level access to the GPU hardware."
Having Blender support Metal is quite a big deal, because it should mean that it can actually leverage the power of the Apple GPUs for rendering and other tasks, resulting in significant speed-ups.
Metal is implemented on Intel as well as Apple Silicon (so that developers can call the same API no matter what platform they're running on) but I don't know whether there'd be much of a speed gain on Intel devices. It's possible that Metal on older architectures is just a thin layer over OpenCL/OpenGL, or supports some relatively small subset of the low-level features of the AMD Radeon GPUs found in Apple's more recent Intel machines.
@bytescapes, Do you know of a link to various benchmark's for 3080s for @wintoons to look at? While I have done some benchmarks on my 1080 and 1080ti this morning, they are seriously older cards and it looks like she is interested in a newer generation of graphic's stat. And I simply get lost in that thread, bluntly the discussion veers off over my head so fast that I can't follow it.
Mary
Those benchmark results are disappointing. My 12-core 2019 Mac Pro does the benchmark in 30:30. That's considerably slower than when I boot it into Windows and can use my Nvidia card, but still fast enough for simple scenes.
When will Daz release a version that runs natively on M1 Macs? Forcing new M1 Macs to emulate an Intel Mac via Rosetta is cruel and unusual punishment. Is the problem that the Iray CPU code is closed source and thus Daz is unable to compile it for Apple silicon? If so, then we're again being screwed by the Apple/Nvidia feud.
I think that's the case, yes.
The Iray rendering code is proprietary Nvidia code; I doubt DAZ even has the source code. Besides, as I understand it, CPU rendering involves dynamically-generated code that targets x86 processors. To be able to get it to run at full speed on Apple Silicon, someone at Nvidia would need to assign large amounts of time and talent to writing a version of Iray that generated Apple Silicon native code. Because of the feud you mentioned, that doesn't look likely to happen.
Well I bought the MacBook Pro M1 for reasons other than Daz, so anything it can do with it is a plus for me. The weight of the Gaming Laptop I have with an Nvidia 1060 is too heavy now for me to easily carry as my spine continues to deteriorate. I needed something that I could carry with Office 365 files and documentation from my home to wherever I need it.
I spent the day chasing data down for those Render Benchmarks which drove me nuts. Never again. The actual render was the easy part. I just am not sure I did the math right.
You don't have to stress too much about it. I was just curious if they was any benchmarks already out there. I have a 3090 I use for rendering and it's pretty damn fast for rendering.
For a 2500 x 2000 size render it takes about 20 mins or so for a frame at 5000 iterations.
I'm thinking of buying the new Mac Studio (with M1 Max) or the MacBook 14''. So far it is not possible to judge how Daz Studio works on Mac Studio, because it will be delivered only from March 18. With enough memory these computers should be able to render Iray relatively fast, or am I too optimistic? Of course, I don't want to throw my money out the window with a running start...
You're being too optimistic. Sure, Apple silicon is faster than all but the most power-hungry Intel/AMD cpus, which would partly compensate for the fact that your Iray renders will be cpu-only. But those Iray renders won't be done using M1 software. They'll be done using Intel software, with the M1 chip running an emulation of an Intel chip. The M1 speed advantage will be lost.
I've ordered a Mac Studio, but I won't be using it for Daz. I'll demote my old Mac Pro into a Windows box, and use it (and its 2015 Nvidia card) for my renders. Until Daz adopts an OS-agnostic rendering engine it will not do very well on Macs. This is too bad, as the Mac version of Daz seems to crash less often than the Windows version.
Well, I really would like to have the Filament render option added to the Mac. That is a disappointment. And I think I read Octane is now able to be used? Haven't pursued that yet. I know I had to turn it off on my Win10 D|S machines.
To Wintoons (OP). Not sure it's clear to you that the M1 Mac rendering is totally in software because there is no NVIDIA graphics card, and only NVIDIA graphics cards can do Iray hardware rendering for DS. Thus, the M1 Mac is nowhere near as fast as the cards you are mentioning. So, the benchmarks are not really relevant. Those of us with M1 Macs are just happy that DS runs at all. I'm looking forward to a new Octane plugin so I can try exporting DS scenes and rendering using the M1 Mac's hardware. Last I checked, that plugin is not available yet. Hope this helps a bit.
Oh I know that iray can't run well on M1 macs, I was just curious to see what the performance was like. An updated Octane plugin for apple silicon would be very interesting to see too. Because I guess that's the only option we'll have now.
Thanks for pointing that out, Binaries Torturer, I hadn't thought of it. So I'll probably buy a new Intel Mac first; the 27'' iMac is still available. When Daz Studio is adapted to Apple Silicone, I can always look at a Mac Studio...
Actually, Apple have discontinued the 27" Intel iMac. The only iMac they currently sell is the 24" M1 iMac, and rumor says that they won't be making a 27" version.
Which is not to say that you can't buy one somewhere else. Or even get one from their 'refurbished and clearance' section. And there's certainly no problem in buying one now, because, if past performance is any guide, Apple's future OS upgrades should continue to be compatible with it for several years to come.
I suspected it would be rough, because you need CUDA to render on a GPU, and CUDA is proprietary to Nvidia. Only Nvidia GPUs can use it, so anything else is stuck to CPU hell for rendering Iray. Even the fastest CPUs in the world pale in comparison to GPU rendering with Iray. Iray was designed for GPUs, and in fact its CPU mode is a fallback built by Intel.
The benchmark may take longer because it is meant to be at least a little challenging, but it has to be small enough to run on GPUs that have low VRAM. The comment that they had scenes render in a few minutes reminded me of my GTX 670 days. I could render some scenes in a few minutes, as long as they were single characters with a hdri background. Trying to render anything with a simple 3d background crushed it, though, even when it fit VRAM.
At this point the bench scene has become trivial with nearly all Ampere cards. A single 3090 can complete the test in roughly 90 to 95 seconds. That is approximately 34 times faster than the M1 CPU. A 3060 ran it in 219 seconds, roughly 14 to 15 times faster. A 1080ti ran it in 450 seconds, which is over 7 times faster.
These comparisons may not apply to every single scene, but they should give a general idea of what the differences can be in this hardware. When I render a character with a basic hdri background, my 3090 can render it in just a few seconds compared to the time I had a 670. It takes longer to load a Genesis 8 DUF than to render it in scenes like that. Unless you are sticking to the most basic scenes, when it comes to CPU rendering I would either use 3DL, Filament, or export to another render engine that will run faster on your given hardware.
External GPUs are not an option to Apple, either, because Nvidia stopped supplying drivers to Apple years ago.
Mine is just a little faster than my older 2018 Intel Mac Book Pro. Just barely noticeable.
Thanks, bytescapes. Yes, I knew that the production of the iMac 27'' is stopped. But my Apple dealer still has the 2020 model in stock and can hopefully also offer me a larger SSD storage than the mini-capacities that Apple still installs as basic equipment…
Iray on Daz rans fast on M1 Ultra Mac Studio. I spen 15 k on a PC just for DAZ but next time I won't update my PC. I will go with MAC becasue of the Vision Pro. Daz on Mac runs well and smoth except all the UI looks weird.