Wednesday, December 17, 2008

GPULib 1.0.6 update available

We've just released GPULib 1.0.6 at

http://gpulib.txcorp.com

This fixes a bug for Windows users relating to using FFT calls.

Tuesday, December 16, 2008

MATLAB bindings undergoing major redesign

We're currently doing a major redesign of the MATLAB bindings for GPULib -- if all goes well, they should be done sometime in the next few weeks. If you have any questions about using MATLAB with GPULib, please let us know.

GPULib 1.0.4 update available

GPULib 1.0.4 is now available at

http://www.txcorp.com/products/GPULib/

This release contains various bug fixes for IDL, as well as 64 bit DLLs for IDL and MATLAB for Windows users.

Thanks for the comments and bug reports -- keep telling us what you'd like in GPULib, and we'll keep developing the software to meet your needs. And, as always, feel free to leave comments in the blog or email us at support@txcorp.com with questions, comments, or suggestions. Finally, if you're at the AGU meeting in San Francisco this week, stop by the Tech-X booth (#2114) and say hello!

Wednesday, December 10, 2008

GPULib tidbits

We continue to get questions and suggestions from users -- thanks for your input! Some of the same questions have come up, so I thought I'd try to address them here.

To get some extra information on the GPU hardware (including memory available), you can do the following:

IDL> cardID = 0L ; the card ID you want to know more about
IDL> err = cudaGetDeviceProperties(prop, cardID)
IDL> print, prop.name
IDL> help, prop, /struct

The wrapper is a bit rough (it's a low level CUDA function), but it gives you a lot of useful information. Remember that your application will be limited by the amount of memory available on the GPU card -- if you go past this limit, you'll get unpredictable behavior.

We've also had some questions about the difference between CPU and GPU calculations. Right now we're shipping the library with the 'enable-fast-math' option turned on in CUDA. This uses the fastest, but least IEEE compliant form for floating point operations. It could easily be turned off and still yield good performance (as we're mainly memory bandwidth limited), and we may switch to this build method in the future. Hard numbers for the precision of GPU calculations can be found in the the CUDA user manual. In one of the appendices it has some documentation on the error bounds of the individual functions. It's usually within the last two bits of the mantissa.

Finally, som users are looking at investing in new hardware on which to run GPULib, and were looking for recommendations and comparison for different CUDA-enabled hardware. A starting point for evaluating such cards is at

http://www.nvidia.com/object/cuda_learn_products.html

Cost runs from left to right, performance runs roughly from top to bottom. If double support is important for your application, you have to go with either a GTX 260/280, a C1060, or the FX5800 right now.

If you have any questions about this (or anything else related to GPULib), feel free to post comments below, or email the user's list or Tech-X support. We're still working on the next release (1.0.4), and we'll let you know as soon as it's available.