

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 design fuels the visually rich and graphical macOS experience as well as many deeper platform compute and graphics features. Mac hardware and GPU software drivers have always been deeply integrated into the system. When the eGPU is re-attached, it automatically sets the external display as the primary display. If you disconnect the eGPU, your Mac defaults back to the internal graphics processors that drives the built-in display.

Select the display that's attached to the eGPU, then choose Use as Main Display.Choose Apple menu > System Settings (or System Preferences), then click Displays.Quit any open apps that you want the eGPU to accelerate on the primary display.Since apps default to the GPU associated with the primary display, this option works with a variety of apps. I'd love to see a proper Mac GPU training with Metal on either Intel or M1 but am unsure how to make it happen.If you have an external display connected to your eGPU, you can choose it as the primary display for all apps. Fun, but too much effort to make a PR for PyTorch at the time. Years ago, I wrote an unpublished proof-of-concept Metal/MPS replacement for a "look alike" Linear layer to measure speed improvements in inference for Accelerate vs Metal on macOS.

My impression (which might be a few months outdated, sorry) is that PyTorch training< on the Mac never uses the GPU via Metal/MPS and even used to ignore Accelerate in favor of Intel libraries (was it 1.2 or 1.3 ? ) even though Apple can optimize more for CPU performance (GEMM) on M1 and Intel. Works like Add Metal/MPSCNN support on iOS #46112 have already gone down this approach but the drawback is that we can only make use of the GPU but not the neural engine.
