Support for MacOS Metal Performance Shaders (MSP) based on py-metal-compute
- Lingua principale
- JavaScript
- Stelle
- 15.5k
- Fork
- 663
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia leggendo src/backend/headless-gl/kernel.js e confrontando la sua struttura Kernel con WebGLKernel e HeadlessGLKernel. Studia quindi il comportamento del package metalcompute e individua come la sua logica Metal potrebbe integrarsi in gpu.js. Il lavoro sarebbe considerato completato quando fosse disponibile un’integrazione definita e funzionante del backend o del kernel Metal in grado di utilizzare le GPU rilevanti, ma l’issue non specifica test o criteri di accettazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript
- Ambito
- computer-graphics
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 20/100