Library/ManagedCuda/CudaSolve/Refactorization.cs
/// <summary>
/// This routine updates internal data structures with the values of the new coefficient
/// matrix. It is assumed that the arrays csrRowPtrA, csrColIndA, P and Q have not
/// changed since the last call to the cusolverRfSetup[Host] routine. This assumption
/// reflects the fact that the sparsity pattern of coefficient matrices as well as reordering to
/// minimize fill-in and pivoting remain the same in the set of linear systems
/// </summary>
/// <param name="n">the number of rows (and columns) of matrix A.</param>
/// <param name="nnzA">the number of non-zero elements of matrix A.</param>
/// <param name="csrRowPtrA">the array of offsets corresponding to the start of each row in the arrays
/// csrColIndA and csrValA. This array has also an extra entry at the end that stores the number of non-zero elements in the
/// matrix. The array size is n+1.</param>
/// <param name="csrColIndA">the array of column indices corresponding to the non-zero elements in the matrix. It
/// is assumed that this array is sorted by row and by column within each row. The array size is nnzA.</param>
/// <param name="csrValA">the array of values corresponding to the non-zero elements in the matrix. It is assumed that this array is sorted by row
/// and by column within each row. The array size is nnzA.</param>
/// <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>
This routine updates internal data structures with the values of the new coefficient
matrix. It is assumed that the arrays csrRowPtrA, csrColIndA, P and Q have not
changed since the last call to the cusolverRfSetup[Host] routine. This assumption
reflects the fact that the sparsity pattern of coefficient matrices as well as reordering to
minimize fill-in and pivoting remain the same in the set of linear systems
This routine updates internal data structures with the values of the new coefficient matrix . It is assumed that the arrays csrRowPtrA csrColIndA P and Q have not changed since the last call to the cusolverRfSetup [ Host ] routine . This assumption reflects the fact that the sparsity pattern of coefficient matrices as well as reordering to minimize fill - in and pivoting remain the same in the set of linear systems
public void ResetValues(int n, int nnzA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> csrValA,
			CudaDeviceVariable<double> P, CudaDeviceVariable<double> Q)
		{
			res = CudaSolveNativeMethods.Refactorization.cusolverRfResetValues(n, nnzA, csrRowPtrA.DevicePointer, csrColIndA.DevicePointer, 
				csrValA.DevicePointer, P.DevicePointer, Q.DevicePointer, _handle);
			Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cusolverRfResetValues", res));
			if (res != cusolverStatus.Success) throw new CudaSolveException(res);
		}
public void ResetValues ( int n , int nnzA , CudaDeviceVariable < int > csrRowPtrA , CudaDeviceVariable < int > csrColIndA , CudaDeviceVariable < double > csrValA , CudaDeviceVariable < double > P , CudaDeviceVariable < double > Q ) { res = CudaSolveNativeMethods . Refactorization . cusolverRfResetValues ( n , nnzA , csrRowPtrA . DevicePointer , csrColIndA . DevicePointer , csrValA . DevicePointer , P . DevicePointer , Q . DevicePointer , _handle ) ; Debug . WriteLine ( String . Format ( " " , DateTime . Now , " " , res ) ) ; if ( res != cusolverStatus . Success ) throw new CudaSolveException ( res ) ; }
This routine updates internal data structures with the values of the new coefficient
matrix.
This routine updates internal data structures with the values of the new coefficient matrix .
n
int
the number of rows (and columns) of matrix A.
the number of rows ( and columns ) of matrix A .
nnzA
int
the number of non-zero elements of matrix A.
the number of non - zero elements of matrix A .
csrRowPtrA
CudaDeviceVariable<int>
the array of offsets corresponding to the start of each row in the arrays
csrColIndA and csrValA. This array has also an extra entry at the end that stores the number of non-zero elements in the
matrix. The array size is n+1.
the array of offsets corresponding to the start of each row in the arrays csrColIndA and csrValA . This array has also an extra entry at the end that stores the number of non - zero elements in the matrix . The array size is n + 1 .
csrColIndA
CudaDeviceVariable<int>
the array of column indices corresponding to the non-zero elements in the matrix. It
is assumed that this array is sorted by row and by column within each row. The array size is nnzA.
the array of column indices corresponding to the non - zero elements in the matrix . It is assumed that this array is sorted by row and by column within each row . The array size is nnzA .
csrValA
CudaDeviceVariable<double>
the array of values corresponding to the non-zero elements in the matrix. It is assumed that this array is sorted by row
and by column within each row. The array size is nnzA.
the array of values corresponding to the non - zero elements in the matrix . It is assumed that this array is sorted by row and by column within each row . The array size is nnzA .
P
CudaDeviceVariable<double>
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<double>
the right permutation (often associated with reordering). The array size in n.
the right permutation ( often associated with reordering ) . The array size in n .