Lines Matching refs:upTriFactor

442 …Mat_SeqAIJCUSPARSETriFactorStruct *upTriFactor        = (Mat_SeqAIJCUSPARSETriFactorStruct *)cuspa…  in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()  local
455 if (!upTriFactor) { in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
488 PetscCall(PetscNew(&upTriFactor)); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
489 upTriFactor->solvePolicy = CUSPARSE_SOLVE_POLICY_USE_LEVEL; in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
492 PetscCallCUSPARSE(cusparseCreateMatDescr(&upTriFactor->descr)); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
493 PetscCallCUSPARSE(cusparseSetMatIndexBase(upTriFactor->descr, CUSPARSE_INDEX_BASE_ZERO)); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
495 PetscCallCUSPARSE(cusparseSetMatType(upTriFactor->descr, CUSPARSE_MATRIX_TYPE_GENERAL)); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
497 PetscCallCUSPARSE(cusparseSetMatType(upTriFactor->descr, CUSPARSE_MATRIX_TYPE_TRIANGULAR)); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
499 PetscCallCUSPARSE(cusparseSetMatFillMode(upTriFactor->descr, CUSPARSE_FILL_MODE_UPPER)); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
500 PetscCallCUSPARSE(cusparseSetMatDiagType(upTriFactor->descr, CUSPARSE_DIAG_TYPE_NON_UNIT)); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
503 upTriFactor->solveOp = CUSPARSE_OPERATION_NON_TRANSPOSE; in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
506 upTriFactor->csrMat = new CsrMatrix; in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
507 upTriFactor->csrMat->num_rows = n; in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
508 upTriFactor->csrMat->num_cols = n; in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
509 upTriFactor->csrMat->num_entries = nzUpper; in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
511 upTriFactor->csrMat->row_offsets = new THRUSTINTARRAY32(n + 1); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
512 upTriFactor->csrMat->row_offsets->assign(AiUp, AiUp + n + 1); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
514 upTriFactor->csrMat->column_indices = new THRUSTINTARRAY32(nzUpper); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
515 upTriFactor->csrMat->column_indices->assign(AjUp, AjUp + nzUpper); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
517 upTriFactor->csrMat->values = new THRUSTARRAY(nzUpper); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
518 upTriFactor->csrMat->values->assign(AAUp, AAUp + nzUpper); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
522 PetscCallCUSPARSE(cusparseCreateCsrsvInfo(&upTriFactor->solveInfo)); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
524 …Factors->handle, upTriFactor->solveOp, upTriFactor->csrMat->num_rows, upTriFactor->csrMat->num_ent… in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
525upTriFactor->csrMat->row_offsets->data().get(), upTriFactor->csrMat->column_indices->data().get(),… in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
526 PetscCallCUDA(cudaMalloc(&upTriFactor->solveBuffer, upTriFactor->solveBufferSize)); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
530 …Factors->handle, upTriFactor->solveOp, upTriFactor->csrMat->num_rows, upTriFactor->csrMat->num_ent… in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
531upTriFactor->csrMat->row_offsets->data().get(), upTriFactor->csrMat->column_indices->data().get(),… in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
537 ((Mat_SeqAIJCUSPARSETriFactors *)A->spptr)->upTriFactorPtr = upTriFactor; in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
538 upTriFactor->AA_h = AAUp; in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
543 …if (!upTriFactor->AA_h) PetscCallCUDA(cudaMallocHost((void **)&upTriFactor->AA_h, nzUpper * sizeof… in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
556 upTriFactor->AA_h[offset] = 1. / v[nz]; in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
557 PetscCall(PetscArraycpy(&upTriFactor->AA_h[offset + 1], v, nz)); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
559 upTriFactor->csrMat->values->assign(upTriFactor->AA_h, upTriFactor->AA_h + nzUpper); in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix()
778 …Mat_SeqAIJCUSPARSETriFactorStruct *upTriFactor = (Mat_SeqAIJCUSPARSETriFactorStruct *)cuspa… in MatSeqAIJCUSPARSEBuildICCTriMatrices() local
793 if (!upTriFactor && !loTriFactor) { in MatSeqAIJCUSPARSEBuildICCTriMatrices()
827 PetscCall(PetscNew(&upTriFactor)); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
828 upTriFactor->solvePolicy = CUSPARSE_SOLVE_POLICY_USE_LEVEL; in MatSeqAIJCUSPARSEBuildICCTriMatrices()
831 PetscCallCUSPARSE(cusparseCreateMatDescr(&upTriFactor->descr)); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
832 PetscCallCUSPARSE(cusparseSetMatIndexBase(upTriFactor->descr, CUSPARSE_INDEX_BASE_ZERO)); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
834 PetscCallCUSPARSE(cusparseSetMatType(upTriFactor->descr, CUSPARSE_MATRIX_TYPE_GENERAL)); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
836 PetscCallCUSPARSE(cusparseSetMatType(upTriFactor->descr, CUSPARSE_MATRIX_TYPE_TRIANGULAR)); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
838 PetscCallCUSPARSE(cusparseSetMatFillMode(upTriFactor->descr, CUSPARSE_FILL_MODE_UPPER)); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
839 PetscCallCUSPARSE(cusparseSetMatDiagType(upTriFactor->descr, CUSPARSE_DIAG_TYPE_UNIT)); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
842 upTriFactor->csrMat = new CsrMatrix; in MatSeqAIJCUSPARSEBuildICCTriMatrices()
843 upTriFactor->csrMat->num_rows = A->rmap->n; in MatSeqAIJCUSPARSEBuildICCTriMatrices()
844 upTriFactor->csrMat->num_cols = A->cmap->n; in MatSeqAIJCUSPARSEBuildICCTriMatrices()
845 upTriFactor->csrMat->num_entries = a->nz; in MatSeqAIJCUSPARSEBuildICCTriMatrices()
847 upTriFactor->csrMat->row_offsets = new THRUSTINTARRAY32(A->rmap->n + 1); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
848 upTriFactor->csrMat->row_offsets->assign(AiUp, AiUp + A->rmap->n + 1); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
850 upTriFactor->csrMat->column_indices = new THRUSTINTARRAY32(a->nz); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
851 upTriFactor->csrMat->column_indices->assign(AjUp, AjUp + a->nz); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
853 upTriFactor->csrMat->values = new THRUSTARRAY(a->nz); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
854 upTriFactor->csrMat->values->assign(AAUp, AAUp + a->nz); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
857 upTriFactor->solveOp = CUSPARSE_OPERATION_NON_TRANSPOSE; in MatSeqAIJCUSPARSEBuildICCTriMatrices()
861 PetscCallCUSPARSE(cusparseCreateCsrsvInfo(&upTriFactor->solveInfo)); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
863 …Factors->handle, upTriFactor->solveOp, upTriFactor->csrMat->num_rows, upTriFactor->csrMat->num_ent… in MatSeqAIJCUSPARSEBuildICCTriMatrices()
864upTriFactor->csrMat->row_offsets->data().get(), upTriFactor->csrMat->column_indices->data().get(),… in MatSeqAIJCUSPARSEBuildICCTriMatrices()
865 PetscCallCUDA(cudaMalloc(&upTriFactor->solveBuffer, upTriFactor->solveBufferSize)); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
869 …Factors->handle, upTriFactor->solveOp, upTriFactor->csrMat->num_rows, upTriFactor->csrMat->num_ent… in MatSeqAIJCUSPARSEBuildICCTriMatrices()
870upTriFactor->csrMat->row_offsets->data().get(), upTriFactor->csrMat->column_indices->data().get(),… in MatSeqAIJCUSPARSEBuildICCTriMatrices()
876 ((Mat_SeqAIJCUSPARSETriFactors *)A->spptr)->upTriFactorPtr = upTriFactor; in MatSeqAIJCUSPARSEBuildICCTriMatrices()
955 PetscCheck(upTriFactor, PETSC_COMM_SELF, PETSC_ERR_COR, "Missing cusparseTriFactors"); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
957 upTriFactor->csrMat->values->assign(AAUp, AAUp + a->nz); in MatSeqAIJCUSPARSEBuildICCTriMatrices()
1051 …Mat_SeqAIJCUSPARSETriFactorStruct *upTriFactor = (Mat_SeqAIJCUSPARSETriFactorStruct *)cuspa… in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve() local
1141 matrixType = cusparseGetMatType(upTriFactor->descr); in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1142 indexBase = cusparseGetMatIndexBase(upTriFactor->descr); in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1143 …fillMode = cusparseGetMatFillMode(upTriFactor->descr) == CUSPARSE_FILL_MODE_UPPER ? CUSPARSE_FIL… in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1144 diagType = cusparseGetMatDiagType(upTriFactor->descr); in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1158 upTriFactorT->csrMat->num_rows = upTriFactor->csrMat->num_cols; in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1159 upTriFactorT->csrMat->num_cols = upTriFactor->csrMat->num_rows; in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1160 upTriFactorT->csrMat->num_entries = upTriFactor->csrMat->num_entries; in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1167 …rseTriFactors->handle, upTriFactor->csrMat->num_rows, upTriFactor->csrMat->num_cols, upTriFactor->… in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1168upTriFactor->csrMat->row_offsets->data().get(), upTriFactor->csrMat->column_indices->data().get(),… in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1169 …calartype, CUSPARSE_ACTION_NUMERIC, indexBase, CUSPARSE_CSR2CSC_ALG1, &upTriFactor->csr2cscBufferS… in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1170 PetscCallCUDA(cudaMalloc(&upTriFactor->csr2cscBuffer, upTriFactor->csr2cscBufferSize)); in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1176upTriFactor->csrMat->num_rows, upTriFactor->csrMat->num_cols, upTriFactor->csrMat->num_entries, u… in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1177upTriFactor->csrMat->column_indices->data().get(), upTriFactorT->csrMat->values->data().get(), in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1179 …scalartype, CUSPARSE_ACTION_NUMERIC, indexBase, CUSPARSE_CSR2CSC_ALG1, upTriFactor->csr2cscBuffer); in MatSeqAIJCUSPARSEAnalyzeTransposeForSolve()
1632 …Mat_SeqAIJCUSPARSETriFactorStruct *upTriFactor = (Mat_SeqAIJCUSPARSETriFactorStruct *)cu… in MatSolve_SeqAIJCUSPARSE() local
1651 …andle, upTriFactor->solveOp, upTriFactor->csrMat->num_rows, upTriFactor->csrMat->num_entries, &PET… in MatSolve_SeqAIJCUSPARSE()
1652upTriFactor->csrMat->row_offsets->data().get(), upTriFactor->csrMat->column_indices->data().get(),… in MatSolve_SeqAIJCUSPARSE()
1670 …Mat_SeqAIJCUSPARSETriFactorStruct *upTriFactor = (Mat_SeqAIJCUSPARSETriFactorStruct *)cuspa… in MatSolve_SeqAIJCUSPARSE_NaturalOrdering() local
1684 …andle, upTriFactor->solveOp, upTriFactor->csrMat->num_rows, upTriFactor->csrMat->num_entries, &PET… in MatSolve_SeqAIJCUSPARSE_NaturalOrdering()
1685upTriFactor->csrMat->row_offsets->data().get(), upTriFactor->csrMat->column_indices->data().get(),… in MatSolve_SeqAIJCUSPARSE_NaturalOrdering()