LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

OpenCL for Labview is now Open Source

Howdy,

 

I wrote OpenCLV (OpenCL for Labview) about a year ago and have decided to make it an Opensource project availible on GitHub.  It contains all my C code to compile DLLs, all the Labview code, some pre-compiled x64 DLL code and a pre-built .vip project if you just want to download and install it.

 

https://github.com/amcelroy/OpenCLV.git

 

My email is in the GPL license header in the C code if you find any bugs or have any comments.  

 

Austin

Message 1 of 20
(4,707 Views)

Hello Austin,

 

That's a really nice initiative. You can also upload your project on the NI Developer Community:

https://decibel.ni.com/content/community/zone

Camilo V.
National Instruments
0 Kudos
Message 2 of 20
(4,648 Views)

Hey thanks,

 

I'll look into that as another avenue. 

 

Austin

0 Kudos
Message 3 of 20
(4,610 Views)

While I don't have use for something like this myself, the willingness to share open source code is appreciated.

 

One problem I would have with this, though, is the license. I'm far from an expert on licensing, but my understanding is that the GPL license is infectious - if you use a component which uses it directly in your code, you have to make your own code GPL as well to adhere with the license and the only way around that is to separate the GPL component into a separate, dynamically linked, component which would allow the end user to replace it if they want. See their FAQ here - http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem

 

My understanding is that this is the reason that OpenG switched from GPL to BSD some years ago - BSD is more permissive and basically just requires you to place the copyright notice somewhere where the user can see it.


___________________
Try to take over the world!
0 Kudos
Message 4 of 20
(4,569 Views)

@tst wrote:

While I don't have use for something like this myself, the willingness to share open source code is appreciated.

 

One problem I would have with this, though, is the license. I'm far from an expert on licensing, but my understanding is that the GPL license is infectious - if you use a component which uses it directly in your code, you have to make your own code GPL as well to adhere with the license and the only way around that is to separate the GPL component into a separate, dynamically linked, component which would allow the end user to replace it if they want. See their FAQ here - http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem

 

My understanding is that this is the reason that OpenG switched from GPL to BSD some years ago - BSD is more permissive and basically just requires you to place the copyright notice somewhere where the user can see it.


The strict interpretation of GPL prohibits integrating a GPL component into a non GPL software even dynamically. That is why there is a LGPL. And that was indeed why OpenG changed from LGPL (not GPL!) to BSD several years ago. Many of the most influencing OpenG supporters felt that it was rather cumbersome to use it in non (L)GPL software. The most prominent product of this nowadays is VIPM.

 

The only exception to that change are the shared library components of the libraries that I wrote. I didn't feel that there was any bad influence from integrating them as LGPL into any sort of LabVIEW application, as they are fully dynamic anyways and by the nature of LGPL have no viral effect on the application that uses them.

Rolf Kalbermatter
Averna BV
0 Kudos
Message 5 of 20
(4,558 Views)

Hey guys,

 

Thanks for the feedback, I'll update the license to BSD and commit the changes this evening.

 

Austin

Message 6 of 20
(4,497 Views)

Hey folks,

 

Just updated from GPL to BSD 3-clause open source license.  Is this a good license for the community?

 

Austin

Message 7 of 20
(4,463 Views)

Awesome and cool! I didn't get as much extra performance as i thought from the examples (probably a cpu vs gpu issue), but being able to use the GPU as slave processor is awesome!

/Y

G# - Award winning reference based OOP for LV, for free! ADDQ VIPM Now on GitHub
"Only dead fish swim downstream" - "My life for Kudos!" - "Dumb people repeat old mistakes - smart ones create new ones."
Certified-LabVIEW-Developer
0 Kudos
Message 8 of 20
(4,429 Views)

Hey Yamaeda,

 

I have an AMD 7960 and compare it to an i5 @ 3.10 GHz, and see multi times improvement in the FFT and OCT processing examples.  There is an overhead to transfer the data to the card and back, so unless you are doing millions of floating point calcs it might not be worth it.

 

Austin

0 Kudos
Message 9 of 20
(4,394 Views)

I'm comparing a AMD 8350 @ 4,5GHz CPU to an AMD 6970 GPU. 

I was abit surprised too, but here's my result:

OpenCL.png

G# - Award winning reference based OOP for LV, for free! ADDQ VIPM Now on GitHub
"Only dead fish swim downstream" - "My life for Kudos!" - "Dumb people repeat old mistakes - smart ones create new ones."
Certified-LabVIEW-Developer
0 Kudos
Message 10 of 20
(4,370 Views)