Lines Matching refs:A

15     PetscCall(MatCreate(PETSC_COMM_SELF, &b->A));
16 PetscCall(MatBindToCPU(b->A, B->boundtocpu));
17 PetscCall(MatSetSizes(b->A, B->rmap->n, B->cmap->n, B->rmap->n, B->cmap->n));
18 PetscCall(MatSetType(b->A, MATSEQSELLCUDA));
24 PetscCall(MatSeqSELLSetPreallocation(b->A, d_rlenmax, d_rlen));
37 static PetscErrorCode MatAssemblyEnd_MPISELLCUDA(Mat A, MatAssemblyType mode)
40 PetscCall(MatAssemblyEnd_MPISELL(A, mode));
41 if (!A->was_assembled && mode == MAT_FINAL_ASSEMBLY) PetscCall(VecSetType(((Mat_MPISELL *)A->data)->lvec, VECSEQCUDA));
45 static PetscErrorCode MatDestroy_MPISELLCUDA(Mat A)
48 PetscCall(MatDestroy_MPISELL(A));
49 PetscCall(PetscObjectComposeFunction((PetscObject)A, "MatMPISELLSetPreallocation_C", NULL));
56 Mat A;
62 A = *newmat;
63 A->boundtocpu = PETSC_FALSE;
64 PetscCall(PetscFree(A->defaultvectype));
65 PetscCall(PetscStrallocpy(VECCUDA, &A->defaultvectype));
67 a = (Mat_MPISELL *)A->data;
68 if (a->A) PetscCall(MatSetType(a->A, MATSEQSELLCUDA));
72 A->ops->assemblyend = MatAssemblyEnd_MPISELLCUDA;
73 A->ops->setfromoptions = MatSetFromOptions_MPISELLCUDA;
74 A->ops->destroy = MatDestroy_MPISELLCUDA;
76 PetscCall(PetscObjectChangeTypeName((PetscObject)A, MATMPISELLCUDA));
77 PetscCall(PetscObjectComposeFunction((PetscObject)A, "MatMPISELLSetPreallocation_C", MatMPISELLSetPreallocation_MPISELLCUDA));
81 PETSC_EXTERN PetscErrorCode MatCreate_MPISELLCUDA(Mat A)
85 PetscCall(MatCreate_MPISELL(A));
86 PetscCall(MatConvert_MPISELL_MPISELLCUDA(A, MATMPISELLCUDA, MAT_INPLACE_MATRIX, &A));
123 . A - the matrix
136 PetscErrorCode MatCreateSELLCUDA(MPI_Comm comm, PetscInt m, PetscInt n, PetscInt M, PetscInt N, PetscInt d_nz, const PetscInt d_nnz[], PetscInt o_nz, const PetscInt o_nnz[], Mat *A)
141 PetscCall(MatCreate(comm, A));
142 PetscCall(MatSetSizes(*A, m, n, M, N));
145 PetscCall(MatSetType(*A, MATMPISELLCUDA));
146 PetscCall(MatMPISELLSetPreallocation(*A, d_nz, d_nnz, o_nz, o_nnz));
148 PetscCall(MatSetType(*A, MATSEQSELLCUDA));
149 PetscCall(MatSeqSELLSetPreallocation(*A, d_nz, d_nnz));
155 MATSELLCUDA - "sellcuda" = "mpisellcuda" - A matrix type to be used for sparse matrices.