General Matrix-Matrix computation from LabVIEW.

Hello, there.

I’m a newbie of CUDA.
At this moment, there is no one can help me to resolve this problem.
I post this in this community.
I have been using LabVIEW since I have started computer languages.
If there are comments, please let me know. Thank you in advance.

As below, I’ve coded for General Matrix-Matrix computation.
External Media
The process is as followings

  • Initialize GPU device.
  • Allocate memory and Initialize memory for the number of matrices. In this case, general matrix-matrix computation, there are three matrices i.e. A, B, and C. Therefore, there are each three allocate memory VI and initialize VI infront of this code. Set elements for allocating and initializing memory and type of parameter.(Complex Single Precision)
  • Initialize cuBLAS.
  • download A, B, and C from CPU to GPU.
  • Wire whole matrices and some parameters.
  • upload calculated result into CPU.
  • Free memory, device.

How can I resolve this error?
I guess the error occurs at GEMM vi, because the wires for three parameters(above are 2,2,3) were connected not properly.

2 and 2 mean the result matrix row and column size, respectively.
3 means that inter-calculating matrix size.
In other words,
A is 2 by 3 matrix, B is 3 by 2 matrix. And C is 2 by 2 matrix.

Is it wired incorrectly?
There is someone could help resolve this problem, please let me know.

I think it shold be worked because it seems there is no error in this code.
However it returns an error message like,

Error -359630 occurred at call to cublasCgemm_v2 in cublas32_50_35.dll.

Possible reason(s):
NVIDIA provides the following information on this error condition:

code:
CUBLAS_STATUS_INVALID_VALUE = 7

library version supplying error info:
4.1

The following are details specific to LabVIEW execution.

library path:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin

call chain:
→ lvcublas.lvlib:CGEMM (aAB+bC).vi:1
→ [Example] generalMatrix.cuBLAS.vi

IMPORTANT NOTE:
Most NVIDIA functions execute asynchronously. This means the function that generated this error information may not be the function responsible for the error condition.

If the functions are from different NVIDIA libraries, the detailed information here is for a unrelated error potentially.


Thank you in advance!

Albert

Also you can read this problem in detail from below site
https://decibel.ni.com/content/thread/17842?tstart=0