AMD Rx Vega 56 / 64 for Blender and Adobe apps
I got a plan to buy an eGPU some day for my 2015 MBP.
My main reason for buying eGPU is Blender Cycles render. As I know the Vega cards are really good @ blender on Windows, but I haven't seen anyone using them as eGPU on Mac. (not sure if Vega cards work in blender + mac now) It may be too early to ask, but I want a future proof setup, that is officially supported, as I understand AMD cards are going to be supported. I also use all Adobe package every day, so I want to buy a card that is going to be supported at all apps without glitches.
Maybe I should wait till iMac pro comes out or even spring till eGPU's are "officially" supported, but I'd love to step into this beautiful eGPU world sooner 😀
Ok I will tell what I have discovered now.. AMD cards unfortunately currently are not good fit for Blender under Mac OS. It's something with Mac OS not letting to split kernel for OpenCL & Cycles (probably I use not 100% correct wording). It's a problem that needs to be solved between Apple and AMD. Until then AMD cards are useless on Mac for Blender Cycles renderer.
That means right now nVidia card for rendering with Cycles in Blender under Mac OS is the only option. I'd like to know how big is the performance loss compared to Windows in Blender rendering. Someone maybe can do a test and post a result.
And what do you guys think , will nVidia cards bet officially supported when eGPU on Mac becomes official.
Anyone can try to confirm this?
Is there a test/benchmark to try?
is this happening with every Radeon card or just Vega?
I confirmed, AMD cards do not work. It is likely Cycles renderer specific issue because Indigo renderer supports OpenCL with AMDs on macOS:
I bought the Apple eGPU Developer Kit as I saw all the improved OpenCL benchmarks all over the place and read all about how Blender 2.79 had much better OpenCL support. However, the disappointment when I got the eGPU up and running is that Blender 2.79 is about the ONLY app that doesn't work with the eGPU. The Cycles render engine says "compiling kernel, this will take a minute the first time" and never completes. It can also lock up the entire computer.
So my box is sat disconnected under the desk as Blender is my favourite 3D app and I'm eagerly waiting for the iMac Pro and hoping the drivers from the macOS update for iMac Pro will make Blender work for me or that AMD releases their Blender plugin for Radeon Pro Render (which looks amazing) for Mac when the iMac comes out (can we hope?). It's out for Windows and Linux but sadly nothing for Mac. If that came out I'm sure the eGPU would be amazing. As it is... big waste of money and an ugly paperweight.
Until then I'm stuck with CPU Blender Cycles render. I was really hoping for much more than that.
Which GPU do you have?
@ikir the laptop has
AMD Radeon Pro 560 4 GB
Intel HD Graphics 630 1536 MB
and the eGPU has
AMD Radeon RX 580 8 GB
macOS High Sierra 10.13.2 is out, any chance it has GFX updates?
AMD extension versions in 10.13.1 are v1.58.32.
AMD extension versions in 10.13.2 are v1.60.24
I don't know what that means. I'll test some GPU things when I get chance. See if the eGPU behaves any differently.
Risked it... I set Blender 2.79 to use OpenCL compute on the dedicated Pro 560 and pressed GPU Compute render Supported and it said "compiling kernels" and after a few seconds it actually started rendering instead of crashing the Mac. That's the first time I've seen Blender render on the GPU on the 2017 MBP.
The render is disappointingly slow though. The CPU renders the scene in 24 seconds and it took the GPU 4 minutes flat.
That's almost 2Tflop of GPU. So what hope has the 6Tflop RX 580 got under my desk?
It is huge progress though. The nightly Blender releases enable OpenCL over multiple cards I think. If the kernels can compile on the more recent AMD cards that's great news and future optimisations will surely come too.
I'll connect up the eGPU later on and see if it works.
I've got news! I connected the eGPU RX 580 to the MBP 2015 via Thunderbolt 2 to 3 adaptor. It asked me to log out and back in. That worked. You don't get force logged out when you pull the cable anymore which is new in 10.13.2.
I loaded Blender and turned on OpenCL for both GPUs. Big mistake. The internal GPU is broken on that laptop. 5 panics later and not connected to the eGPU the laptop finally came back to normal. I thought that was it. It's a no go.
So I tried again. I set Blender to only use the eGPU OpenCL compute unit. It compiled the kernel (20s) and rendered away. I started to mess with the Render settings and got some seriously impressive Render times out of it. I had to stop as I needed my TB2/3 cable on my 2017 MBP work machine.
So it definitely works. I've also fiddled with settings on the 2017 Pro 560 chip and that too can take a 10 minute CPU render down to under 3 minutes with the right Render settings. I set Tile size to 256 for the GPU and 16 for CPU. I've found those to make a significant difference. On the 2017 Mac denoise does not work with the GPU in any setting I've tried so far. I haven't connected the eGPU to the 2017 TB3 Mac yet. I'm waiting until my 2m TB3 cable arrives tomorrow. It'll be interesting if the 2017 can use both Radeon GPUs together. It'll be even better when CPU and GPU can be used at the same time. Render time would plummet.
I'm very impressed. Tweaking the settings is critical.
I'm absolutely sure when the Blender developers get macOS 10.13.2 in their hands they'll be able to optimise this even further now the Apple / AMD drivers actually compile the OpenCL kernel.
My 2015MBP with Radeon card does work too in Blender. It's already know fact, that OpenCL rendering works on Mac. The kernel is able to compile, but it's not able to split, so there is no way to achieve similar render times with same card on Windows yet. But maybe I'm not right and something has changed.
Can You compare your RX 580 rendertime with a rendertime on a Windows PC? How fast can you render the double BMW file?
But yeah, I'm really hoping Blender/AMD/Apple will fix this OpenCl issue once eGPU is official for mac.
A bit out of this topic - today I discovered that remote desktop is pretty good solution for my 3D needs. When I need to render 3D I just connect to my PC and do that stuff. I used the basic Chrome Remote desktop and it works surprisingly good.
@agris it is true that the OpenCL kernel compiled on the 2015 MBP internal chip already but it would not compile on the eGPU until yesterday. I'd also never got it to compile at all on the 2017 MBP until yesterday (10.13.2). My 2m Thunderbolt 3 is on the way today so I'll try the eGPU on the 2017 at the weekend.
I'm not hopeful of any super results. I tried the BMW GPU file on the internal 2017 MBP (Pro 560) and it was abysmal (wanted 50+ minutes). I tried the game engine BMW and that was amazing real time.
On my own renders I've found that changing from Path Tracing to Balanced Path Tracing makes a huge difference. The CPU likes Path Tracing better and the GPU likes Balanced Path Tracing better.
So unless the external RX 580 makes a huge difference that offsets the hassle of using it (log out / no sleep / shutdown at end of using it, etc) I'll go back to CPU rendering until the next macOS update.
I've managed to get scenes to render in 2 minutes on the 2017 GPU that take 10 minutes on the CPU and on a 400 frame animation I'd previously rendered out at 2-3 minutes per frame I was able with a lot of tweaking to get a better result from the GPU in 1m10 per frame so under the right conditions there's a benefit.
I don't think it's anywhere near where it should be or could be. As I say, first time the OpenCL kernel has compiled on the AMD Pro 2017 MBP for me.
Very interesting, because on my 2015 mbp the kernel is compiling no problem on 10.13.1 with R9 M379 dGPU, it's just much slower than rendering on CPU.. I haven't bought GPU for my eGPU box yet. It feels like if I'll buy nVidia card, the next day Apple will update openCL and I will feel screwed 😀
The 2015 MBP internal R9 M370X dGPU worked on 10.13.1 and earlier with OpenCL and Blender GPU Compute.
But the 2015 couldn't do the same on the eGPU with 10.13.1... now it can with 10.13.2. That's the key thing here... newer AMD cards are now compiling OpenCL kernels. Their drivers finally work.
Still rubbish performance.
Apparently NVIDIA doesn't work in eGPU yet? I stupidly bought another AMD Card 580Pro. I remember buying the best Radeon for the Mac Pro 2012 and that was rubbish too. I'm so annoyed I got sucked into it again.
I'm still hopeful that the iMac Pro coming out soon will get things moving on Mac GPU performance.
I've got the eGPU running my 30 inch Cinema Display for an hour or two this afternoon.
I've had a go at some quick Blender renders and a 4k Render I did this morning that took 7 minutes was done in 2 minutes on the GPU with tweaked settings.
I tried the BMW27 GPU file but it's a 25 minute estimate. Down from 50+ on the dGPU on the 2017 MBP. That's nowhere near where the eGPU card should be though. Rubbish.
I ran Indigo Bench:
I think those are pretty low scores too. Done with macOS 10.13.2 today. Underwhelmed so far.
If it wasn't such a hassle to plug in, log out, log in, use, log out, plug out, crash, reboot... I'd run it to power my screen all the time but until that hassle is worth it the CPU render will be almost done by then anyway.
So I tried to get the eGPU back off and you can pull the TB3 cable and the Mac doesn't crash or force you to log out. (It does crash if you sleep). So I logged out. Reconnected my normal setup. Logged back in and nothing on the normal screen setup. Then huge freeze and crash.
Force reboot and everything is re-indexing and crap. The benefits of a "slightly" faster render are not worth it for the huge PITA the user experience is at the moment. Especially if you need your Mac for any proper paid work.
If it was a desktop Mac that you never put to sleep and could leave setup and shutdown at the end of the day then maybe it'd be ok. On a laptop... terrible.
Will wait and re-test on 10.13.3 when it comes out.
Will wait and re-test on 10.13.3 when it comes out.
Yeah, let us know how it works, very curious!
Strange: Radeon are very strong with OpenCL. Maybe an issue with your Mac? I've tried a mid-2015 15" like your and had some issue with eGPU and crash. NO issue with older MacBook Pro, Mac mini e naturally newer 2016-2017 MacBook Pro.
Try to install combo update.
@ikir that's be amazing if you could run a Blender 2.79 BMW27 GPU render benchmark. Thank you for the offer.
The benchmark .blend files are here:
The official Linux Benchmark times are here:
I don't know if you use Blender but make sure in User Preferences under System to select OpenCL Compute Unit and check one AMD card to test. Then press Render (F12) and note the time taken.
It should be 3 minutes or less for your cards. The VEGA should be 1m50.
If you got anywhere near that I definitely have a serious issue. Everything is new in the last few weeks and re-installed from clean install. I can try the combo update at the weekend.
I've only bothered with the BMW benchmark and it's estimating 25 minutes on eGPU and 56 minutes on dGPU on the top spec 2017 15 inch. I have the Mid 2015 MBP 15 too. I'm on the 2017 all day working and it uses the TB2 to TB3 adaptor for my screen. I'd buy another if it was worth it as the 2015 could do rendering on the eGPU all day.
Other apps seem to be accelerated just fine. It's only Blender OpenCL that doesn't work well and that's all I wanted it for and that only started working at all with 10.13.2!
Try the official Blender 2.79 first as that's what I'm using.
@Gelert if I have time I will do it, I have few busy days ahead. Keep us updated soon.
PS: I've tried it fast but I was doing other things (not on the computer). In the upper left square it says 5:52:88 so I took much more time than expected like yours, or not?
@ikir thanks for having a quick look at it.
The times I see in the top left for the BMW CPU are approx 6 minutes. If I load the BMW GPU and press render it's estimating 26 minutes on the dGPU on the Radeon Pro 560 in the 2017.
From what I've seen so far OpenCL on AMD on Blender on the Mac is about half the speed it should be for each GFX chip.
@Gelert! Ah didn’t tried BMW one, can you post a direct link?
Got my Benchmarks done now:
MBP15 2017. Blender 2.79, macOS 10.13.2.
BMW27 dGPU (AMD Radeon Pro 560 4GB) = 32m 22s.
BMW27 CPU (i7 3.1GHz 4-core) = 9m 44s..
BMW27 eGPU (RX580 8GB) = 6m 30s
I've got the eGPU connected for the day today to the 2017 MBP15 and I've needed to use quite a few of the Adobe CC 2018 apps already. NONE of them pick up the RX 580 in the eGPU and Premier Pro CC 2018 refuses to do anything except crash on opening a project.
Photoshop and Illustrator see the Pro 560 dGPU on the Laptop but report 8GB of VRAM (odd since it's 4GB on that).
Anyway... state of play is that eGPU and Adobe apps is currently a no show. I don't have After Effects installed.
InDesign is the only app that correctly reports the Pro 560 with 4GB RAM but it totally ignores the eGPU.
About this Mac is reporting that my main display (Cinema 30) is running on the RX 580 as is the laptop's retina display.
VMWare Fusion 10 with Windows 10 doesn't see any graphics card directly so Blender on Windows there doesn't get any benefit.
No crashes with the eGPU connected from bootup yet. I will be doing a full shutdown to take it off when I need to.
I ran all the gfxBench metal benchmarks on the eGPU RX 580 and the offscreen ones are impressive. All the on screen ones seem throttles at at 60FPS for some reason. The offscreen results were on par so if there were ever a Metal 2 based renderer that seems to tap most of the eGPU performance.
Why there are two presets? one CPU and one GPU? Isn't the software itself who choose this thing?
They’ve set optimal setting for each. CPU likes smaller tile sizes and GPUs like huge tiles. It’s for their benchmarks so people don’t change the settings that’s all really.
Is that on bootcamp or VM?. I'm really interested to see this topic developing. Been waiting for someone to post blender stats and content on here so thank you all. Also glad that egpu support on Mac is being supported.
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
Couple thoughts there: the RX 570 is a consumer-grade gaming card, so while it can definitely improve performance compared to what's in the MBP, I wouldn't expect great scores in general. The other thought — and you may have done this already — make sure you're using a TB3 port on the LEFT side of the machine, and that nothing is connected to the other TB3 port on the left side. Any other configuration will result in reduced bandwidth to the eGPU, and ultimately cut down performance.
Thunderbolt 3 Macs, Sonnet and OWC eGPUs, 4K Displays, etc
I find it amazing that I can now render the BMW Benchmark in Cycles on macOS on the 2019 i9 MBP in 3m49 with default settings. No GPU in use!!
I find that quite remarkable.
If I apply some optimisations I can render the BMW at UHD 4K on the i9 with a denoise pass in 2m28 in Blender 2.81 and it looks great.
I beginning to think an investment in raw CPU power would be much more beneficial than investing time in GPU rendering engines that are super buggy and expensive GPUs and eGPU enclosures.