-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issues installing on Linux with nvidia #55
Comments
Did you get any further here? |
Sorry, I was caught up in too many urgent things. I may be able to spend some time next week with holidays.
Your solution is indeed a good one I used in the past in other projects. Being more dynamic is better if you only use binaries but I don't use that as I prefer the native part to be compiled for your system. This ensures you are installing with a proper runtime, which is sometimes tricky to setup on some distributions.
…--mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Friday, November 17, 2017 7:34:04 AM
To: mikeseven/node-opencl
Cc: Subscribed
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
Did you get any further here?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLIOdBOhr7KplfyAZcKb8d6otfhiGks5s3adrgaJpZM4MfgtN>.
|
It looks like this library will be used by http://gpu.rocks, fyi. You think there will be sufficient support? |
Cool, I was not aware of this library. I'll look at it.
At first glance, it seems to be a wrapper that would fit on top of node-opencl ;-)
…--mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Friday, November 17, 2017 9:48:53 AM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Comment
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
It looks like this library will be used by http://gpu.rocks, fyi. You think there will be sufficient support?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLEngwLJn36i_LINkAgGAspz8x9GLks5s3ccFgaJpZM4MfgtN>.
|
exactly. the architectural layer would give us a means of finally having a full on GPU + js api. Design in simple js, execute... everywhere. |
This is my exact issue on Ubuntu:
|
I can provide ssh if you like. |
Yes there are a few changes in CL 2.0. I'll write the shim so it's available in js and native.
More importantly I have to update the code to latest nodejs native API as some callbacks don't work as expected in recent versions. Same issue as with node-webgl.
…--mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Friday, November 17, 2017 10:21:35 AM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Comment
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
I can provide ssh locally, if you like.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLLtZ03N9UZ-utQIFYGqcCSowiD2Gks5s3c6vgaJpZM4MfgtN>.
|
Do you know what turnaround time will be? No rush. |
Also: this is so exciting! |
Hopefully over Thanksgiving ;-)
…--mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Friday, November 17, 2017 12:14:31 PM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Comment
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
Also: this is so exciting!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLMgnec5M8Vly4Bi7-CucrBjrHs74ks5s3ekngaJpZM4MfgtN>.
|
Bumping for status. I'm very very very interested in this endeavor especially for NodeJS core, and our library webpack for parallel processing. |
@mikeseven did you get around to it yet? |
I haven't tested extensively but it has been in feature branch for a while. |
Nice: https://github.com/mikeseven/node-opencl/tree/feature/upgrade_to_NAN_2.8.0 |
That would be nice, thanks.
I tested on some machines here but it would be nice to test if there are any issues with your OS.
…-- mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Friday, February 16, 2018 11:41:13 AM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
Nice: https://github.com/mikeseven/node-opencl/tree/feature/upgrade_to_NAN_2.8.0
So we just need to test, give feedback here, and based off that, improve and release or just release?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLEnAE-qdnhf935d1FbKN8HW-AVOnks5tVdnYgaJpZM4MfgtN>.
|
Also this is super relevant I think. (I've tried to drive this with some
success) nodejs/node#18423 (comment)
…On Fri, Feb 16, 2018 at 12:43 PM m1k3 ***@***.***> wrote:
That would be nice, thanks.
I tested on some machines here but it would be nice to test if there are
any issues with your OS.
-- mike
________________________________
From: Robert Plummer ***@***.***>
Sent: Friday, February 16, 2018 11:41:13 AM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with
nvidia (#55)
Nice:
https://github.com/mikeseven/node-opencl/tree/feature/upgrade_to_NAN_2.8.0
So we just need to test, give feedback here, and based off that, improve
and release or just release?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<
#55 (comment)>,
or mute the thread<
https://github.com/notifications/unsubscribe-auth/AAxYLEnAE-qdnhf935d1FbKN8HW-AVOnks5tVdnYgaJpZM4MfgtN
>.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#55 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADQBMAt11tP96XMAxtYlopGTQfwsP2E9ks5tVehggaJpZM4MfgtN>
.
|
Yes it is interesting but these shaders, like vulkan's are a subset of OpenCL. The benefits is for graphics apps to avoid a context switch and a syntax easier for shaders developers.
-- mike
________________________________
From: Sean Larkin <[email protected]>
Sent: Friday, February 16, 2018 1:43:59 PM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
Also this is super relevant I think. (I've tried to drive this with some
success) nodejs/node#18423 (comment)
On Fri, Feb 16, 2018 at 12:43 PM m1k3 ***@***.***> wrote:
That would be nice, thanks.
I tested on some machines here but it would be nice to test if there are
any issues with your OS.
-- mike
________________________________
From: Robert Plummer ***@***.***>
Sent: Friday, February 16, 2018 11:41:13 AM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with
nvidia (#55)
Nice:
https://github.com/mikeseven/node-opencl/tree/feature/upgrade_to_NAN_2.8.0
So we just need to test, give feedback here, and based off that, improve
and release or just release?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<
#55 (comment)>,
or mute the thread<
https://github.com/notifications/unsubscribe-auth/AAxYLEnAE-qdnhf935d1FbKN8HW-AVOnks5tVdnYgaJpZM4MfgtN
>.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#55 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADQBMAt11tP96XMAxtYlopGTQfwsP2E9ks5tVehggaJpZM4MfgtN>
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLN2-7V2x4eATl13tx46cJd1sl9E1ks5tVfafgaJpZM4MfgtN>.
|
the benefit of gpu.js, with node-opencl (planned, in prototype stage) is that you won't have to learn any of it, just plain old good fashion javascript. 😎 |
Gpujs uses webgl so yes you can do gpgpu applications but it's mainly geared at graphics applications. Don't expect doing general OpenCL apps with gl shaders, even compute shaders, because it's quite limited.
…-- mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Saturday, February 17, 2018 5:40:53 PM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
the benefit of gpu.js, with node-opencl (planned, in prototype stage) is that you won't have to learn any of it, just plain old good fashion javascript.
😎
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLCgF2Frc-L4MfGlpbmei37WwqBvOks5tV3-lgaJpZM4MfgtN>.
|
As a developer of I can say: GPU.js uses webgl as one of its rendering targets, along with javascript, but it will use opencl soon as another: gpujs/gpu.js#52 It'd be easy to add any number of targets that don't support graphics backends. |
To use opencl as backend, it would need to be outside the browser as none support webcl. So you end up with a solution like node-webcl/webgl.
The problem with js is that it doesn't have the types needed. It could be possible to do some sort of typescript though if you are looking for performance, you would prefer using portable syntax and stay in opencl.
That's one reason I stayed out of a DSL in node-webcl or node-opencl. I preferred providing the low level access and let people invent their preferred DSL on top. Gpujs could be one and so are many others for specific verticals. For example, halide for imaging, ispc for rendering...
…--mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Monday, February 19, 2018 10:46:39 AM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
As a developer of I can say: GPU.js uses webgl as one of its rendering targets, along with javascript, but it will use opencl soon as another: gpujs/gpu.js#52<gpujs/gpu.js#52>
It'd be easy to add any number of targets that don't support graphics backends.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLDryDCYuyy1NNn8qMEd3y6LXShNUks5tWcGOgaJpZM4MfgtN>.
|
Already done. GPU.js originally only used webgl, but now compiles a kernel just fine on node. So GPU.js has both node support and browser and handles typed arrays like Note: yes GPU.js actually compiles a javascript kernel, in javascript. This is done for performance, and... well, just because we can. The javascript is compiled directly to whatever environment we need. It doesn't currently support an opencl kernel, which is why I started getting involved in this thread in the first place, all we need is a means of computing the numbers, that is easily installable. After that, the GPU.js library takes care of the rest. An example would be compiling a kernel similar to how it is done here in your unit tests: https://github.com/mikeseven/node-opencl/blob/master/test/test.kernel.js#L65 In short the javascript is compiled one to one with the subset of c++ environment (webgl or planned opencl, in the future: arrayfire, cuda, or perhaps webcl if it ever materializes). |
Awesome.
…--mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Monday, February 19, 2018 12:24:50 PM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
To use opencl as backend, it would need to be outside the browser
Already done. GPU.js originally only used webgl<https://github.com/gpujs/gpu.js/tree/develop/src/backend/web-gl>, but now compiles a kernel just fine on node<https://github.com/gpujs/gpu.js/tree/develop/src/backend/cpu>. So GPU.js has both node support and browser and handles typed arrays like Float32Array, just fine. Because we built it to work in a specific kernel environment, type detection is actually super easy<https://github.com/gpujs/gpu.js/blob/develop/src/backend/web-gl/function-node.js#L221>.
Note: yes GPU.js actually compiles a javascript kernel, in javascript<https://github.com/gpujs/gpu.js/blob/develop/src/backend/cpu/function-node.js>. This is done for performance, and... well, just because we can.
The javascript is compiled directly to whatever environment we need. It doesn't currently support an opencl kernel, which is why I started getting involved in this thread in the first place, all we need is a means of computing the numbers, that is easily installable. After that, the GPU.js library takes care of the rest. An example would be compiling a kernel similar to how it is done here in your unit tests: https://github.com/mikeseven/node-opencl/blob/master/test/test.kernel.js#L65
In short the javascript is compiled one to one with the subset of c++ environment (webgl or planned opencl, in the future: arrayfire, cuda, or perhaps webcl if it ever materializes).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLIx_zhSFvEuAgA2xfAEK5BzccFC6ks5tWdiSgaJpZM4MfgtN>.
|
Tried to install, this is what I get:
|
I ran it once more, using save, and this time no warnings:
|
I believe that means, we are release ready? |
Build should be fine. How about run? Which OSare you using?
…--mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Monday, February 19, 2018 5:18:21 PM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
I believe that means, we are release ready?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLKsz25n--vbM-j3vXvUDFT5T_t_Bks5tWh1dgaJpZM4MfgtN>.
|
When I try one of the examples, I get |
This a cl 2.0 function. Could it be that your machine is opencl 1.x?
…--mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Tuesday, February 20, 2018 7:51:37 AM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
When I try one of the examples, I get cl.createContextFromType is not a function, I'm assuming I'm not doing something right. I did try just building a kernel, without running it, and it ran perfectly.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLBEU5yHsbb3c5PNm_yyaL-Mte7-4ks5tWuoJgaJpZM4MfgtN>.
|
It is, sadly: https://support.apple.com/en-us/HT202823 Is there v1 example you could point me to? |
Yes mac is stuck on 1.2 even more sad that 2.0 driver does exist for the GPU they use.
Fear not, CreateWithType is merely syntactic sugar from 1.2. Ok gotta update the samples to use the right method for 1.2. Same for few others. It will be something like if (opencl.version_2)...
…--mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Tuesday, February 20, 2018 2:15:57 PM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
It is, sadly: https://support.apple.com/en-us/HT202823
Is there v1 example you could point me to?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLKjPwF5LwHLGKzZmxbL_w-MXBnVlks5tW0QdgaJpZM4MfgtN>.
|
fantastic! |
any updates? Things are moving fast, and want to be able to use soon. |
This weekend for sure...after skiing ;-)
…--mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Saturday, February 24, 2018 4:59:51 PM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
any updates? Things are moving fast, and want to be able to use soon.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLMvcQrjbuZfvyXx5U9vTXZdjSDeTks5tYLCGgaJpZM4MfgtN>.
|
nice |
done. Tested on Mac.
On Feb 24, 2018, at 7:04 PM, Robert Plummer <[email protected]<mailto:[email protected]>> wrote:
nice
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLFYkHifDaAA4IyGW5PDK4FQt1XPOks5tYM3YgaJpZM4MfgtN>.
|
It builds, but when I run unit tests (which are fantastically written) I get 72 failures, and then then |
fyi: all examples work 100% |
Yes I corrected the examples a couple of weeks ago and started working on tests. The problem is that some fails on some OS (mainly Mac) but not on others or on some integrated GPU (e.g. Intel) vs discrete (Nvidia, AMD).
I have added some added some better detection in tests to support these cases and made some modifications but it's not complete.
It has always been a difficult issue as drivers improve. Some features that used to not work suddenly work. Some work via hacks, which is something you definitely don't want to use in your code.
The tests aren't meant to test the node-opencl API which is rather simple. Instead they test opencl driver as a helper to figure out what it really supports and if really compliant to spec.
Today, most vendors are rather good with the exception of Apple, even on latest Macs.
As a guiding rule, stay compliant to opencl 1.2 on Apple. For others, stay compliant to 2.0 as above is still murky.
…--mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Sunday, March 18, 2018 9:50:57 AM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
fyi: all examples work 100%
I'd say at the very release, you have a release candidate.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLLTt8QgfTfrLEONpicuqDqQfMzJtks5tfpBxgaJpZM4MfgtN>.
|
What do you think timeline will be on the next release that allows for opencl 1.2 on Apple? |
It's already working on apple. I test it on high sierra. It's just some features they don't seem to support. In other words the issue is not node-opencl but Apple driver.
…--mike
________________________________
From: Robert Plummer <[email protected]>
Sent: Sunday, March 18, 2018 11:14:22 AM
To: mikeseven/node-opencl
Cc: Bourges-sevenier, Mikael; Mention
Subject: Re: [mikeseven/node-opencl] Issues installing on Linux with nvidia (#55)
What do you think timeline will be on the next release that allows for opencl 1.2 on Apple?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#55 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAxYLC7Z1hHnL9yuX3b-GbmCeS7TgzY4ks5tfqP-gaJpZM4MfgtN>.
|
When I installed node-opencl and run the examples, I got an immediate segmentation fault.
My configuration is as follows:
It so happens that the opencl headers that are made available with ubuntu (package opencl-headers) are 2.0
This means that, for example, commandqueue.cpp
#ifndef CL_VERSION_2_0
will add the wrong function on compilation.My hack was to edit the headers and undefine CL_VERSION_2_0
I do not have the experience to make a recommendation here, maybe this is just a problem with the way things are set up on ubuntu, but I think one of these might work
The text was updated successfully, but these errors were encountered: