Skip to content

Any suggestions for node.js + nooocl usage? #52

Closed

Description

@vird

Nodejs can use this https://github.com/unbornchikken/NOOOCL at serverside. I really like transpiler idea, but I want serverside runtime. Is it possible? Is there any example? Async API?
Note. Yes I understand, that openCL != webGL.

Activity

  1. fuzzie360 commented on Nov 27, 2016

    @fuzzie360
    Member

    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.

  2. robertleeplummerjr commented on Jun 27, 2017

    @robertleeplummerjr
    Member

    I don't think this is a "nice to have" but rather "a must". I'll see what I can do.

  3. robertleeplummerjr commented on Jun 28, 2017

    @robertleeplummerjr
    Member

    I've asked @unbornchikken if he has interest in helping, but I fully plan on assisting with this initiative after v1 is released.

  4. unbornchikken commented on Jun 29, 2017

    @unbornchikken

    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.

  5. robertleeplummerjr commented on Jun 29, 2017

    @robertleeplummerjr
    Member

    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!

  6. hujiulong commented on Jul 20, 2017

    @hujiulong

    any news?

  7. robertleeplummerjr commented on Jul 20, 2017

    @robertleeplummerjr
    Member
  8. added a commit that references this issue on Jul 22, 2017
  9. jsphweid commented on Aug 18, 2017

    @jsphweid

    Looking forward to this. By the way... version 0.0.0...?? Not even 0.0.1?

  10. frenchfaso commented on Nov 25, 2017

    @frenchfaso

    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

  11. robertleeplummerjr commented on Nov 27, 2017

    @robertleeplummerjr
    Member

    I've got a proof of concept working for nooocl, @unbornchikken, is there any way you could bump version support for opencl 2?

  12. robertleeplummerjr commented on Nov 27, 2017

    @robertleeplummerjr
    Member

    @frenchfaso, ty very much! But...

  13. nsantini commented on Jan 21, 2018

    @nsantini

    @robertleeplummerjr any way I can help on your efforts?

  14. robertleeplummerjr commented on Jan 22, 2018

    @robertleeplummerjr
    Member

    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!

  15. 13 remaining items

  16. arjunmehta commented on Dec 27, 2018

    @arjunmehta
    Contributor

    @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

  17. robertleeplummerjr commented on Dec 27, 2018

    @robertleeplummerjr
    Member

    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.

  18. robertleeplummerjr commented on Dec 27, 2018

    @robertleeplummerjr
    Member
  19. robertleeplummerjr commented on Dec 28, 2018

    @robertleeplummerjr
    Member

    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:

    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 of headless-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.

  20. robertleeplummerjr commented on Dec 28, 2018

    @robertleeplummerjr
    Member

    @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?

  21. robertleeplummerjr commented on Dec 29, 2018

    @robertleeplummerjr
    Member

    Stepped into the parser found that the glsl is being rewritten internally, which I expected. Small steps.

  22. robertleeplummerjr commented on Dec 29, 2018

    @robertleeplummerjr
    Member

    I've captured the error, glsl source before it is translated, after it is translated, and reproduction javascript test here: https://github.com/proxy/gist.github.com/robertleeplummerjr/aa0a8bb9250426e5a3e9e360482b3083

    I'm now passed google angle, and into dependencies. Getting closer.

  23. robertleeplummerjr commented on Dec 29, 2018

    @robertleeplummerjr
    Member

    Rather than keeping noise going here, I'm going to start tracking the bug here: stackgl/headless-gl#140

    Bigger updates will come here.

  24. robertleeplummerjr commented on Feb 25, 2019

    @robertleeplummerjr
    Member

    Current update: #216 (comment)

    Node.js GPU support is imminent. Stay tuned for the coming days, this will likely lead to a release.

  25. wbrickner commented on Apr 15, 2019

    @wbrickner

    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.

  26. robertleeplummerjr commented on Apr 15, 2019

    @robertleeplummerjr
    Member

    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.

  27. wbrickner commented on Apr 15, 2019

    @wbrickner

    That's amazing to hear! You've delivered a beautiful thing!

  28. robertleeplummerjr commented on May 22, 2019

    @robertleeplummerjr
    Member

    I believe since this uses HeadlessGL, and release is imminent, this issue is now resolved. Ty guys for all your hard work and cheering.

  29. arjunmehta commented on May 23, 2019

    @arjunmehta
    Contributor

    @robertleeplummerjr 🎉
    Fantastic!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions