GPU Computing

cancel
Showing results for 
Search instead for 
Did you mean: 

The GPU Analysis Toolkit

Hi,

I have successfuly worked with GPU Analysis Toolkit Beta on Windows XP 32-bit, LabVIEW Professional Development System, Version 11.0, 32-bit, CUDA Toolkit 4.1.

Now, I have to move to computer with Wndows 7 64-bit andLabVIEW Professional Development System, Version 11.0, 32-bit.

Should I expect some difficulties? should I install 32 or 64- bit Analysis Toolkit, device driever and CUDA Toolkit?

thanks.

0 Kudos
Message 1 of 11
(13,661 Views)

The toolkit is designed to work on either of the configurations you mention. I've been testing systems w/ these exact configurations for months now. The VIs you created may recompile but they should work as expected - even if they are used under a 64-bit version of LabVIEW.

Regarding the NVIDIA display driver, you have to install the 64-bit version. You do have a choice of CUDA Toolkit. In short, I recommend installing the 64-bit CUDA Toolkit on a 64-bit OS even if you only intend to work with 32-bit LabVIEW. Here's why:

The 64-bit version of the CUDA Toolkit installs binaries for both platforms (32- and 64-bit) so that GPU toolkit will work from either version of LabVIEW. The 32-bit version of the CUDA Toolkit does not. This means that you won't even be able to try out GPU computing from 64-bit LabVIEW until you install the 64-bit version.

If you end up doing that, you probably have to reboot so that all cached instances of CUDA's environment variable CUDA_PATH point to the last CUDA Toolkit installed.

If you do need the 32-bit CUDA Toolkit installed (e.g. for running their 32-bit examples from the CUDA SDK), install it first followed by the 64-bit version. This points the CUDA_PATH to the last version installed (64-bit in this case) and still makes the 32-bit CUDA version available for other applications.

Post again if you run into trouble.

Message 2 of 11
(8,754 Views)

Thanks for quick answer. I have installed CUDA software according to your advices and everything works

0 Kudos
Message 3 of 11
(8,754 Views)

Hi:

I am trying to install the Beta version for the GPU anlysis toolkit but still now the Company doesnot accept my request. so may you help me for getting this toolkit?

Thanks

0 Kudos
Message 4 of 11
(8,754 Views)

Hello,

Due to a large number of requests for beta program acceptance, we are still processing some applications. I will ensure that we take a look at your application as soon as possible; thank you for your interest.

Best Regards,

Casey Weltzin

LabVIEW Product Manager

National Instruments

0 Kudos
Message 5 of 11
(8,754 Views)

when i build a simple query example with gpu toolkit, it's done but with some error

after i successfully build this, this "app.exe" can not run stand alone out the project

how could be it wrong? it's return "error code 7" and following:

??? in lvcuda.lvlib:CUDA Context.lvclass:Set CUDA Context Properties.vi:4->lvcuda.lvlib:Initialize Device.vi:1->Untitled 1.vi<APPEND>

<b>GPU Analysis Information:</b>

Initialization failed.

<b>Cause:</b>

A required third-party tool is not installed (e.g. CUDA Toolkit v4.0 or later) or has been unistalled. When the tool is not available, the search to find the required library file(s) fails.

<b>Solution:</b>

(Re)install the tool. If the failure information includes an environemnt variable, check to see if that variable is exists after the tool is (re)installed.

<b>Cause:</b>

The device or library initialization function was not called.

<b>Solution:</b>

Call the required initialization function for the GPU component being used (e.g. lvcuda.lvlib:Initialize Device)

<b>Cause:</b>

The initialization function failed because the environment variable does not exist (e.g. CUDA_PATH).

<b>Solution:</b>

Install the required third-party libraries (e.g. CUDA Toolkit v4.0 or later). In some cases, the environment variable is missing because it is was not created by an older versions of the third-party tool.

<b>Cause:</b>

The initialization function failed because the environment variable contains invalid information.

<b>Solution:</b>

Update the environment variable to reference a supported version of the third-party tool. This can be done reinstalling a supported version which updates the environment variable.

If LabVIEW is open during the reinstallation process, it must be restarted to load the new information. In rare cases, the system must be restarted.

NOTE: The environment variable can be editted manually if you feel comfortable doing so.

<b>Cause:</b>

The initialization function failed because the path information did not contain the expected libraries.

<b>Solution:</b>

If the path information is passed directly to the initialization function, make sure it contains the expected third-party libraries (e.g. CUDA Toolkit, CUBLAS or CUFFT libraries).

0 Kudos
Message 6 of 11
(8,754 Views)

So I can help more, I could use some additional information:

1. I can't tell if your example files when it is not build as an executable. Does it produce an error when run as a VI (not as an application)?

2. Did you verify that each of the possible problems listed in the error cluster are OK (e.g. does the  CUDA_PATH environment point to the version of CUDA you expect to use)?

3. Are you running under Windows 64-bit? If so, are you trying (expecting) to use 32-bit CUDA from 32-bit LabVIEW?

Message 7 of 11
(8,754 Views)

Dear MathGuy,

Thank you for replying.

1. This simple example can well run as a VI.

I tested several example including the completetion between cpu and gpu on BLAS for matrix multiply alogrism. They are quite well acclerated from cpu to gpu, e.g. up to 13 times speed up when running 8192x8192 matrix multiply for ten time repititions.

2. After I tune some options this example can be build, but it still can not run well because the initial subrutine can not work well.

3. Yes, I need much memory to run big matrix algorism, so the Windows7 64-bit and the crossponding librarys are also needed.

0 Kudos
Message 8 of 11
(8,754 Views)

You mention that you 'tune' some options. Are you referring to options related to building the VI as an application?

Are you using LabVIEW 64-bit or 32-bit to build/run your example?

0 Kudos
Message 9 of 11
(8,754 Views)

Daer MathGuy,

Yes, I turned some options in the process of building app.

Such as: to enable "pass all commend line arguments to application",

to unable "Remove unused polymorphic VI instances",

"Remove unused members of libraries", and "Disconnect unused inline subVIs".

I use Labview 64-bit to  build/run this example.

However this simple query example can run "standing alone" out the project with incorrect output results.

0 Kudos
Message 10 of 11
(8,754 Views)