Support for MacOS Metal Performance Shaders (MSP) based on py-metal-compute
- Vorherrschende Sprache
- JavaScript
- Sterne
- 15.5k
- Forks
- 663
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Dear GPU Community,
recently I've started to play around with brain.js and processing calculations on GPU with the goal to squeeze some performance out of my home server with Blackmagic Pro eGPU. Generally speaking, I was able to run a few tests successfully, but surprisingly all calculations have been processed on my internal graphics card, not on eGPU.

However, if running tests with `py-metal-compute` (`metalcompute` pip package), calculation is being processed on all 3 GPUs.

With that, I would like to try to contribute looking for a way to migrate the logic from `metalcompute` to gpu.js. From my first observations I would need to develop a Kernel that can be injected similar to `WebGLKernel` or `HeadlessGLKernel`. As a first step I'm trying to get familiar with the code in `src/backend/headless-gl/kernel.js`, but if there is some information that would give me a head start, I would highly appreciate!
Any guidance that would speedup the development, I would highly appreciate it!
Best,
Vitali
Beitragsleitfaden
Rechercherichtung
Beginne mit dem Lesen von src/backend/headless-gl/kernel.js und vergleiche dessen Kernel-Struktur mit WebGLKernel und HeadlessGLKernel. Untersuche anschließend das Verhalten des metalcompute-Pakets und ermittle, wie sich dessen Metal-Logik in gpu.js integrieren ließe. Als abgeschlossen würde eine definierte und funktionierende Metal-Backend- oder Kernel-Integration gelten, die die relevanten GPUs verwenden kann; das Issue legt jedoch keine Tests oder Akzeptanzkriterien fest.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- computer-graphics
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 20/100