Lines Matching refs:cmat

1072     if (auto &cmat = mimpl->cmat) {  in BindToCPU()  local
1073 PetscCall(PetscObjectTypeCompare(PetscObjectCast(cmat), MATSEQDENSECUPM(), &iscupm)); in BindToCPU()
1074 if (!iscupm) PetscCall(MatDestroy(&cmat)); in BindToCPU()
1134 if (const auto cmat = mimpl->cmat) PetscCall(MatBindToCPU(cmat, to_host)); in BindToCPU() local
1839 auto &cmat = mimpl->cmat; in GetSubMatrix() local
1850 if (cmat && ((m != cmat->cmap->N) || (n != cmat->rmap->N))) PetscCall(MatDestroy(&cmat)); in GetSubMatrix()
1854 if (cmat) { in GetSubMatrix()
1855 PetscCall(PlaceArray(cmat, device_array)); in GetSubMatrix()
1857 …ll(MatCreateSeqDenseCUPM<T>(PetscObjectComm(PetscObjectCast(A)), n, m, device_array, &cmat, dctx)); in GetSubMatrix()
1860 PetscCall(MatDenseSetLDA(cmat, mimpl->lda)); in GetSubMatrix()
1863 cmat->offloadmask = PETSC_OFFLOAD_GPU; in GetSubMatrix()
1864 PetscCall(MatDensePlaceArray(cmat, array_offset(host_array))); in GetSubMatrix()
1867 cmat->offloadmask = A->offloadmask; in GetSubMatrix()
1868 *mat = cmat; in GetSubMatrix()
1876 const auto cmat = mimpl->cmat; in RestoreSubMatrix() local
1882 PetscCheck(cmat, PETSC_COMM_SELF, PETSC_ERR_PLIB, "Missing internal column matrix"); in RestoreSubMatrix()
1883 …PetscCheck(*m == cmat, PETSC_COMM_SELF, PETSC_ERR_ARG_WRONG, "Not the matrix obtained from MatDens… in RestoreSubMatrix()
1887 was_offload_host = cmat->offloadmask == PETSC_OFFLOAD_CPU; in RestoreSubMatrix()
1895 PetscCall(ResetArray(cmat)); in RestoreSubMatrix()
1896 if (reset) PetscCall(MatDenseResetArray(cmat)); in RestoreSubMatrix()
1906 cmat->offloadmask = PETSC_OFFLOAD_UNALLOCATED; in RestoreSubMatrix()