Lines Matching refs:vsf
2673 PetscSF vsf; in MatDenseScatter_Private() local
2695 PetscCall(PetscObjectQuery((PetscObject)sf, "_MatDenseScatter_StridedSF", (PetscObject *)&vsf)); in MatDenseScatter_Private()
2696 if (vsf) { in MatDenseScatter_Private()
2700 PetscCall(PetscSFGetGraph(vsf, nr + 1, nl + 1, NULL, NULL)); in MatDenseScatter_Private()
2701 if (N * nr[0] != nr[1] || N * nl[0] != nl[1]) vsf = NULL; in MatDenseScatter_Private()
2703 if (!vsf) { in MatDenseScatter_Private()
2704 PetscCall(PetscSFCreateStridedSF(sf, N, rld, lld, &vsf)); in MatDenseScatter_Private()
2705 … PetscCall(PetscObjectCompose((PetscObject)sf, "_MatDenseScatter_StridedSF", (PetscObject)vsf)); in MatDenseScatter_Private()
2706 PetscCall(PetscObjectDereference((PetscObject)vsf)); in MatDenseScatter_Private()
2708 } else vsf = sf; in MatDenseScatter_Private()
2714 PetscCall(PetscSFBcastWithMemTypeBegin(vsf, vsf->vscat.unit, mtype[0], in, mtype[1], out, op)); in MatDenseScatter_Private()
2715 PetscCall(PetscSFBcastEnd(vsf, vsf->vscat.unit, in, out, op)); in MatDenseScatter_Private()
2717 PetscCall(PetscSFReduceWithMemTypeBegin(vsf, vsf->vscat.unit, mtype[0], in, mtype[1], out, op)); in MatDenseScatter_Private()
2718 PetscCall(PetscSFReduceEnd(vsf, vsf->vscat.unit, in, out, op)); in MatDenseScatter_Private()