LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

*G*pu acceleration of array sort

I just read the news today on slashdot.org about a freely available implementation of record (array) sorting using your *G*PU (i.e graphics’ card processor). It is nearly an order of magnitude faster than most desktop PC's.

See the benchmarks:
http://gamma.cs.unc.edu/GPUSORT/results.html

The project is at:
http://gamma.cs.unc.edu/GPUSORT/index.html

The C documentation is at:
http://gamma.cs.unc.edu/GPUSORT/documentation.html


Since it has a Win32 DLL interface, is it possible for someone with LabView C/C++ / DLL code interface node experience to write a VI wrapper for LabView 6.x / 7.x (for windows 2000/XP) ?

A sophisticated VI library / sort object would test for the presence of a compatible GPU and divert to the pre-supplied Labview array sort function if one was not present.

Any takers?

(lead story http://developers.slashdot.org/developers/04/05/09/039204.shtml?tid=152)
0 Kudos
Message 1 of 4
(4,408 Views)
It does sound interesting.

A few points, off the top of my head:

How much will calling the DLL slow you down?
How about memory allocation (you're talking big arrays, right?)?
Not all computers have powerful graphics cards.
How does LV's sort primitive compare to qsort()?
Are other technologies going to help (cell processors and such)?
How stable is this code? What happens when Nvidia upgrade their cards?

The only way to know for sure is probably to run a benchmark of LV sorting vs. LV calling the DLL.

___________________
Try to take over the world!
0 Kudos
Message 2 of 4
(4,381 Views)
>It does sound interesting.
>A few points, off the top of my head:
>How much will calling the DLL slow you down?
Depends on how optimal it is to move array data from LabView to/from Win32 DLL code I guess. there is a non negligable load time to the GPU local RAM in their graphs.

>How about memory allocation (you're talking big arrays, right?)?
Yes this looks useful for huge arrays only (many MB).

>Not all computers have powerful graphics cards.
Indeed, as I suggested any VI shoudl test for exsitance of suitable grpahics card and this library, I have not checked the source code but perhaps their library already has a funtion to tell you if there is a suitable GPU , you could to a pretest in the new GPUsort.VI (hint hint) DLL to be installed AND a suitbale GPU to be present and if it does not exist use labview's own sort routine for universal compatibility.

>How does LV's sort primitive compare to qsort()?
Unkown, but it woudl be nice to see some comparison of labview's routine to this GPU one....

>Are other technologies going to help (cell processors and such)?
In the future yes, but this code and suitable graphics cards for desktop PC's are avliable for us to purchase/play-with *now* 🙂

>How stable is this code? What happens when Nvidia upgrade their cards?
It works over 3 generations of Nvidia cards (5xxx 6xxx and 7xxx) and the library authors are lookign to add ATI suppoort. All that is required is the latest nvida drivers. New driver could break old libraries but hey, that is the problem in all programmign circles. The advantage of this library is the source code is freely avliable so the hope is that someone coudl always pick up the peices and fix a break.

>The only way to know for sure is probably to run a benchmark of LV sorting vs. LV calling the DLL.
Indeed, this field (GPU accelration of tasks) is a very exciting devleopment for cheap processing on workstations, my aim of this post was so that we could pool together to get this library easy accesable/working in our favorite language (LabView) so we can experiment and see what posibilities there are....
...most of us may have no practicle uses for accelrated sorting of very large data sets, but I'm sure many people do, and especially LabView users who tend to do doing data logging, and processign of large data sets (samples) etc. etc.
0 Kudos
Message 3 of 4
(4,372 Views)

There is a new GPU (CUDA) library for LabVIEW available from NI Labs now:

http://decibel.ni.com/content/docs/DOC-6064

 

0 Kudos
Message 4 of 4
(3,059 Views)