Support for MacOS Metal Performance Shaders (MSP) based on py-metal-compute
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- javascript
- Domain
- computer-graphics
Research direction
Start by reading src/backend/headless-gl/kernel.js and comparing its Kernel structure with WebGLKernel and HeadlessGLKernel. Then study the behavior of the metalcompute package and identify how its Metal logic could fit gpu.js. Done would mean a defined and working Metal backend or kernel integration that can use the relevant GPUs, but the issue does not specify tests or acceptance criteria.
Written by the indexing model from the issue text.
Description
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
- Dominant language
- JavaScript
- Stars
- 15.5k
- Forks
- 663
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from gpujs/gpu.js
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
-
WebGL backend silently returns all zeros for long-running kernels (no GL error, no context loss) Open
Difficulty 5/5 Over a week Newbie friendliness 42/100
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
Similar issues
-
area/install-update comp/cli comp/desktop P3 sweeper:risk-compatibility type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
NousResearch/hermes-agent#122386 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
security
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
IBM/node-sdk-core#373 ·
-
docs web/
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100