Library/ManagedCuda/CudaSolve/Refactorization.cs
/// <summary>
/// This routine performs the forward and backward solve with the lower and upper
/// triangular factors resulting from the LU re-factorization
/// </summary>
/// <param name="P">the left permutation (often associated with pivoting). The array size in n.</param>
/// <param name="Q">the right permutation (often associated with reordering). The array size in n.</param>
/// <param name="nrhs">the number right-hand-sides to be solved.</param>
/// <param name="Temp">the dense matrix that contains temporary workspace (of size ldt*nrhs).</param>
/// <param name="ldt">the leading dimension of dense matrix Temp (ldt &gt;= n).</param>
/// <param name="XF">the dense matrix that contains the righthand-sides F and solutions X (of size ldxf*nrhs).</param>
/// <param name="ldxf">the leading dimension of dense matrix XF (ldxf &gt;= n).</param>
This routine performs the forward and backward solve with the lower and upper
triangular factors resulting from the LU re-factorization
This routine performs the forward and backward solve with the lower and upper triangular factors resulting from the LU re - factorization
public void Solve(CudaDeviceVariable<int> P, CudaDeviceVariable<int> Q, int nrhs, double[] Temp, int ldt, double[] XF, int ldxf)
		{
			res = CudaSolveNativeMethods.Refactorization.cusolverRfSolve(_handle, P.DevicePointer, Q.DevicePointer, nrhs, Temp, ldt, XF, ldxf);
			Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cusolverRfSolve", res));
			if (res != cusolverStatus.Success) throw new CudaSolveException(res);
		}
public void Solve ( CudaDeviceVariable < int > P , CudaDeviceVariable < int > Q , int nrhs , double [ ] Temp , int ldt , double [ ] XF , int ldxf ) { res = CudaSolveNativeMethods . Refactorization . cusolverRfSolve ( _handle , P . DevicePointer , Q . DevicePointer , nrhs , Temp , ldt , XF , ldxf ) ; Debug . WriteLine ( String . Format ( " " , DateTime . Now , " " , res ) ) ; if ( res != cusolverStatus . Success ) throw new CudaSolveException ( res ) ; }
This routine performs the forward and backward solve with the lower and upper
triangular factors resulting from the LU re-factorization
This routine performs the forward and backward solve with the lower and upper triangular factors resulting from the LU re - factorization
P
CudaDeviceVariable<int>
the left permutation (often associated with pivoting). The array size in n.
the left permutation ( often associated with pivoting ) . The array size in n .
Q
CudaDeviceVariable<int>
the right permutation (often associated with reordering). The array size in n.
the right permutation ( often associated with reordering ) . The array size in n .
nrhs
int
the number right-hand-sides to be solved.
the number right - hand - sides to be solved .
Temp
double[]
the dense matrix that contains temporary workspace (of size ldt*nrhs).
the dense matrix that contains temporary workspace ( of size ldt * nrhs ) .
ldt
int
the leading dimension of dense matrix Temp (ldt >= n).
the leading dimension of dense matrix Temp ( ldt > = n ) .
XF
double[]
the dense matrix that contains the righthand-sides F and solutions X (of size ldxf*nrhs).
the dense matrix that contains the righthand - sides F and solutions X ( of size ldxf * nrhs ) .
ldxf
int
the leading dimension of dense matrix XF (ldxf >= n).
the leading dimension of dense matrix XF ( ldxf > = n ) .