Thanks to findings of okrasit and Fl0r!an, I was intrigued to write a small script that unleashes the full power of R9 Nano and RX 480 for calculation tasks on macOS 10.12.2. Nearly doubled clpeak single-precision compute results (GFLOPS) and Indigo Renderer Benchmark score.
The script is written only for experimental and educational purposes, I don’t take any responsibility if something goes wrong, and since this is a binary hack, I don’t see any continuity.
A word of warning, please do not edit PP_DisablePowerContainment key. It doubled OpenCL float4-float16 OpenCL computing performance with the RX 480, but it can also fry your Akitio. The total power consumption of RX 480 eGPU exceeded 190W! (I use custom boards).
http://www.insanelymac.com/forum/topic/313977-r9-nano/?p=2332854
https://www.tonymacx86.com/threads/enable-all-cores-r9-fury-cards.209892/#post-1393445
RX 480 (clpeak):
R9 Nano (clpeak):
For R9 Nano:
For RX 480:
automate-eGPU EFI ● apple_set_os.efi
Mid 2015 15-inch MacBook Pro eGPU Master Thread
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]
Thank you Goalque! I assume this would work for Mac Pro tower and Hackintosh users as well?
LinkedIn | Youtube | Instagram
• external graphics card builds
• best laptops for external GPU
• eGPU enclosure buyer's guide
2021 Gigabyte Z590i Vision D [11th,6C] + RTX 3060 Ti @ 32Gbps-TB4 (Gigabyte Gaming Box) + Win11 [build link]
@itsage: Not tied to eGPU use. Feel free to try it out
automate-eGPU EFI ● apple_set_os.efi
Mid 2015 15-inch MacBook Pro eGPU Master Thread
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]
Thank you! If you don't mind, I'd like to share it with the Mac Pro community. I know a lot of Mac Pro tower users who have been sitting on the sideline waiting for full driver support for Polaris GPUs. With this script, it's as close to official driver as one could hope for.
LinkedIn | Youtube | Instagram
• external graphics card builds
• best laptops for external GPU
• eGPU enclosure buyer's guide
2021 Gigabyte Z590i Vision D [11th,6C] + RTX 3060 Ti @ 32Gbps-TB4 (Gigabyte Gaming Box) + Win11 [build link]
Yep, no problem. Remember that this script does the CU count patch only, nothing else. Who knows, maybe we’ll have a main course after an appetizer 😉
automate-eGPU EFI ● apple_set_os.efi
Mid 2015 15-inch MacBook Pro eGPU Master Thread
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]
What is up with the cores limit exactly? Is it a Mac OS generic lock, or only locked because the Kexts are intended for different GPUs?
I take it this does not improve Metal/OpenGL performance?
To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.
.That’s a good question. There are a couple of values in hardware initialization functions. I guess the 16 CU limit is there because officially announced Polaris-based GPUs cannot utilize 64. Apple has quietly improved AMD drivers and added new device ids. Fiji is added purposely. This is a signal that they want to support a large variety of AMD GPUs.
I don’t know if this has an effect on shaders in OpenGL or Metal, probably not. Valley benchmark score did not seem to be affected.
automate-eGPU EFI ● apple_set_os.efi
Mid 2015 15-inch MacBook Pro eGPU Master Thread
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]
As AmandTech pointed out, an AMD Compute Unit is made out of 4 SIMDs, where many CU's make the base of the GPU. Then everything is put through the Pixel Pipeline. I can't imagine those would be either limited or a bottleneck for the AMD RX48o. I would expect to see a graphics performance increase as well, but maybe the Thunderbolt 2 connection is limiting the GPU in heavy graphic computations.
I will run some benchmarks with both Metal as OpenGL, where Metal really has a huge performance increase for eGPUs (some games over 3 times the performance), probably because of a smaller bandwidth overhead.
Very nice find Goalque!
To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.
.What is certain at present is that the hack has an influence on CL_DEVICE_MAX_COMPUTE_UNITS value in OpenCL’s clGetDeviceInfo call. The R9 Nano has 64 ROPs/64 CUs, and RX 480 has 32 ROPs/36 CUs.
https://www.techpowerup.com/gpudb/2735/radeon-r9-nano
https://www.techpowerup.com/gpudb/2848/radeon-rx-480
AFAIK, TB2 doesn’t bottleneck much GPGPU tasks. I’m looking forward to your results!
automate-eGPU EFI ● apple_set_os.efi
Mid 2015 15-inch MacBook Pro eGPU Master Thread
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]
I will run some benchmarks with both Metal as OpenGL, where Metal really has a huge performance increase for eGPUs (some games over 3 times the performance), probably because of a smaller bandwidth overhead.
Yeah, this is the kind of news i love to read!
MacBook Pro 13" 2020 Touch Bar M1 8-core CPU 8-core GPU - 16GB unified memory - 512GB PCIe SSD
MacBook Pro 13" 2020 Touch Bar i7 quad-core 2.3Ghz - 16GB RAM - 1TB PCIe SSD
my awesome Radeon VII eGPU
my Mantiz Venus extreme mod with Sapphire Nitro+ RX Vega 64
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.15 [build link]