public CUBLASStatusv2 cublasDsymm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb, ref double beta, IntPtr C, int ldc)
 {
     return cublasDsymm_v2(handle, side, uplo, m, n, ref alpha, A, lda, B, ldb, ref beta, C, ldc);
 }
 private static extern CUBLASStatusv2 cublasDsymm_v2(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb, ref double beta, IntPtr C, int ldc);
 private static extern CUBLASStatusv2 cublasDtrsm_v2(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb);
Beispiel #4
0
 /// <summary>
 /// Performs the triangular matrix-matrix multiplication.
 /// C = alpha * op(A) * B (side left),
 /// C = alpha * B * op(A) (side right)
 /// </summary>
 /// <param name="m">number of rows of matrix B, with matrix A sized accordingly.</param>
 /// <param name="n">number of columns of matrix B, with matrix A sized accordingly.</param>
 /// <param name="alpha">scalar used for multiplication.</param>
 /// <param name="A">array of dimension m * m.</param>
 /// <param name="B">array of dimension m * n.</param>
 /// <param name="C">array of dimension m * n.</param>
 /// <param name="side">indicates if matrix A is on the left or right of B.</param>
 /// <param name="trans">operation op(A) that is non- or (conj.) transpose.</param>
 /// <param name="uplo">indicates if matrix A lower or upper part is stored, the other part is not refernced and is inferred from the stored elements.</param>
 /// <param name="diag">indicates if the elements on the main diagonal of matrix A are unity and should not be accessed.</param>
 /// <param name="lda">leading dimension of two-dimensional array used to store matrix A.</param>
 /// <param name="ldb">leading dimension of two-dimensional array used to store matrix B.</param>
 /// <param name="ldc">leading dimension of two-dimensional array used to store matrix C.</param>
 public abstract void TRMM(int m, int n, float alpha, float[] A, float[] B, float[] C, cublasSideMode side = cublasSideMode.Left, cublasOperation trans = cublasOperation.N, cublasFillMode uplo = cublasFillMode.Lower, cublasDiagType diag = cublasDiagType.NonUnit, int lda = 0, int ldb = 0, int ldc = 0);
Beispiel #5
0
 /// <summary>
 /// Solves the triangular linear system with multiple right-hand-sides.
 /// B = alpha * (op(A))^-1 * B (left side),
 /// B = alpha * B * (op(A))^-1 (right side)
 /// </summary>
 /// <param name="m">number of rows of matrix B, with matrix A sized accordingly.</param>
 /// <param name="n">number of columns of matrix B, with matrix A sized accordingly.</param>
 /// <param name="alpha">scalar used for multiplication.</param>
 /// <param name="A">array of dimension m * m (n * n right side).</param>
 /// <param name="B">array of dimension m * n.</param>
 /// <param name="side">indicates if matrix A is on the left or right of B.</param>
 /// <param name="trans">operation op(A) that is non- or (conj.) transpose.</param>
 /// <param name="uplo">indicates if matrix A lower or upper part is stored, the other part is not refernced and is inferred from the stored elements.</param>
 /// <param name="diag">indicates if the elements on the main diagonal of matrix A are unity and should not be accessed.</param>
 /// <param name="lda">leading dimension of two-dimensional array used to store matrix A.</param>
 /// <param name="ldb">leading dimension of two-dimensional array used to store matrix B.</param>
 public abstract void TRSM(int m, int n, double alpha, double[] A, double[] B, cublasSideMode side = cublasSideMode.Left, cublasOperation trans = cublasOperation.N, cublasFillMode uplo = cublasFillMode.Lower, cublasDiagType diag = cublasDiagType.NonUnit, int lda = 0, int ldb = 0);
 public CUBLASStatusv2 cublasDsymm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb, ref double beta, IntPtr C, int ldc)
 {
     throw new NotImplementedException();
 }
 private static extern CUBLASStatusv2 cublasDtrsm_v2(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb);
Beispiel #8
0
 public override void SYMM(int m, int n, double alpha, double[] A, double[] B, double beta, double[] C, cublasSideMode side = cublasSideMode.Left, cublasFillMode uplo = cublasFillMode.Lower, int lda = 0, int ldb = 0, int ldc = 0)
 {
     throw new NotImplementedException();
 }
Beispiel #9
0
 public override void TRSM(int m, int n, double alpha, double[] A, double[] B, cublasSideMode side = cublasSideMode.Left, cublasOperation trans = cublasOperation.N, cublasFillMode uplo = cublasFillMode.Lower, cublasDiagType diag = cublasDiagType.NonUnit, int lda = 0, int ldb = 0)
 {
     throw new NotImplementedException();
 }
Beispiel #10
0
 public CUBLASStatusv2 cublasDsymm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb, ref double beta, IntPtr C, int ldc)
 {
     throw new NotImplementedException();
 }
Beispiel #11
0
 public CUBLASStatusv2 cublasDtrsm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb)
 {
     throw new NotImplementedException();
 }
 public CUBLASStatusv2 cublasDtrsm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb)
 {
     return(cublasDtrsm_v2(handle, side, uplo, trans, diag, m, n, ref alpha, A, lda, B, ldb));
 }
 public CUBLASStatusv2 cublasStrmm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref float alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr C, int ldc)
 {
     return(cublasStrmm_v2(handle, side, uplo, trans, diag, m, n, ref alpha, A, lda, B, ldb, C, ldc));
 }
 public CUBLASStatusv2 cublasDsymm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb, ref double beta, IntPtr C, int ldc)
 {
     return(cublasDsymm_v2(handle, side, uplo, m, n, ref alpha, A, lda, B, ldb, ref beta, C, ldc));
 }
 public CUBLASStatusv2 cublasStrmm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref float alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr C, int ldc)
 {
     return cublasStrmm_v2(handle, side, uplo, trans, diag, m, n, ref alpha, A, lda, B, ldb, C, ldc);
 }
Beispiel #16
0
 /// <summary>
 /// Performs symmetric matrix-matrix multiplication.
 /// C = alpha * A * B + beta * C (side left),
 /// C = alpha * B * A + beta * C (side right)
 /// </summary>
 /// <param name="m">number of rows of matrix C and B, with matrix A sized accordingly.</param>
 /// <param name="n">number of columns of matrix C and B, with matrix A sized accordingly.</param>
 /// <param name="alpha">scalar used for multiplication.</param>
 /// <param name="A">array of dimension m * m with side left, and n * n otherwise.</param>
 /// <param name="B">array of dimension m * n.</param>
 /// <param name="beta">scalar used for multiplication.</param>
 /// <param name="C">array of dimension m * n.</param>
 /// <param name="side">indicates if matrix A is on the left or right of B.</param>
 /// <param name="uplo">indicates if matrix A lower of upper part is stored, the other symmetric part is not referenced and is inferred from the stored elements.</param>
 /// <param name="lda">leading dimension of two-dimensional array used to store matrix A.</param>
 /// <param name="ldb">leading dimension of two-dimensional array used to store matrix B.</param>
 /// <param name="ldc">leading dimension of two-dimensional array used to store matrix C.</param>
 public abstract void SYMM(int m, int n, float alpha, float[] A, float[] B, float beta, float[] C, cublasSideMode side = cublasSideMode.Left, cublasFillMode uplo = cublasFillMode.Lower, int lda = 0, int ldb = 0, int ldc = 0);
 public CUBLASStatusv2 cublasDtrsm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb)
 {
     return cublasDtrsm_v2(handle, side, uplo, trans, diag, m, n, ref alpha, A, lda, B, ldb);
 }
Beispiel #18
0
 /// <summary>
 /// Performs symmetric matrix-matrix multiplication.
 /// C = alpha * A * B + beta * C (side left),
 /// C = alpha * B * A + beta * C (side right)
 /// </summary>
 /// <param name="m">number of rows of matrix C and B, with matrix A sized accordingly.</param>
 /// <param name="n">number of columns of matrix C and B, with matrix A sized accordingly.</param>
 /// <param name="alpha">scalar used for multiplication.</param>
 /// <param name="A">array of dimension m * m with side left, and n * n otherwise.</param>
 /// <param name="B">array of dimension m * n.</param>
 /// <param name="beta">scalar used for multiplication.</param>
 /// <param name="C">array of dimension m * n.</param>
 /// <param name="side">indicates if matrix A is on the left or right of B.</param>
 /// <param name="uplo">indicates if matrix A lower of upper part is stored, the other symmetric part is not referenced and is inferred from the stored elements.</param>
 /// <param name="lda">leading dimension of two-dimensional array used to store matrix A.</param>
 /// <param name="ldb">leading dimension of two-dimensional array used to store matrix B.</param>
 /// <param name="ldc">leading dimension of two-dimensional array used to store matrix C.</param>
 public abstract void SYMM(int m, int n, double alpha, double[] A, double[] B, double beta, double[] C, cublasSideMode side = cublasSideMode.Left, cublasFillMode uplo = cublasFillMode.Lower, int lda = 0, int ldb = 0, int ldc = 0);
 public CUBLASStatusv2 cublasDtrsm(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, cublasOperation trans, cublasDiagType diag, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb)
 {
     throw new NotImplementedException();
 }
 private static extern CUBLASStatusv2 cublasDsymm_v2(cublasHandle handle, cublasSideMode side, cublasFillMode uplo, int m, int n, ref double alpha, IntPtr A, int lda, IntPtr B, int ldb, ref double beta, IntPtr C, int ldc);