mikeseven / node-opencl

Low-level OpenCL 1.x and 2.x bindgings for node.js
156 stars 33 forks source link

Issues installing on Linux with nvidia #55

Open tiagoantao opened 7 years ago

tiagoantao commented 7 years ago

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

robertleeplummerjr commented 6 years ago

Did you get any further here?

mikeseven commented 6 years ago

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 notifications@github.com 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-345276246, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLIOdBOhr7KplfyAZcKb8d6otfhiGks5s3adrgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

It looks like this library will be used by http://gpu.rocks, fyi. You think there will be sufficient support?

mikeseven commented 6 years ago

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 notifications@github.com 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-345314450, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLEngwLJn36i_LINkAgGAspz8x9GLks5s3ccFgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

exactly. the architectural layer would give us a means of finally having a full on GPU + js api. Design in simple js, execute... everywhere.

robertleeplummerjr commented 6 years ago

This is my exact issue on Ubuntu:

>  require('node-opencl/examples/saxpy');
SAXPY with vector size: 524288 elements
using device: GeForce GTX 1080 Ti
node: relocation error: /home/usergpu/node_modules/node-opencl/build/Release/opencl.node: symbol clCreateCommandQueueWithProperties, version OPENCL_2.0 not defined in file libOpenCL.so.1 with link time reference
robertleeplummerjr commented 6 years ago

I can provide ssh if you like.

mikeseven commented 6 years ago

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 notifications@github.com 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-345322597, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLLtZ03N9UZ-utQIFYGqcCSowiD2Gks5s3c6vgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

Do you know what turnaround time will be? No rush.

robertleeplummerjr commented 6 years ago

Also: this is so exciting!

mikeseven commented 6 years ago

Hopefully over Thanksgiving ;-)

--mike


From: Robert Plummer notifications@github.com 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-345354218, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLMgnec5M8Vly4Bi7-CucrBjrHs74ks5s3ekngaJpZM4MfgtN.

TheLarkInn commented 6 years ago

Bumping for status. I'm very very very interested in this endeavor especially for NodeJS core, and our library webpack for parallel processing.

robertleeplummerjr commented 6 years ago

@mikeseven did you get around to it yet?

mikeseven commented 6 years ago

I haven't tested extensively but it has been in feature branch for a while.

robertleeplummerjr commented 6 years ago

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?

mikeseven commented 6 years ago

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 notifications@github.com 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-366338235, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLEnAE-qdnhf935d1FbKN8HW-AVOnks5tVdnYgaJpZM4MfgtN.

TheLarkInn commented 6 years ago

Also this is super relevant I think. (I've tried to drive this with some success) https://github.com/nodejs/node/issues/18423#issuecomment-366217491

On Fri, Feb 16, 2018 at 12:43 PM m1k3 notifications@github.com 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 notifications@github.com 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< https://github.com/mikeseven/node-opencl/issues/55#issuecomment-366338235>, 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 https://github.com/mikeseven/node-opencl/issues/55#issuecomment-366352874, or mute the thread https://github.com/notifications/unsubscribe-auth/ADQBMAt11tP96XMAxtYlopGTQfwsP2E9ks5tVehggaJpZM4MfgtN .

mikeseven commented 6 years ago

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 notifications@github.com 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) https://github.com/nodejs/node/issues/18423#issuecomment-366217491

On Fri, Feb 16, 2018 at 12:43 PM m1k3 notifications@github.com 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 notifications@github.com 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< https://github.com/mikeseven/node-opencl/issues/55#issuecomment-366338235>, 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 https://github.com/mikeseven/node-opencl/issues/55#issuecomment-366352874, 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-366366786, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLN2-7V2x4eATl13tx46cJd1sl9E1ks5tVfafgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

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.

😎

mikeseven commented 6 years ago

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 notifications@github.com 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-366485660, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLCgF2Frc-L4MfGlpbmei37WwqBvOks5tV3-lgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

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: https://github.com/gpujs/gpu.js/issues/52

It'd be easy to add any number of targets that don't support graphics backends.

mikeseven commented 6 years ago

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 notifications@github.com 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#52https://github.com/gpujs/gpu.js/issues/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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-366775711, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLDryDCYuyy1NNn8qMEd3y6LXShNUks5tWcGOgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

To use opencl as backend, it would need to be outside the browser

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 Float32Array, just fine. Because we built it to work in a specific kernel environment, type detection is actually super easy.

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).

mikeseven commented 6 years ago

Awesome.

--mike


From: Robert Plummer notifications@github.com 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 webglhttps://github.com/gpujs/gpu.js/tree/develop/src/backend/web-gl, but now compiles a kernel just fine on nodehttps://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 easyhttps://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 javascripthttps://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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-366794888, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLIx_zhSFvEuAgA2xfAEK5BzccFC6ks5tWdiSgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

Tried to install, this is what I get:

M86510-4:gpu.js robert.plummer$ npm i git://github.com/mikeseven/node-opencl.git#7d2de1fbddbd914e1baa41e3ed80287c717c583c
npm WARN deprecated pngjs2@2.0.0: pngjs2 has now taken over the original pngjs package on npm. Please change to use pngjs dependency, version 2+.

> node-opencl@0.5.0 install /Users/robert.plummer/20% Time/gpu.js/node_modules/node-opencl
> node-gyp rebuild --msvs_version=auto

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
  CXX(target) Release/obj.target/opencl/src/addon.o
  CXX(target) Release/obj.target/opencl/src/types.o
  CXX(target) Release/obj.target/opencl/src/common.o
  CXX(target) Release/obj.target/opencl/src/commandqueue.o
  CXX(target) Release/obj.target/opencl/src/context.o
  CXX(target) Release/obj.target/opencl/src/device.o
  CXX(target) Release/obj.target/opencl/src/event.o
  CXX(target) Release/obj.target/opencl/src/kernel.o
  CXX(target) Release/obj.target/opencl/src/memobj.o
  CXX(target) Release/obj.target/opencl/src/pipe.o
  CXX(target) Release/obj.target/opencl/src/platform.o
  CXX(target) Release/obj.target/opencl/src/program.o
  CXX(target) Release/obj.target/opencl/src/sampler.o
  CXX(target) Release/obj.target/opencl/src/svm.o
  SOLINK_MODULE(target) Release/opencl.node
gpu.js@1.0.0-rc.8 /Users/robert.plummer/20% Time/gpu.js
+-- bluebird@3.5.0  extraneous
+-- node-opencl@0.5.0  invalid (git://github.com/mikeseven/node-opencl.git#7d2de1fbddbd914e1baa41e3ed80287c717c583c)
| +-- chai@4.1.2
| | +-- assertion-error@1.1.0 
| | `-- type-detect@4.0.8 
| +-- get-pixels@3.3.0
| | `-- omggif@1.0.9 
| `-- nan@2.8.0 
`-- node-pre-gyp@0.6.36 

M86510-4:gpu.js robert.plummer$ 
robertleeplummerjr commented 6 years ago

I ran it once more, using save, and this time no warnings:

M86510-4:gpu.js robert.plummer$ npm i --save git://github.com/mikeseven/node-opencl.git#7d2de1fbddbd914e1baa41e3ed80287c717c583c
npm WARN deprecated pngjs2@2.0.0: pngjs2 has now taken over the original pngjs package on npm. Please change to use pngjs dependency, version 2+.

> node-opencl@0.5.0 install /Users/robert.plummer/20% Time/gpu.js/node_modules/node-opencl
> node-gyp rebuild --msvs_version=auto

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
  CXX(target) Release/obj.target/opencl/src/addon.o
  CXX(target) Release/obj.target/opencl/src/types.o
  CXX(target) Release/obj.target/opencl/src/common.o
  CXX(target) Release/obj.target/opencl/src/commandqueue.o
  CXX(target) Release/obj.target/opencl/src/context.o
  CXX(target) Release/obj.target/opencl/src/device.o
  CXX(target) Release/obj.target/opencl/src/event.o
  CXX(target) Release/obj.target/opencl/src/kernel.o
  CXX(target) Release/obj.target/opencl/src/memobj.o
  CXX(target) Release/obj.target/opencl/src/pipe.o
  CXX(target) Release/obj.target/opencl/src/platform.o
  CXX(target) Release/obj.target/opencl/src/program.o
  CXX(target) Release/obj.target/opencl/src/sampler.o
  CXX(target) Release/obj.target/opencl/src/svm.o
  SOLINK_MODULE(target) Release/opencl.node
gpu.js@1.0.0-rc.8 /Users/robert.plummer/20% Time/gpu.js
+-- bluebird@3.5.0  extraneous
+-- node-opencl@0.5.0  (git://github.com/mikeseven/node-opencl.git#7d2de1fbddbd914e1baa41e3ed80287c717c583c)
`-- node-pre-gyp@0.6.36 
robertleeplummerjr commented 6 years ago

I believe that means, we are release ready?

mikeseven commented 6 years ago

Build should be fine. How about run? Which OSare you using?

--mike


From: Robert Plummer notifications@github.com 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-366840442, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLKsz25n--vbM-j3vXvUDFT5T_t_Bks5tWh1dgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

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.

mikeseven commented 6 years ago

This a cl 2.0 function. Could it be that your machine is opencl 1.x?

--mike


From: Robert Plummer notifications@github.com 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-367021769, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLBEU5yHsbb3c5PNm_yyaL-Mte7-4ks5tWuoJgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

It is, sadly: https://support.apple.com/en-us/HT202823

Is there v1 example you could point me to?

mikeseven commented 6 years ago

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 notifications@github.com 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-367139656, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLKjPwF5LwHLGKzZmxbL_w-MXBnVlks5tW0QdgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

fantastic!

robertleeplummerjr commented 6 years ago

any updates? Things are moving fast, and want to be able to use soon.

mikeseven commented 6 years ago

This weekend for sure...after skiing ;-)

--mike


From: Robert Plummer notifications@github.com 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-368273490, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLMvcQrjbuZfvyXx5U9vTXZdjSDeTks5tYLCGgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

nice

mikeseven commented 6 years ago

done. Tested on Mac.

On Feb 24, 2018, at 7:04 PM, Robert Plummer notifications@github.com<mailto:notifications@github.com> wrote:

nice

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-368279092, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLFYkHifDaAA4IyGW5PDK4FQt1XPOks5tYM3YgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

It builds, but when I run unit tests (which are fantastically written) I get 72 failures, and then then error Command failed with exit code 72.. But a lot of them pass. Is that normal? If it is normal, can we get labels perhaps on the tests that identify them as to fail under what conditions?

robertleeplummerjr commented 6 years ago

fyi: all examples work 100% I'd say at the very least, you have a release candidate.

mikeseven commented 6 years ago

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 notifications@github.com 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-374015276, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLLTt8QgfTfrLEONpicuqDqQfMzJtks5tfpBxgaJpZM4MfgtN.

robertleeplummerjr commented 6 years ago

What do you think timeline will be on the next release that allows for opencl 1.2 on Apple?

mikeseven commented 6 years ago

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 notifications@github.com 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 GitHubhttps://github.com/mikeseven/node-opencl/issues/55#issuecomment-374026314, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAxYLC7Z1hHnL9yuX3b-GbmCeS7TgzY4ks5tfqP-gaJpZM4MfgtN.