Comments (40)
Current update: #216 (comment)
Node.js GPU support is imminent. Stay tuned for the coming days, this will likely lead to a release.
from gpu.js.
from gpu.js.
I believe since this uses HeadlessGL, and release is imminent, this issue is now resolved. Ty guys for all your hard work and cheering.
from gpu.js.
I'm finishing up a few things for a release of brain.js hopefully at the end if the month. After that this issue will be my complete obsession.
from gpu.js.
Hi vird, I like this idea very much. By going to OpenCL we can do some really serious computing done. We will start moving in this direction after an overhaul of our compiler.
from gpu.js.
Looking forward to these changes coming in. I'd like to try integrating int pixelmatch, I imagine the performance boost will be enormous. Great project!
from gpu.js.
Looking forward to this. By the way... version 0.0.0...?? Not even 0.0.1?
from gpu.js.
@frenchfaso, ty very much! But...
from gpu.js.
I have a proof of concept up using headless-gl
from gpu.js.
Progressing on this today fellas. I've got all unit tests running on it, and modified things so the headless-gl module is installed just in time, but running into an issue (I think) with google Angle messing up the shader. Will know more shortly.
from gpu.js.
@arjunmehta if I go ahead and push up my changes, maybe we can work together, simultaneously providing a back end for https://github.com/GoogleChrome/puppeteer?
from gpu.js.
I don't think this is a "nice to have" but rather "a must". I'll see what I can do.
from gpu.js.
I've asked @unbornchikken if he has interest in helping, but I fully plan on assisting with this initiative after v1 is released.
from gpu.js.
Hi, I have interest of course but unfortunately ain't got much time for opensource nowadays (two little children). If you have any concrete issue that I could help you out, lemme now.
from gpu.js.
ty for the mention, and the brief time you spent replying. I mentioned your name because I know your passion. In the mean time ty for building NOOOCL, great things will come from it!
from gpu.js.
any news?
from gpu.js.
Me too!
Are there any news about gpu support on nodejs?
btw, gpujs is the best lib ever 🥇
PS: a webworker/threads fallback would also be awesome :-P
from gpu.js.
I've got a proof of concept working for nooocl, @unbornchikken, is there any way you could bump version support for opencl 2?
from gpu.js.
@robertleeplummerjr any way I can help on your efforts?
from gpu.js.
The initial work has been done here: https://github.com/gpujs/gpu.js/tree/area-52
Ideally we'd start with simple unit tests, building up simple features.
It is still a high priority, I've just been super busy using the already exposed API in https://brain.js.org. When opencl is landed, js will have an enterprise gpu accelerated platform. Preemptive huzzah!
from gpu.js.
mikeseven/node-opencl#55 (comment)
It installs now...
from gpu.js.
@nsantini Want to help still?
from gpu.js.
Any news, when gpu is supported serverside? Thank you for maintaining this great project!
from gpu.js.
Hi there, also a huge fan. Is there any chance of node.js support in the near future? Any help needed?
from gpu.js.
@arjunmehta help would be greatly appreciated. If anyone is interesting in assisting I jump on slack via bri.im, and lets talk.
from gpu.js.
@robertleeplummerjr I had a cursory look at the code and seems like you're using webGL instead of webCL/openCL. Have you looked into using https://github.com/mikeseven/node-webgl or https://github.com/stackgl/headless-gl ?
Seems like these are projects that would plug in very easily into this one
from gpu.js.
Opencl is the first planned target.
from gpu.js.
I don't see any if the above platforms being difficult to use as a target from the existing work. Just coordinating efforts to concur the world.
from gpu.js.
So I got it "working", but it appears that ANGLE misinterprets less than comparisons with floats, and because of the recent advances with google/node-gles#3, I think I might wait till that is ready.
from gpu.js.
@robertleeplummerjr nice!
Another option to consider is to use puppeteer. It is a headless chromium and has support for running webGL.
Very good cross platform support on Linux, Windows and MacOS.
It is very well maintained by the Chrome DevTools team.
https://github.com/GoogleChrome/puppeteer
from gpu.js.
Ty for the suggestions, I'll be sure to try it if my current path doesn't succeeded, or perhaps even add as another driver, just in case. As a positive point, I reached out to @nkreeger who manages google/node-gles#3 and he seems to be fairly helpful to advance work together. I was able to get the project to build, and though I'm not yet working with textures that output numbers, I was able to get the environment mostly working, with the exception of a few missing wrapper functions (adding uniforms, and sub frame buffers), so I'll be adding those in the coming days, and see where it goes.
from gpu.js.
Hopping right along: https://github.com/google/node-gles/pull/4/files
from gpu.js.
Was thinking this through and I believe my current plan of attack is this: There is still a lot of missing functionality from node-gles
having compiled it, and seeing output etc. and although I believe that it is the future, we are extremely close with headless-gl
, minus a few small bugs.
Because of how much headless-gl
:
- has been noticed (and I assume used, even though it isn't thoroughly listed on npmjs.org)
- that it already is 98% of the way working
- that it is a drop in install
I'd like to go ahead and resolve the issues that exist with it first. This will give us low hanging fruit, and a path for upgrade, rather than just waiting and hoping for node-gles
to land at v1.
Note: We are sooooo cloooose!!
The flexibility with headless-gl
will also give us something to meet with node-gles
, and I'm not shy (as you guys know) have already having contributed there.
Verbose current plan of attack:
- Resolve fragment parsing issue with float's using existing source, which I believe is our one big hangup. This is super important, because all methods generally work, I get stable output, etc. Also we have a ton of unit tests in gpu.js where we can gauge how close we are to full support.
- Open up PR that adds new functionality in
headless-gl
. - Because the library isn't maintained, I'll likely reach out to see if that job can be passed on to me for the time being.
- If this for some reason isn't accepted, I'll just open my own fork, and continue reluctantly there. Good grief, how many times can we fork this thing as actual projects? Lets combine efforts guys!
- Resolve a few other small bugs adding primitive unit tests for each directly in the project where they can be tracked and administered.
- Possibly upgrade to latest
ANGLE
and ensure tests pass.- If tests bork badly, leave in maintenance mode.
- Wait and continue to help with
node-gles
until it reaches a point it exceeds the usefulness ofheadless-gl
(ie, we get unit tests passing and possibly webgl2, which isn't currently being developed towards) - Migrate to
node-gles
In either case, mark my words, this will be working shortly.
from gpu.js.
Stepped into the parser found that the glsl is being rewritten internally, which I expected. Small steps.
from gpu.js.
I've captured the error, glsl source before it is translated, after it is translated, and reproduction javascript test here: https://gist.github.com/robertleeplummerjr/aa0a8bb9250426e5a3e9e360482b3083
I'm now passed google angle, and into dependencies. Getting closer.
from gpu.js.
Rather than keeping noise going here, I'm going to start tracking the bug here: stackgl/headless-gl#140
Bigger updates will come here.
from gpu.js.
Is this now supported in v2? Been following for a few years now :P
Wondering what the status is, can't seem to figure out if it's landed.
from gpu.js.
Node is now supported, there is a bug in windows with multiple render targets that will be addressed likely after the release of v2. A few small bugs related to typings and direct float handling are being resolved now. Nearly there. v2 will be a force to be reckoned with for stability.
from gpu.js.
That's amazing to hear! You've delivered a beautiful thing!
from gpu.js.
@robertleeplummerjr 🎉
Fantastic!!
from gpu.js.
Related Issues (20)
- Is this project dead? HOT 2
- Cant access Full API Reference page
- Detecting Y-axis orientation for post-processing
- Graphical option with ImageData doesn't work in WebWorker
- I am running into this issue.
- m2max, macos: 13.2.1, when i run "npm i gpu.js" throw an error HOT 3
- Nigh unstoppable memory leaks from repeated application of immutable pipelined textures (Texture.delete() does not seem to work) HOT 3
- How to determine the maximum grid size? HOT 1
- Chrome 113 with WebGPU breaks GPU.js HOT 12
- Installation instructions are wrong HOT 1
- WebGPU-based successor for GPUjs HOT 7
- Somewhere of the output image get blur
- Cannot handle transpiled imported function
- How to process arrays of images with gpu-shader
- Feature Request: ability to provide custom shader code directly
- Formula Not Working as Expected when inside GPU.js kernel
- Unable to install
- Bitwise result not correct
- How to create arrays with a length greater than 4
- GPU.js NodeJS X11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gpu.js.