Gpu acceleration mac os

Use an external graphics processor with your Mac

Your Thunderbolt 3-equipped Mac running macOS High Sierra 10.13.4 or later can access additional graphics performance by connecting to an external graphics processor (also known as an eGPU).

An eGPU can give your Mac additional graphics performance for professional apps, 3D gaming, VR content creation, and more.

eGPUs are supported by any Mac with an Intel processor and Thunderbolt 3 ports 1 running macOS High Sierra 10.13.4 or later. Learn how to update the software on your Mac.

An eGPU lets you do all this on your Mac:

  • Accelerate apps that use Metal, OpenGL, and OpenCL
  • Connect additional external monitors and displays
  • Use virtual reality headsets plugged into the eGPU
  • Charge your MacBook Pro while using the eGPU
  • Use an eGPU with your MacBook Pro while its built-in display is closed
  • Connect an eGPU while a user is logged in
  • Connect more than one eGPU using the multiple Thunderbolt 3 (USB-C) ports on your Mac 2
  • Use the menu bar item to safely disconnect the eGPU
  • View the activity levels of built-in and external GPUs (Open Activity Monitor, then choose Window > GPU History.)

eGPU support in apps

eGPU support in macOS High Sierra 10.13.4 and later is designed to accelerate Metal, OpenGL, and OpenCL apps that benefit from a powerful eGPU. Not all apps support eGPU acceleration; check with the app’s developer to learn more. 3

In general, an eGPU can accelerate performance in these types of apps:

  • Pro apps designed to utilize multiple GPUs
  • 3D games, when an external monitor is attached directly to the eGPU
  • VR apps, when the VR headset is attached directly to the eGPU
  • Pro apps and 3D games that accelerate the built-in display of iMac, iMac Pro, MacBook Air, and MacBook Pro (This capability must be enabled by the app’s developer.)

You can configure applications to use an eGPU with one of the following methods.

Use the Prefer External GPU option

Starting with macOS Mojave 10.14, you can turn on Prefer External GPU in a specific app’s Get Info panel in the Finder. This option lets the eGPU accelerate apps on any display connected to the Mac—including displays built in to iMac, iMac Pro, MacBook Air, and MacBook Pro:

  1. Quit the app if it’s open.
  2. Select the app in the Finder. Most apps are in your Applications folder. If you open the app from an alias or launcher, Control-click the app’s icon and choose Show Original from the pop-up menu. Then select the original app.
  3. Press Command-I to show the app’s info window.
  4. Select the checkbox next to Prefer External GPU.
  5. Open the app to use it with the eGPU.

You won’t see this option if an eGPU isn’t connected, if your Mac isn’t running macOS Mojave or later, or if the app self-manages its GPU selection. Some apps, such as Final Cut Pro, directly choose which graphics processors are used and will ignore the Prefer External GPU checkbox.

Set an external eGPU-connected display as the primary display

If you have an external display connected to your eGPU, you can choose it as the primary display for all apps. Since apps default to the GPU associated with the primary display, this option works with a variety of apps:

  1. Quit any open apps that you want the eGPU to accelerate on the primary display.
  2. Choose Apple menu  > System Preferences. Select Displays, then select the Arrangement tab.
  3. Drag the white menu bar to the box that represents the display that’s attached to the eGPU.
  4. Open the apps that you want to use with the eGPU.

If you disconnect the eGPU, your Mac defaults back to the internal graphics processors that drives the built-in display. When the eGPU is re-attached, it automatically sets the external display as the primary display.

About macOS GPU drivers

Mac hardware and GPU software drivers have always been deeply integrated into the system. This design fuels the visually rich and graphical macOS experience as well as many deeper platform compute and graphics features. These include accelerating the user interface, providing support for advanced display features, rendering 3D graphics for pro software and games, processing photos and videos, driving powerful GPU compute features, and accelerating machine learning tasks. This deep integration also enables optimal battery life while providing for greater system performance and stability.

Читайте также:  Как настроить linux server

Apple develops, integrates, and supports macOS GPU drivers to ensure there are consistent GPU capabilities across all Mac products, including rich APIs like Metal, Core Animation, Core Image, and Core ML. In order to deliver the best possible customer experience, GPU drivers need to be engineered, integrated, tested, and delivered with each version of macOS. Aftermarket GPU drivers delivered by third parties are not compatible with macOS.

The GPU drivers delivered with macOS are also designed to enable a high quality, high performance experience when using an eGPU, as described in the list of recommended eGPU chassis and graphics card configurations below. Because of this deep system integration, only graphics cards that use the same GPU architecture as those built into Mac products are supported in macOS.

Supported eGPU configurations

It’s important to use an eGPU with a recommended graphics card and Thunderbolt 3 chassis. If you use an eGPU to also charge your MacBook Pro, the eGPU’s chassis needs to provide enough power to run the graphics card and charge the computer. Check with the manufacturer of the chassis to find out if it provides enough power for your MacBook Pro.

Recommended graphics cards, along with chassis that can power them sufficiently, are listed below.

Thunderbolt 3 all-in-one eGPU products

These products contain a powerful built-in GPU and supply sufficient power to charge your MacBook Pro.

Recommended Thunderbolt 3 all-in-one eGPUs:

  • Blackmagic eGPU and Blackmagic eGPU Pro4
  • Gigabyte RX 580 Gaming Box 4
  • Sonnet Radeon RX 570 eGFX Breakaway Puck
  • Sonnet Radeon RX 560 eGFX Breakaway Puck 5

AMD Radeon RX 6800, 6800 XT, and 6900 XT

If you’ve installed macOS Big Sur 11.4 or later, you can use these graphics cards that are based on the AMD Navi RDNA2 architecture. Recommended graphics cards include the AMD Radeon RX 6800, AMD Radeon RX 6800 XT, and AMD Radeon RX 6900 XT 7 .

Full USB functionality is not supported on the card’s USB-C port. Connect displays to the DisplayPort and HDMI ports on the card. If you connect a display to the USB-C port on the card, your display may experience issues when waking from sleep.

Recommended Thunderbolt 3 chassis for these graphics cards:

  • Sonnet eGFX Breakaway Box 650W 4
  • Razer Core X 4

AMD Radeon RX 5700, 5700 XT, and 5700 XT 50th Anniversary

If you’ve installed macOS Catalina 10.15.1 or later, you can use these graphics cards that are based on the AMD Navi RDNA architecture. Recommended graphics cards include the AMD Radeon RX 5700, AMD Radeon RX 5700 XT, and AMD Radeon RX 5700 XT 50th Anniversary.

Recommended Thunderbolt 3 chassis for these graphics cards:

  • Sonnet eGFX Breakaway Box 650W 4
  • Razer Core X 4

AMD Radeon RX Vega 64, Vega Frontier Edition Air, and Radeon Pro WX 9100

These graphics cards are based on the AMD Vega 64 architecture. Recommended graphics cards include the Sapphire Vega 64, AMD Frontier Edition air-cooled, and AMD Radeon Pro WX 9100.

Recommended Thunderbolt 3 chassis for these graphics cards:

  • Sonnet eGFX Breakaway Box 650W 4
  • Razer Core X 4

AMD Radeon RX Vega 56

These graphics cards are based on the AMD Vega 56 architecture. Recommended graphics cards include the Sapphire Vega 56.

Recommended Thunderbolt 3 chassis for these graphics cards:

  • OWC Mercury Helios FX 4
  • PowerColor Devil Box
  • Sonnet eGFX Breakaway Box 550W 4
  • Sonnet eGFX Breakaway Box 650W 4
  • Razer Core X 4
  • PowerColor Game Station 4

AMD Radeon RX 470, RX 480, RX 570, RX 580, and Radeon Pro WX 7100

These graphics cards are based on the AMD Polaris architecture. Recommended graphics cards include the Sapphire Pulse series and the AMD WX series.

Recommended Thunderbolt 3 chassis for these graphics cards:

  • OWC Mercury Helios FX 4
  • PowerColor Devil Box
  • Sapphire Gear Box
  • Sonnet eGFX Breakaway Box 350W
  • Sonnet eGFX Breakaway Box 550W 4
  • Sonnet eGFX Breakaway Box 650W 4
  • Razer Core X 4
  • PowerColor Game Station 4
  • HP Omen 4
  • Akitio Node 6

Learn more

  • Learn how to choose your GPU in Final Cut Pro 10.4.7 or later.
  • To ensure the best eGPU performance, use the Thunderbolt 3 cable that came with your eGPU or an Apple Thunderbolt 3 (USB-C) cable. Also make sure that the cable is connected directly to a Thunderbolt 3 port on your Mac, not daisy-chained through another Thunderbolt device or hub.
  • If you have questions about Thunderbolt 3 chassis or graphics cards, or about third-party app support and compatibility, contact the hardware or software provider.
  • Software developers can learn more about programming their apps to take advantage of macOS eGPU support.

1. If you have a Mac mini (2018) with FileVault turned on, make sure to connect your primary display directly to Mac mini during startup. After you log in and see the macOS Desktop, you can unplug the display from Mac mini and connect it to your eGPU.

Читайте также:  Windows 10 pro by bella

2. If you’re using a 13-inch MacBook Pro from 2016 or 2017, always plug eGPUs and other high-performance devices into the left-hand ports for maximum data throughput.

3. macOS High Sierra 10.13.4 and later don’t support eGPUs in Windows using Boot Camp or when your Mac is in macOS Recovery or installing system updates.

4. These chassis provide at least 85 watts of charging power, making them ideal for use with 15-inch MacBook Pro models.

5. Playback of HDCP-protected content from iTunes and some streaming services is not supported on displays attached to Radeon 560-based eGPUs. You can play this content on the built-in display on MacBook Pro, MacBook Air, and iMac.

6. If you use Akitio Node with a Mac notebook, you might need to connect your Mac to its power adapter to ensure proper charging.

7. Only Radeon RX 6900XT models made or sold by AMD are supported (Device ID 0x73BF).

Information about products not manufactured by Apple, or independent websites not controlled or tested by Apple, is provided without recommendation or endorsement. Apple assumes no responsibility with regard to the selection, performance, or use of third-party websites or products. Apple makes no representations regarding third-party website accuracy or reliability. Contact the vendor for additional information.

Источник

How to accelerate apps with an eGPU on your Mac’s internal display [Video]

— Jul. 1st 2018 7:18 am PT

With macOS 10.13.4’s support for external graphics, Apple is officially allowing users to supplement their Macs with an eGPU like the Sonnet eGFX Breakaway Box. Unfortunately, the ability to render apps via an eGPU while being displayed on your Mac’s built-in screen, possible via developer app updates, is quite rare.

A recently released script called set-eGPU, from eGPU.io alumnus @mac_editor, gives users more control over GPU rendering. The script overrides plist values assigned to GPUSelectionPolicy, available in macOS 10.13.4 and later, for installed apps dynamically.

In other words, this script uses tools already baked into the latest versions of macOS to give the end user more control over eGPU usage. A primary benefit is that it allows an external GPU to render installed applications and present them on your Mac’s built-in display. With this script you can now force eGPU rendering for many of your installed apps without an external display.

As you might expect, one of the first apps that I tested was Final Cut Pro X, and the results are encouraging. Watch our hands-on video walkthrough for the details.

How to install set-eGPU on your Mac

First and foremost, set-eGPU is an open source script by mayankk2308, so you’re free to peruse the code to see exactly what it’s doing. Secondly, the script is simple, and you don’t have to do anything weird like disabling SIP in order to use it.

All testing was performed with my base model 2017 13-inch MacBook Pro.

Step 1: The first thing you’ll need to do is connect an eGPU to your Thunderbolt 3-enabled Mac running macOS 10.13.4 or later. While set-eGPU works on macOS 10.14 Mojave, users may encounter some bugs, which is to be expected considering Mojave is in beta.

Video walkthrough

Step 2: Open a Terminal window via Applications → Utilities → Terminal.

Step 3: Copy and paste the following into the Terminal to install the script:

curl -s «https://api.github.com/repos/mayankk2308/set-egpu/releases/latest» | grep ‘»browser_download_url»:’ | sed -E ‘s/.*»([^»]+)».*/\1/’ | xargs curl -L -s -0 > set-eGPU.sh && chmod +x set-eGPU.sh && ./set-eGPU.sh && rm set-eGPU.sh

If you prefer, you can always download the script and install it manually.

Step 4: Press Return on your keyboard and enter your administrator password.

Note that the installation script is a one time only thing, so you will only need to enter it and input your administrator password for this step alone.

How to run set-eGPU on your Mac

To run set-eGPU, simply type set-eGPU in a Terminal window and press Return on your keyboard. From there you will be presented with an easy-to-use interface for selecting the various options related to GPU rendering.

The first option is a global option, which allows you to set all installed applications in /Applications to prefer eGPU rendering.

The second option, one that I primarily use, allows you to target specific applications to prefer eGPU. After selecting option 2, you’ll be prompted to enter the exact name of the application (as shown in Launchpad) that you wish to accelerate.

The third option allows users to confirm the status of a particular application on your Mac. Again, you’ll need to enter the exact name of the application.

The final two options allow you to disable global app rendering…

…or disable eGPU rendering on an app-by-app basis.

Alternatively, advanced users can bypass the menu interface and execute direct command line options. For example, the -ss option allows you to quickly specify an app to prefer eGPU acceleration.

Читайте также:  Windows hosts process rundll32

For a full list of eligible options, check the Options section of mayankk2308’s set-eGPU GitHub page. If you need support with your eGPU, I recommend the fine community over at eGPU.io, which is a staple among external GPU enthusiasts. They have a thread dedicated to set-eGPU discussion. There, you’ll also learn how to target certain applications via bundle identifier, useful for apps that are nested within folders in /Applications.

How to monitor eGPU usage in macOS

macOS has a built-in tool for monitoring both internal and external GPU usage.

Step 1: Open Activity Monitor via Applications → Utilities → Activity Monitor.

Step 2: In the menu bar select Windows → GPU History or use the keyboard shortcut ⌘+4.

Step 3: In the menu bar select View → Update Frequency → Very often (1 sec).

Benchmarks

How much of a difference can an eGPU setup make? I’ve found that with the help of set-eGPU, it can make quite a noticeable difference, and all of these were performed using my base-model 2017 13-inch MacBook Pro without an external display!

The first benchmark using Unigine Valley and Heaven shows a noticeable improvement in FPS. It’s not quite as good as you’d get from an external display setup, but it’s still a sizable improvement over the integrated GPU.

Note: to get Heaven and Valley working with the internal display, I had to connect a DisplayPort display emulator (headless dummy adapter) to one of the DisplayPort connections on my GPU. This was not necessary for other apps I tested like Final Cut Pro X.

The next benchmark showcases the BruceX 5K export that’s popular among Final Cut Pro X users. This effects-heavy 5K project taxes the GPU. You can easily see the difference between integrated graphics, and external graphics.

Thanks to set-eGPU, even real world projects stand to reap serious benefits from an eGPU setup in Final Cut Pro X. Export times for both single pass and multi-pass exports were basically cut in half when using my Vega 64-equipped eGPU.

Here is one additional benchmark that I did via my Radeon Pro Vega 56-equipped iMac Pro. As you can see, the external RX Vega 64 GPU beats the internal GPU in the BruceX benchmark. Now, obviously a Vega 64 is more powerful than a Vega 56, but keep in mind the overhead of the Thunderbolt 3 connection. It helps put into perspective how much potential eGPUs have to lend us power on demand.

Which eGPU?

There are several eGPU boxes on the market that work well with the Mac, though not all are officially endorsed by Apple. My favorite eGPU at the moment is the Razer Core X, which I explained in our hands-on review.

My favorite eGPU chassis

Yet, Sonnet is also a strong option for an eGPU chassis, and they are officially endorsed in Apple’s eGPU documentation. Sonnet’s has some very affordable lower end eGPU models, which will do a great job when paired with cards like the AMD RX 580. However, if you’re looking for a unit that can handle the latest cards and beyond, then Sonnet’s top of the line eGFX Breakaway Box 650 (currently out of stock) and Razer’s Core X are both great options.

eGPUs

  • Sonnet eGFX Breakaway Box 350W
  • Sonnet eGFX Breakaway Box 550W
  • Sonnet eGFX Breakaway Box 650W (out of stock)
  • Sonnet eGFX Breakaway Box 350W with RX580 bundle
  • Razer Core X
  • Akitio Node Pro

Only certain AMD cards are officially supported for external GPUs in macOS. All of them should yield tangible differences in performance.

RX Vega 64 – the most potent Mac-compatible GPU

If you’re looking for an all-in-one solution that’s relatively portable, then be sure to check out GigaByte’s RX 580 Gaming Box. We reviewed it a few months ago, and were impressed by its size to power ratio.

Conclusion

The downside of not using an external display with your eGPU setup is that only an internal GPU can drive an internal display. This means that draw data will need to be negotiated between the eGPU and iGPU, adding additional overhead. Despite the performance hit of copying draw data from the external GPU back to the internal GPU driving the internal display, significant performance gains can still be yielded.

I would love to see a native option within macOS that allows users to easily target specific applications to render with an eGPU — something like a switch within each app’s menu bar, or even a global list of apps within the SafeEjectGPU button that appears after connecting an eGPU.

Have you used an eGPU with your Mac yet? Does set-eGPU change your thoughts about external graphics? Sound off in the comments below with your feedback.

FTC: We use income earning auto affiliate links. More.

Источник

Оцените статью