Lines Matching refs:product

19   Mat_Product *product = C->product;  in MatProductSymbolic_ABt_MPIAIJ_MPIAIJ()  local
20 Mat B = product->B; in MatProductSymbolic_ABt_MPIAIJ_MPIAIJ()
23 PetscCall(MatTranspose(B, MAT_INITIAL_MATRIX, &product->B)); in MatProductSymbolic_ABt_MPIAIJ_MPIAIJ()
31 Mat_Product *product = C->product; in MatProductSymbolic_AB_MPIAIJ_MPIAIJ() local
32 Mat A = product->A, B = product->B; in MatProductSymbolic_AB_MPIAIJ_MPIAIJ()
33 MatProductAlgorithm alg = product->alg; in MatProductSymbolic_AB_MPIAIJ_MPIAIJ()
34 PetscReal fill = product->fill; in MatProductSymbolic_AB_MPIAIJ_MPIAIJ()
112 ptap = (MatProductCtx_APMPI *)C->product->data; in MatMatMultNumeric_MPIAIJ_MPIAIJ_nonscalable()
210 PetscCheck(!C->product->data, PETSC_COMM_SELF, PETSC_ERR_PLIB, "Extra product struct not empty"); in MatMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable()
320 C->product->data = ptap; in MatMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable()
321 C->product->destroy = MatProductCtxDestroy_MPIAIJ_MatMatMult; in MatMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable()
346 Mat_Product *product = C->product; in MatProductSetFromOptions_MPIAIJ_MPIDense_AB() local
347 Mat A = product->A, B = product->B; in MatProductSetFromOptions_MPIAIJ_MPIDense_AB()
360 Mat_Product *product = C->product; in MatProductSetFromOptions_MPIAIJ_MPIDense_AtB() local
361 Mat A = product->A, B = product->B; in MatProductSetFromOptions_MPIAIJ_MPIDense_AtB()
374 Mat_Product *product = C->product; in MatProductSetFromOptions_MPIAIJ_MPIDense() local
377 switch (product->type) { in MatProductSetFromOptions_MPIAIJ_MPIDense()
428 …PetscCheck(!C->product->data, PetscObjectComm((PetscObject)C), PETSC_ERR_PLIB, "Product data not e… in MatMatMultSymbolic_MPIAIJ_MPIDense()
521 C->product->data = contents; in MatMatMultSymbolic_MPIAIJ_MPIDense()
522 C->product->destroy = MatMPIAIJ_MPIDenseDestroy; in MatMatMultSymbolic_MPIAIJ_MPIDense()
555 …PetscCheck(C->product->data, PetscObjectComm((PetscObject)C), PETSC_ERR_PLIB, "Product data empty"… in MatMPIDenseScatter()
558 contents = (MPIAIJ_MPIDense *)C->product->data; in MatMPIDenseScatter()
602 …PetscCheck(C->product->data, PetscObjectComm((PetscObject)C), PETSC_ERR_PLIB, "Product data empty"… in MatMatMultNumeric_MPIAIJ_MPIDense()
603 contents = (MPIAIJ_MPIDense *)C->product->data; in MatMatMultNumeric_MPIAIJ_MPIDense()
605 if (!cdense->A->product) { in MatMatMultNumeric_MPIAIJ_MPIDense()
611 if (PetscDefined(HAVE_CUPM) && !cdense->A->product->clear) { in MatMatMultNumeric_MPIAIJ_MPIDense()
616 …if (!flg) cdense->A->product->clear = PETSC_TRUE; /* if either A or C is a device Mat, make sure M… in MatMatMultNumeric_MPIAIJ_MPIDense()
676 ptap = (MatProductCtx_APMPI *)C->product->data; in MatMatMultNumeric_MPIAIJ_MPIAIJ()
816 PetscCheck(!C->product->data, PETSC_COMM_SELF, PETSC_ERR_PLIB, "Extra product struct not empty"); in MatMatMultSymbolic_MPIAIJ_MPIAIJ()
942 C->product->data = ptap; in MatMatMultSymbolic_MPIAIJ_MPIAIJ()
943 C->product->destroy = MatProductCtxDestroy_MPIAIJ_MatMatMult; in MatMatMultSymbolic_MPIAIJ_MPIAIJ()
1062 PetscCheck(!C->product->data, PETSC_COMM_SELF, PETSC_ERR_PLIB, "Extra product struct not empty"); in MatMatMultSymbolic_MPIAIJ_MPIAIJ_seqMPI()
1217 C->product->data = ptap; in MatMatMultSymbolic_MPIAIJ_MPIAIJ_seqMPI()
1218 C->product->destroy = MatProductCtxDestroy_MPIAIJ_MatMatMult; in MatMatMultSymbolic_MPIAIJ_MPIAIJ_seqMPI()
1252 ptap = (MatProductCtx_APMPI *)C->product->data; in MatTransposeMatMultNumeric_MPIAIJ_MPIAIJ_matmatmult()
1516 C->product->data = ptap; in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable()
1517 C->product->destroy = MatProductCtxDestroy_MPIAIJ_PtAP; in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ_nonscalable()
1533 ptap = (MatProductCtx_APMPI *)C->product->data; in MatTransposeMatMultNumeric_MPIAIJ_MPIAIJ_nonscalable()
1614 ap = (MatProductCtx_APMPI *)C->product->data; in MatTransposeMatMultNumeric_MPIAIJ_MPIAIJ()
2074 C->product->data = ap; in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ()
2075 C->product->destroy = MatProductCtxDestroy_MPIAIJ_PtAP; in MatTransposeMatMultSymbolic_MPIAIJ_MPIAIJ()
2093 Mat_Product *product = C->product; in MatProductSymbolic_AtB_MPIAIJ_MPIAIJ() local
2094 Mat A = product->A, B = product->B; in MatProductSymbolic_AtB_MPIAIJ_MPIAIJ()
2095 PetscReal fill = product->fill; in MatProductSymbolic_AtB_MPIAIJ_MPIAIJ()
2100 PetscCall(PetscStrcmp(product->alg, "scalable", &flg)); in MatProductSymbolic_AtB_MPIAIJ_MPIAIJ()
2107 PetscCall(PetscStrcmp(product->alg, "nonscalable", &flg)); in MatProductSymbolic_AtB_MPIAIJ_MPIAIJ()
2114 PetscCall(PetscStrcmp(product->alg, "at*b", &flg)); in MatProductSymbolic_AtB_MPIAIJ_MPIAIJ()
2121 ptap = (MatProductCtx_APMPI *)C->product->data; in MatProductSymbolic_AtB_MPIAIJ_MPIAIJ()
2124 C->product->destroy = MatProductCtxDestroy_MPIAIJ_PtAP; in MatProductSymbolic_AtB_MPIAIJ_MPIAIJ()
2131 PetscCall(PetscStrcmp(product->alg, "backend", &flg)); in MatProductSymbolic_AtB_MPIAIJ_MPIAIJ()
2147 Mat_Product *product = C->product; in MatProductSetFromOptions_MPIAIJ_AB() local
2148 Mat A = product->A, B = product->B; in MatProductSetFromOptions_MPIAIJ_AB()
2169 PetscCall(PetscStrcmp(C->product->alg, "default", &flg)); in MatProductSetFromOptions_MPIAIJ_AB()
2183 if (B->cmap->N > product->fill * nz_local) alg_scalable_loc = PETSC_TRUE; in MatProductSetFromOptions_MPIAIJ_AB()
2189 …thm, BN %" PetscInt_FMT ", fill*nz_allocated %g\n", B->cmap->N, (double)(product->fill * nz_local)… in MatProductSetFromOptions_MPIAIJ_AB()
2195 if (product->api_user) { in MatProductSetFromOptions_MPIAIJ_AB()
2221 Mat_Product *product = C->product; in MatProductSetFromOptions_MPIAIJ_AtB() local
2222 Mat A = product->A, B = product->B; in MatProductSetFromOptions_MPIAIJ_AtB()
2236 PetscCall(PetscStrcmp(C->product->alg, "default", &flg)); in MatProductSetFromOptions_MPIAIJ_AtB()
2249 if (B->cmap->N > product->fill * nz_local) alg_scalable_loc = PETSC_TRUE; in MatProductSetFromOptions_MPIAIJ_AtB()
2255 …thm, BN %" PetscInt_FMT ", fill*nz_allocated %g\n", B->cmap->N, (double)(product->fill * nz_local)… in MatProductSetFromOptions_MPIAIJ_AtB()
2260 if (product->api_user) { in MatProductSetFromOptions_MPIAIJ_AtB()
2277 Mat_Product *product = C->product; in MatProductSetFromOptions_MPIAIJ_PtAP() local
2278 Mat A = product->A, P = product->B; in MatProductSetFromOptions_MPIAIJ_PtAP()
2300 PetscCall(PetscStrcmp(C->product->alg, "default", &flg)); in MatProductSetFromOptions_MPIAIJ_PtAP()
2314 if (pN > product->fill * nz_local) alg_scalable_loc = PETSC_TRUE; in MatProductSetFromOptions_MPIAIJ_PtAP()
2325 if (product->api_user) { in MatProductSetFromOptions_MPIAIJ_PtAP()
2342 Mat_Product *product = C->product; in MatProductSetFromOptions_MPIAIJ_RARt() local
2343 Mat A = product->A, R = product->B; in MatProductSetFromOptions_MPIAIJ_RARt()
2359 Mat_Product *product = C->product; in MatProductSetFromOptions_MPIAIJ_ABC() local
2367 PetscCall(PetscStrcmp(C->product->alg, "default", &flg)); in MatProductSetFromOptions_MPIAIJ_ABC()
2371 if (product->api_user) { in MatProductSetFromOptions_MPIAIJ_ABC()
2389 Mat_Product *product = C->product; in MatProductSetFromOptions_MPIAIJ() local
2392 switch (product->type) { in MatProductSetFromOptions_MPIAIJ()