- Offizieller Beitrag
aber so die krassen CUDA Berechnungen
CUDA ist ja proprietär von Nvidia. Das wird von macOS nicht unterstützt, weil Apple zuletzt AMD-Karten in den Macs eingesetzt hat. Apple hat lange Zeit auf OpenCL gesetzt, erstens weil es unabhängig vom GPU-Hersteller ist und zweitens, weil es von ihnen selbst entwickelt und dann als OpenSource freigegeben wurde. Später hat Apple dann statt des OpenGL/OpenCL-Gespanns auf die eigene proprietäre Schnittstelle "Metal" gesetzt (noch bevor es Vulkan gab). Vorteil: So konnten sie den Mobile- und den Desktop-Bereich vereinheitlichen (das hat z.B. einen Grafik-Boost bei den iPhones gebracht) und vor allem ihre eigenen (M- und A-Reihe) GPU- und ML-Cores optimal unterstützen. Also wenn man heutzutage Software auf den Mac portieren will, die auf dem PC CUDA oder OpenGL/OpenCL verwendet, sollte man diesen Code auf Metal umsetzen, damit der Mac (vor allem die M1/M2-Maschinen) seine volle Leistung entfalten kann. Je nach Anwendungsfall (z.B. bei Machine Learning) wird Metal wahrscheinlich die Berechnungen nicht auf der GPU, sondern auf der 16-Core Neural Engine ausführen, die in den SoCs von Apple-Geräten enthalten ist.
Beispiel für Software, die außerhalb der Mac-Welt auf OpenGL(CL) (und vielleicht auch CUDA) setzt und beim Mac stattdessen auf Metal, sind Blender oder auch Cinema4D, die damit "ganz normale" Berechnungen auf der GPU ausführen.