Library/ManagedCuda/CudaBlas/CudaBlasHandler.cs
/// <summary>
/// This function performs the QR factorization of each Aarray[i] for i =
/// 0, ...,batchSize-1 using Householder reflections. Each matrix Q[i] is represented
/// as a product of elementary reflectors and is stored in the lower part of each Aarray[i].
/// This function is intended to be used for matrices of small sizes where the launch
/// overhead is a significant factor.<para/>
/// cublas<![CDATA[<t>]]>geqrfBatched supports arbitrary dimension.<para/>
/// cublas<![CDATA[<t>]]>geqrfBatched only supports compute capability 2.0 or above.
/// </summary>
/// <param name="m">number of rows Aarray[i].</param>
/// <param name="n">number of columns of Aarray[i].</param>
/// <param name="Aarray">array of pointers to device array, with each array of dim. m x n with lda&gt;=max(1,m). The array size determines the number of batches.</param>
/// <param name="lda">leading dimension of two-dimensional array used to store each matrix Aarray[i].</param>
/// <param name="TauArray">array of pointers to device vector, with each vector of dim. max(1,min(m,n)).</param>
/// <returns>0, if the parameters passed to the function are valid, &lt;0, if the parameter in postion -value is invalid</returns>
This function performs the QR factorization of each Aarray[i] for i
0, ...,batchSize-1 using Householder reflections. Each matrix Q[i] is represented
as a product of elementary reflectors and is stored in the lower part of each Aarray[i].
This function is intended to be used for matrices of small sizes where the launch
overhead is a significant factor.
cublasgeqrfBatched supports arbitrary dimension.
cublasgeqrfBatched only supports compute capability 2.0 or above.
This function performs the QR factorization of each Aarray [ i ] for i 0 ... batchSize - 1 using Householder reflections . Each matrix Q [ i ] is represented as a product of elementary reflectors and is stored in the lower part of each Aarray [ i ] . This function is intended to be used for matrices of small sizes where the launch overhead is a significant factor . cublasgeqrfBatched supports arbitrary dimension . cublasgeqrfBatched only supports compute capability 2 . 0 or above .
public int GeqrfBatchedS(int m, int n, CudaDeviceVariable<CUdeviceptr> Aarray, int lda, CudaDeviceVariable<CUdeviceptr> TauArray)
		{
			int info = 0;
			_status = CudaBlasNativeMethods.cublasSgeqrfBatched(_blasHandle, m, n, Aarray.DevicePointer, lda, TauArray.DevicePointer, ref info, Aarray.Size);
			Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cublasSgeqrfBatched", _status));
			if (_status != CublasStatus.Success) throw new CudaBlasException(_status);
			return info;
		}
public int GeqrfBatchedS ( int m , int n , CudaDeviceVariable < CUdeviceptr > Aarray , int lda , CudaDeviceVariable < CUdeviceptr > TauArray ) { int info = 0 ; _status = CudaBlasNativeMethods . cublasSgeqrfBatched ( _blasHandle , m , n , Aarray . DevicePointer , lda , TauArray . DevicePointer , ref info , Aarray . Size ) ; Debug . WriteLine ( String . Format ( " " , DateTime . Now , " " , _status ) ) ; if ( _status != CublasStatus . Success ) throw new CudaBlasException ( _status ) ; return info ; }
This function performs the QR factorization of each Aarray[i] for i
0, ...,batchSize-1 using Householder reflections.
This function performs the QR factorization of each Aarray [ i ] for i 0 ... batchSize - 1 using Householder reflections .
0, if the parameters passed to the function are valid, <0, if the parameter in postion -value is invalid
0 if the parameters passed to the function are valid <0 if the parameter in postion - value is invalid
m
int
number of rows Aarray[i].
number of rows Aarray [ i ] .
n
int
number of columns of Aarray[i].
number of columns of Aarray [ i ] .
Aarray
CudaDeviceVariable<CUdeviceptr>
array of pointers to device array, with each array of dim. m x n with lda>=max(1,m). The array size determines the number of batches.
array of pointers to device array with each array of dim . m x n with lda > = max ( 1 m ) . The array size determines the number of batches .
lda
int
leading dimension of two-dimensional array used to store each matrix Aarray[i].
leading dimension of two - dimensional array used to store each matrix Aarray [ i ] .
TauArray
CudaDeviceVariable<CUdeviceptr>
array of pointers to device vector, with each vector of dim.
array of pointers to device vector with each vector of dim .