Lines Matching refs:mmdata

2194   MatProductCtx_MatMatHipsparse *mmdata = *(MatProductCtx_MatMatHipsparse **)data;  in MatProductCtxDestroy_MatMatHipsparse()  local
2197 PetscCallHIP(hipFree(mmdata->Bt)); in MatProductCtxDestroy_MatMatHipsparse()
2198 delete mmdata->Bcsr; in MatProductCtxDestroy_MatMatHipsparse()
2199 if (mmdata->matSpBDescr) PetscCallHIPSPARSE(hipsparseDestroySpMat(mmdata->matSpBDescr)); in MatProductCtxDestroy_MatMatHipsparse()
2200 if (mmdata->matBDescr) PetscCallHIPSPARSE(hipsparseDestroyDnMat(mmdata->matBDescr)); in MatProductCtxDestroy_MatMatHipsparse()
2201 if (mmdata->matCDescr) PetscCallHIPSPARSE(hipsparseDestroyDnMat(mmdata->matCDescr)); in MatProductCtxDestroy_MatMatHipsparse()
2202 if (mmdata->spgemmDesc) PetscCallHIPSPARSE(hipsparseSpGEMM_destroyDescr(mmdata->spgemmDesc)); in MatProductCtxDestroy_MatMatHipsparse()
2204 if (mmdata->dBuffer4) PetscCallHIP(hipFree(mmdata->dBuffer4)); in MatProductCtxDestroy_MatMatHipsparse()
2205 if (mmdata->dBuffer5) PetscCallHIP(hipFree(mmdata->dBuffer5)); in MatProductCtxDestroy_MatMatHipsparse()
2207 if (mmdata->mmBuffer) PetscCallHIP(hipFree(mmdata->mmBuffer)); in MatProductCtxDestroy_MatMatHipsparse()
2208 if (mmdata->mmBuffer2) PetscCallHIP(hipFree(mmdata->mmBuffer2)); in MatProductCtxDestroy_MatMatHipsparse()
2209 PetscCall(MatDestroy(&mmdata->X)); in MatProductCtxDestroy_MatMatHipsparse()
2224 MatProductCtx_MatMatHipsparse *mmdata; in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP() local
2231 mmdata = (MatProductCtx_MatMatHipsparse *)product->data; in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2279 PetscCall(MatDenseGetArrayWriteAndMemType(mmdata->X, &carray, nullptr)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2280 PetscCall(MatDenseGetLDA(mmdata->X, &clda)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2289 if (!mmdata->initialized || mmdata->Blda != blda || mmdata->Clda != clda) { in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2291 if (mmdata->initialized && mmdata->Blda != blda) { in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2292 PetscCallHIPSPARSE(hipsparseDestroyDnMat(mmdata->matBDescr)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2293 mmdata->matBDescr = NULL; in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2295 if (!mmdata->matBDescr) { in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2296 …PetscCallHIPSPARSE(hipsparseCreateDnMat(&mmdata->matBDescr, B->rmap->n, B->cmap->n, blda, (void *)… in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2297 mmdata->Blda = blda; in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2299 if (mmdata->initialized && mmdata->Clda != clda) { in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2300 PetscCallHIPSPARSE(hipsparseDestroyDnMat(mmdata->matCDescr)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2301 mmdata->matCDescr = NULL; in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2303 if (!mmdata->matCDescr) { /* matCDescr is for C or mmdata->X */ in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2304 …PetscCallHIPSPARSE(hipsparseCreateDnMat(&mmdata->matCDescr, m, n, clda, (void *)carray, hipsparse_… in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2305 mmdata->Clda = clda; in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2311 …(cusp->handle, opA, opB, mat->alpha_one, mat->matDescr, mmdata->matBDescr, mat->beta_zero, mmdata-… in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2312 if ((mmdata->mmBuffer && mmdata->mmBufferSize < mmBufferSize) || !mmdata->mmBuffer) { in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2313 PetscCallHIP(hipFree(mmdata->mmBuffer)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2314 PetscCallHIP(hipMalloc(&mmdata->mmBuffer, mmBufferSize)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2315 mmdata->mmBufferSize = mmBufferSize; in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2317 mmdata->initialized = PETSC_TRUE; in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2321 PetscCallHIPSPARSE(hipsparseDnMatSetValues(mmdata->matBDescr, (void *)barray)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2322 PetscCallHIPSPARSE(hipsparseDnMatSetValues(mmdata->matCDescr, (void *)carray)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2326 …->alpha_one, mat->matDescr, mmdata->matBDescr, mat->beta_zero, mmdata->matCDescr, hipsparse_scalar… in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2332 PetscCall(MatDenseRestoreArrayWriteAndMemType(mmdata->X, &carray)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2333 …PetscCall(MatMatMultNumeric_SeqDenseHIP_SeqDenseHIP_Internal(B, mmdata->X, C, PETSC_FALSE, PETSC_F… in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2335 PetscCall(MatDenseRestoreArrayWriteAndMemType(mmdata->X, &carray)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2336 …PetscCall(MatMatMultNumeric_SeqDenseHIP_SeqDenseHIP_Internal(B, mmdata->X, C, PETSC_TRUE, PETSC_FA… in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2338 if (mmdata->cisdense) PetscCall(MatConvert(C, MATSEQDENSE, MAT_INPLACE_MATRIX, &C)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqDENSEHIP()
2349 MatProductCtx_MatMatHipsparse *mmdata; in MatProductSymbolic_SeqAIJHIPSPARSE_SeqDENSEHIP() local
2391 PetscCall(PetscNew(&mmdata)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqDENSEHIP()
2392 mmdata->cisdense = cisdense; in MatProductSymbolic_SeqAIJHIPSPARSE_SeqDENSEHIP()
2395 PetscCall(MatCreate(PetscObjectComm((PetscObject)C), &mmdata->X)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqDENSEHIP()
2396 PetscCall(MatSetType(mmdata->X, MATSEQDENSEHIP)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqDENSEHIP()
2398 …if (product->type == MATPRODUCT_RARt) PetscCall(MatSetSizes(mmdata->X, A->rmap->n, B->rmap->n, A->… in MatProductSymbolic_SeqAIJHIPSPARSE_SeqDENSEHIP()
2399 else PetscCall(MatSetSizes(mmdata->X, A->rmap->n, B->cmap->n, A->rmap->n, B->cmap->n)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqDENSEHIP()
2401 C->product->data = mmdata; in MatProductSymbolic_SeqAIJHIPSPARSE_SeqDENSEHIP()
2417 MatProductCtx_MatMatHipsparse *mmdata; in MatProductNumeric_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE() local
2426 mmdata = (MatProductCtx_MatMatHipsparse *)C->product->data; in MatProductNumeric_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2429 …if (mmdata->reusesym) { /* this happens when api_user is true, meaning that the matrix values have… in MatProductNumeric_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2430 mmdata->reusesym = PETSC_FALSE; in MatProductNumeric_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2485 …Bcsr = mmdata->Bcsr ? mmdata->Bcsr : (CsrMatrix *)Bmat->mat; /* B may be in compressed row storage… in MatProductNumeric_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2492 …BmatSpDescr = mmdata->Bcsr ? mmdata->matSpBDescr : Bmat->matDescr; /* B may be in compressed row s… in MatProductNumeric_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2495 …t->beta_zero, Cmat->matDescr, hipsparse_scalartype, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2497 …cr, hipsparse_scalartype, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc, &mmdata->mmBufferSize, mmd… in MatProductNumeric_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2498 …t->beta_zero, Cmat->matDescr, hipsparse_scalartype, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2505 PetscCall(PetscLogGpuFlops(mmdata->flops)); in MatProductNumeric_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2533 MatProductCtx_MatMatHipsparse *mmdata; in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE() local
2556 PetscCall(PetscNew(&mmdata)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2557 C->product->data = mmdata; in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2676 mmdata->Bcsr = Bcsr; in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2678 …PetscCallHIPSPARSE(hipsparseCreateCsr(&mmdata->matSpBDescr, Bcsr->num_rows, Bcsr->num_cols, Bcsr->… in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2680 BmatSpDescr = mmdata->matSpBDescr; in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2702 mmdata->flops = flops; in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2707 PetscCallHIPSPARSE(hipsparseSpGEMM_createDescr(&mmdata->spgemmDesc)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2724 …, Amat->matDescr, BmatSpDescr, Cmat->matDescr, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc, &buff… in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2727 …, Amat->matDescr, BmatSpDescr, Cmat->matDescr, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc, &buff… in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2729 …, Amat->matDescr, BmatSpDescr, Cmat->matDescr, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc, &buff… in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2732 PetscCallHIP(hipMalloc((void **)&mmdata->dBuffer4, bufferSize4)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2733 …escr, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc, &bufferSize2, dBuffer2, &bufferSize3, dBuffer3… in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2749 …, Amat->matDescr, BmatSpDescr, Cmat->matDescr, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc, &buff… in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2750 PetscCallHIP(hipMalloc((void **)&mmdata->dBuffer5, bufferSize5)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2751 … BmatSpDescr, Cmat->matDescr, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc, &bufferSize5, mmdata->… in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2753 …t->beta_zero, Cmat->matDescr, hipsparse_scalartype, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2760 …ta_zero, Cmat->matDescr, hipsparse_scalartype, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc, &bufS… in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2761 PetscCallHIP(hipMalloc((void **)&mmdata->mmBuffer2, bufSize2)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2763 …matDescr, hipsparse_scalartype, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc, &bufSize2, mmdata->m… in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2765 …mat->matDescr, hipsparse_scalartype, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc, &mmdata->mmBuff… in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2770 PetscCallHIP(hipMalloc((void **)&mmdata->mmBuffer, mmdata->mmBufferSize)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2772 …cr, hipsparse_scalartype, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc, &mmdata->mmBufferSize, mmd… in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2777 mmdata->mmBufferSize / 1024)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2783 …t->beta_zero, Cmat->matDescr, hipsparse_scalartype, HIPSPARSE_SPGEMM_DEFAULT, mmdata->spgemmDesc)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2803 PetscCall(PetscLogGpuFlops(mmdata->flops)); in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()
2859 mmdata->reusesym = PETSC_TRUE; in MatProductSymbolic_SeqAIJHIPSPARSE_SeqAIJHIPSPARSE()