| /petsc/src/mat/impls/aij/seq/seqviennacl/ |
| H A D | aijviennacl.cxx | 32 if (A->offloadmask == PETSC_OFFLOAD_UNALLOCATED || A->offloadmask == PETSC_OFFLOAD_CPU) { in MatViennaCLCopyToGPU() 90 A->offloadmask = PETSC_OFFLOAD_BOTH; in MatViennaCLCopyToGPU() 105 if (A->offloadmask == PETSC_OFFLOAD_BOTH) PetscFunctionReturn(PETSC_SUCCESS); in MatViennaCLCopyFromGPU() 106 if (A->offloadmask == PETSC_OFFLOAD_UNALLOCATED && Agpu) { in MatViennaCLCopyFromGPU() 154 } else if (A->offloadmask == PETSC_OFFLOAD_UNALLOCATED) { in MatViennaCLCopyFromGPU() 157 if (!Agpu && A->offloadmask != PETSC_OFFLOAD_GPU) PetscFunctionReturn(PETSC_SUCCESS); in MatViennaCLCopyFromGPU() 166 A->offloadmask = PETSC_OFFLOAD_BOTH; in MatViennaCLCopyFromGPU() 309 A->offloadmask = PETSC_OFFLOAD_UNALLOCATED; in MatDestroy_SeqAIJViennaCL() 351 C->offloadmask = PETSC_OFFLOAD_UNALLOCATED; in MatDuplicate_SeqAIJViennaCL() 369 A->offloadmask = PETSC_OFFLOAD_CPU; in MatSeqAIJRestoreArray_SeqAIJViennaCL() [all …]
|
| /petsc/src/vec/vec/impls/seq/seqviennacl/ |
| H A D | vecviennacl.cxx | 34 v->offloadmask = PETSC_OFFLOAD_GPU; in VecViennaCLRestoreArray() 73 v->offloadmask = PETSC_OFFLOAD_GPU; in VecViennaCLRestoreArrayWrite() 212 if (v->offloadmask == PETSC_OFFLOAD_CPU) { in VecViennaCLCopyToGPU() 223 v->offloadmask = PETSC_OFFLOAD_BOTH; in VecViennaCLCopyToGPU() 237 if (v->offloadmask == PETSC_OFFLOAD_GPU) { in VecViennaCLCopyFromGPU() 248 v->offloadmask = PETSC_OFFLOAD_BOTH; in VecViennaCLCopyFromGPU() 586 if (xin->offloadmask == PETSC_OFFLOAD_GPU) { in VecCopy_SeqViennaCL() 600 } else if (xin->offloadmask == PETSC_OFFLOAD_CPU) { in VecCopy_SeqViennaCL() 604 } else if (xin->offloadmask == PETSC_OFFLOAD_BOTH) { in VecCopy_SeqViennaCL() 606 if (yin->offloadmask == PETSC_OFFLOAD_CPU) { in VecCopy_SeqViennaCL() [all …]
|
| /petsc/src/vec/vec/impls/mpi/mpiviennacl/ |
| H A D | mpiviennacl.cxx | 166 …vv->offloadmask = PETSC_OFFLOAD_CPU; /* since the CPU code will likely change valu… in VecBindToCPU_MPIViennaCL() 242 vv->offloadmask = PETSC_OFFLOAD_BOTH; in VecCreate_MPIViennaCL() 347 (*vv)->offloadmask = PETSC_OFFLOAD_BOTH; in VecCreateMPIViennaCLWithArrays() 351 (*vv)->offloadmask = PETSC_OFFLOAD_CPU; in VecCreateMPIViennaCLWithArrays() 353 (*vv)->offloadmask = PETSC_OFFLOAD_GPU; in VecCreateMPIViennaCLWithArrays() 355 (*vv)->offloadmask = PETSC_OFFLOAD_UNALLOCATED; in VecCreateMPIViennaCLWithArrays() 376 vv->offloadmask = PETSC_OFFLOAD_BOTH; in VecCreate_MPIViennaCL_Private() 383 vv->offloadmask = PETSC_OFFLOAD_UNALLOCATED; in VecCreate_MPIViennaCL_Private()
|
| /petsc/include/petsc/private/ |
| H A D | veccupmimpl.h | 113 …etscCall(PetscPrintf(comm, "Offload mask: %s\n", PetscOffloadMaskToString(v->offloadmask))); 386 if (v->offloadmask == PETSC_OFFLOAD_UNALLOCATED) v->offloadmask = PETSC_OFFLOAD_CPU; in HostAllocateCheck_() 405 if (v->offloadmask == PETSC_OFFLOAD_UNALLOCATED) { in DeviceAllocateCheck_() 407 v->offloadmask = (vimp && vimp->array) ? PETSC_OFFLOAD_CPU : PETSC_OFFLOAD_GPU; in DeviceAllocateCheck_() 418 if (v->offloadmask == PETSC_OFFLOAD_CPU) { in CopyToDevice_() 421 v->offloadmask = PETSC_OFFLOAD_BOTH; in CopyToDevice_() 435 if (v->offloadmask == PETSC_OFFLOAD_GPU) { in CopyToHost_() 438 v->offloadmask = PETSC_OFFLOAD_BOTH; in CopyToHost_() 575 const auto oldmask = v->offloadmask; in GetArray() 576 auto &mask = v->offloadmask; in GetArray() [all …]
|
| H A D | matdensecupmimpl.h | 561 A->offloadmask = PETSC_OFFLOAD_GPU; in MatDenseCUPMRestoreArray_Private() 622 A->offloadmask = PETSC_OFFLOAD_GPU; in MatDenseCUPMPlaceArray() 633 A->offloadmask = PETSC_OFFLOAD_GPU; in MatDenseCUPMReplaceArray()
|
| /petsc/src/mat/impls/dense/seq/cupm/ |
| H A D | matseqdensecupm.hpp | 229 m->offloadmask = PETSC_OFFLOAD_GPU; in SetPreallocation_() 238 …const auto copy = m->offloadmask == PETSC_OFFLOAD_CPU || m->offloadmask == PETSC_OFFLOAD_UNALLOCA… in HostToDevice_() 266 m->offloadmask = PETSC_OFFLOAD_BOTH; in HostToDevice_() 276 const auto copy = m->offloadmask == PETSC_OFFLOAD_GPU; in DeviceToHost_() 302 m->offloadmask = PETSC_OFFLOAD_BOTH; in DeviceToHost_() 664 const auto xisdevice = xiscupm && PetscOffloadDevice(x->offloadmask); in MatSolve_Factored_Dispatch_() 752 const auto bisdevice = biscupm && PetscOffloadDevice(B->offloadmask); in MatMatSolve_Factored_Dispatch_() 936 B->offloadmask = PETSC_OFFLOAD_CPU; in Convert_Dispatch_() 942 B->offloadmask = PETSC_OFFLOAD_UNALLOCATED; // REVIEW ME: why not offload host?? in Convert_Dispatch_() 1004 if (!MatIMPLCast(A)->user_alloc) A->offloadmask = PETSC_OFFLOAD_CPU; in Destroy() [all …]
|
| /petsc/src/vec/vec/interface/ |
| H A D | veccreate.c | 9 v->offloadmask = PETSC_OFFLOAD_UNALLOCATED; in VecCreate_Common_Private()
|
| H A D | rvector.c | 1628 Z->offloadmask = flg; in VecGetSubVector() 1647 Z->offloadmask = flg; in VecGetSubVector() 1734 PetscOffloadMask ymask = (*Y)->offloadmask; in VecRestoreSubVector() 1739 switch (X->offloadmask) { in VecRestoreSubVector() 1744 X->offloadmask = PETSC_OFFLOAD_GPU; in VecRestoreSubVector() 1760 PetscOffloadMask ymask = (*Y)->offloadmask; in VecRestoreSubVector() 1765 switch (X->offloadmask) { in VecRestoreSubVector() 1770 X->offloadmask = PETSC_OFFLOAD_GPU; in VecRestoreSubVector()
|
| /petsc/src/mat/impls/dense/mpi/cupm/ |
| H A D | matmpidensecupm.hpp | 173 B->offloadmask = PETSC_OFFLOAD_CPU; in Convert_Dispatch_() 177 B->offloadmask = PETSC_OFFLOAD_BOTH; in Convert_Dispatch_() 179 B->offloadmask = PETSC_OFFLOAD_UNALLOCATED; in Convert_Dispatch_()
|
| /petsc/src/mat/impls/sell/mpi/ |
| H A D | mpisell.c | 196 … if (A->offloadmask != PETSC_OFFLOAD_UNALLOCATED && found) A->offloadmask = PETSC_OFFLOAD_CPU; in MatSetValues_MPISELL() 229 … if (B->offloadmask != PETSC_OFFLOAD_UNALLOCATED && found) B->offloadmask = PETSC_OFFLOAD_CPU; in MatSetValues_MPISELL() 318 if (mat->offloadmask == PETSC_OFFLOAD_CPU) sell->A->offloadmask = PETSC_OFFLOAD_CPU; in MatAssemblyEnd_MPISELL() 337 …if (mat->offloadmask == PETSC_OFFLOAD_CPU && sell->B->offloadmask != PETSC_OFFLOAD_UNALLOCATED) se… in MatAssemblyEnd_MPISELL() 351 mat->offloadmask = PETSC_OFFLOAD_BOTH; in MatAssemblyEnd_MPISELL()
|
| /petsc/src/mat/impls/h2opus/cuda/ |
| H A D | math2opus.cu | 941 A->offloadmask = boundtocpu ? PETSC_OFFLOAD_CPU : PETSC_OFFLOAD_GPU; in MatAssemblyEnd_H2OPUS() 1077 A->offloadmask = B->offloadmask; in MatDuplicate_H2OPUS() 1216 if (flg && A->offloadmask == PETSC_OFFLOAD_GPU) { in MatBindToCPU_H2OPUS() 1232 A->offloadmask = PETSC_OFFLOAD_CPU; in MatBindToCPU_H2OPUS() 1233 } else if (!flg && A->offloadmask == PETSC_OFFLOAD_CPU) { in MatBindToCPU_H2OPUS() 1249 A->offloadmask = PETSC_OFFLOAD_GPU; in MatBindToCPU_H2OPUS() 1371 A->offloadmask = PETSC_OFFLOAD_CPU; in MatH2OpusOrthogonalize() 1391 A->offloadmask = PETSC_OFFLOAD_CPU; in MatH2OpusOrthogonalize() 1461 A->offloadmask = PETSC_OFFLOAD_CPU; in MatH2OpusCompress() 1493 A->offloadmask = PETSC_OFFLOAD_CPU; in MatH2OpusCompress()
|
| /petsc/src/mat/impls/aij/seq/seqhipsparse/ |
| H A D | aijhipsparse.hip.cxx | 209 B->offloadmask = PETSC_OFFLOAD_CPU; in MatLUFactorNumeric_SeqAIJHIPSPARSE() 274 if (A->offloadmask == PETSC_OFFLOAD_UNALLOCATED || A->offloadmask == PETSC_OFFLOAD_CPU) { in MatSeqAIJHIPSPARSEBuildILULowerTriMatrix() 396 if (A->offloadmask == PETSC_OFFLOAD_UNALLOCATED || A->offloadmask == PETSC_OFFLOAD_CPU) { in MatSeqAIJHIPSPARSEBuildILUUpperTriMatrix() 512 A->offloadmask = PETSC_OFFLOAD_BOTH; in MatSeqAIJHIPSPARSEILUAnalysisAndCopyToGPU() 554 if (A->offloadmask == PETSC_OFFLOAD_UNALLOCATED || A->offloadmask == PETSC_OFFLOAD_CPU) { in MatSeqAIJHIPSPARSEBuildICCTriMatrices() 731 A->offloadmask = PETSC_OFFLOAD_BOTH; in MatSeqAIJHIPSPARSEICCAnalysisAndCopyToGPU() 762 B->offloadmask = PETSC_OFFLOAD_CPU; in MatCholeskyFactorNumeric_SeqAIJHIPSPARSE() 1384 fact->offloadmask = PETSC_OFFLOAD_GPU; in MatILUFactorNumeric_SeqAIJHIPSPARSE_ILU0() 1418 fact->offloadmask = PETSC_OFFLOAD_BOTH; in MatILUFactorSymbolic_SeqAIJHIPSPARSE_ILU0() 1629 fact->offloadmask = PETSC_OFFLOAD_GPU; in MatICCFactorNumeric_SeqAIJHIPSPARSE_ICC0() [all …]
|
| /petsc/src/mat/impls/aij/seq/seqcusparse/ |
| H A D | aijcusparse.cu | 212 if (A->offloadmask == PETSC_OFFLOAD_CPU) { // A's latest factors are on CPU in MatSeqAIJCUSPARSEBuildFactoredMatrix_LU() 319 if (A->offloadmask == PETSC_OFFLOAD_UNALLOCATED || A->offloadmask == PETSC_OFFLOAD_CPU) { in MatSeqAIJCUSPARSEBuildILULowerTriMatrix() 451 if (A->offloadmask == PETSC_OFFLOAD_UNALLOCATED || A->offloadmask == PETSC_OFFLOAD_CPU) { in MatSeqAIJCUSPARSEBuildILUUpperTriMatrix() 590 A->offloadmask = PETSC_OFFLOAD_BOTH; // factored matrix is sync'ed to GPU in MatSeqAIJCUSPARSEILUAnalysisAndCopyToGPU() 630 if (A->offloadmask == PETSC_OFFLOAD_CPU) { // A's latest factors are on CPU in MatSeqAIJCUSPARSEBuildFactoredMatrix_Cholesky() 789 if (A->offloadmask == PETSC_OFFLOAD_UNALLOCATED || A->offloadmask == PETSC_OFFLOAD_CPU) { in MatSeqAIJCUSPARSEBuildICCTriMatrices() 990 A->offloadmask = PETSC_OFFLOAD_BOTH; in MatSeqAIJCUSPARSEICCAnalysisAndCopyToGPU() 1018 B->offloadmask = PETSC_OFFLOAD_CPU; in MatCholeskyFactorNumeric_SeqAIJCUSPARSE() 1749 fact->offloadmask = PETSC_OFFLOAD_GPU; in MatILUFactorNumeric_SeqAIJCUSPARSE_ILU0() 1784 fact->offloadmask = PETSC_OFFLOAD_BOTH; in MatILUFactorSymbolic_SeqAIJCUSPARSE_ILU0() [all …]
|
| /petsc/src/mat/impls/aij/seq/ |
| H A D | matptap.c | 211 if (C->offloadmask != PETSC_OFFLOAD_UNALLOCATED) C->offloadmask = PETSC_OFFLOAD_CPU; in MatPtAPNumeric_SeqAIJ_SeqAIJ_SparseAxpy()
|
| H A D | matmatmult.c | 309 if (C->offloadmask != PETSC_OFFLOAD_UNALLOCATED) C->offloadmask = PETSC_OFFLOAD_CPU; in MatMatMultNumeric_SeqAIJ_SeqAIJ_Sorted() 370 if (C->offloadmask != PETSC_OFFLOAD_UNALLOCATED) C->offloadmask = PETSC_OFFLOAD_CPU; in MatMatMultNumeric_SeqAIJ_SeqAIJ_Scalable()
|
| /petsc/src/mat/impls/sell/seq/seqhip/ |
| H A D | sellhip.hip.cxx | 44 if (A->offloadmask == PETSC_OFFLOAD_UNALLOCATED || A->offloadmask == PETSC_OFFLOAD_CPU) { in MatSeqSELLHIPCopyToGPU() 73 A->offloadmask = PETSC_OFFLOAD_BOTH; in MatSeqSELLHIPCopyToGPU() 926 if (both) A->offloadmask = PETSC_OFFLOAD_BOTH; in MatZeroEntries_SeqSELLHIP() 927 else A->offloadmask = PETSC_OFFLOAD_CPU; in MatZeroEntries_SeqSELLHIP() 934 …if (A->factortype == MAT_FACTOR_NONE && A->offloadmask != PETSC_OFFLOAD_UNALLOCATED) PetscCall(Mat… in MatDestroy_SeqSELLHIP() 975 B->offloadmask = PETSC_OFFLOAD_UNALLOCATED; in MatConvert_SeqSELL_SeqSELLHIP()
|
| /petsc/src/mat/impls/sell/seq/seqcuda/ |
| H A D | sellcuda.cu | 41 if (A->offloadmask == PETSC_OFFLOAD_UNALLOCATED || A->offloadmask == PETSC_OFFLOAD_CPU) { in MatSeqSELLCUDACopyToGPU() 70 A->offloadmask = PETSC_OFFLOAD_BOTH; in MatSeqSELLCUDACopyToGPU() 933 if (both) A->offloadmask = PETSC_OFFLOAD_BOTH; in MatZeroEntries_SeqSELLCUDA() 934 else A->offloadmask = PETSC_OFFLOAD_CPU; in MatZeroEntries_SeqSELLCUDA() 941 …if (A->factortype == MAT_FACTOR_NONE && A->offloadmask != PETSC_OFFLOAD_UNALLOCATED) PetscCall(Mat… in MatDestroy_SeqSELLCUDA() 982 B->offloadmask = PETSC_OFFLOAD_UNALLOCATED; in MatConvert_SeqSELL_SeqSELLCUDA()
|
| /petsc/src/mat/impls/aij/mpi/ |
| H A D | mpimatmatmult.c | 120 if (C->offloadmask != PETSC_OFFLOAD_UNALLOCATED) C->offloadmask = PETSC_OFFLOAD_CPU; in MatMatMultNumeric_MPIAIJ_MPIAIJ_nonscalable() 121 if (c->A->offloadmask != PETSC_OFFLOAD_UNALLOCATED) c->A->offloadmask = PETSC_OFFLOAD_CPU; in MatMatMultNumeric_MPIAIJ_MPIAIJ_nonscalable() 122 if (c->B->offloadmask != PETSC_OFFLOAD_UNALLOCATED) c->B->offloadmask = PETSC_OFFLOAD_CPU; in MatMatMultNumeric_MPIAIJ_MPIAIJ_nonscalable() 684 if (C->offloadmask != PETSC_OFFLOAD_UNALLOCATED) C->offloadmask = PETSC_OFFLOAD_CPU; in MatMatMultNumeric_MPIAIJ_MPIAIJ() 685 if (c->A->offloadmask != PETSC_OFFLOAD_UNALLOCATED) c->A->offloadmask = PETSC_OFFLOAD_CPU; in MatMatMultNumeric_MPIAIJ_MPIAIJ() 686 if (c->B->offloadmask != PETSC_OFFLOAD_UNALLOCATED) c->B->offloadmask = PETSC_OFFLOAD_CPU; in MatMatMultNumeric_MPIAIJ_MPIAIJ()
|
| /petsc/src/vec/vec/impls/seq/cupm/ |
| H A D | vecseqcupm_impl.hpp | 381 w->offloadmask = v->offloadmask; in GetLocalVector() 393 w->offloadmask = PETSC_OFFLOAD_CPU; in GetLocalVector() 418 v->offloadmask = util::exchange(w->offloadmask, PETSC_OFFLOAD_UNALLOCATED); in RestoreLocalVector() 1424 const auto xmask = xin->offloadmask; in CopyAsync() 1431 switch (const auto ymask = yout->offloadmask) { in CopyAsync()
|
| /petsc/src/mat/impls/dense/mpi/ |
| H A D | mpidense.c | 1209 x->offloadmask = d->A->offloadmask; in MatSetRandom_MPIDense() 1393 mat->offloadmask = a->A->offloadmask; in MatMPIDenseSetPreallocation_MPIDense() 1688 a->cmat->offloadmask = c->A->offloadmask; in MatDenseGetSubMatrix_MPIDense() 1709 A->offloadmask = a->A->offloadmask; in MatDenseRestoreSubMatrix_MPIDense() 1870 mat->offloadmask = PETSC_OFFLOAD_CPU; in MatDensePlaceArray() 1927 mat->offloadmask = PETSC_OFFLOAD_CPU; in MatDenseReplaceArray()
|
| /petsc/src/mat/impls/sell/seq/ |
| H A D | sell.c | 1038 if (A->offloadmask != PETSC_OFFLOAD_UNALLOCATED) A->offloadmask = PETSC_OFFLOAD_CPU; in MatDiagonalScale_SeqSELL() 1617 if (A->offloadmask != PETSC_OFFLOAD_UNALLOCATED && inserted) A->offloadmask = PETSC_OFFLOAD_CPU; in MatSetValues_SeqSELL() 1672 if (inA->offloadmask != PETSC_OFFLOAD_UNALLOCATED) inA->offloadmask = PETSC_OFFLOAD_CPU; in MatScale_SeqSELL() 2423 if (A->offloadmask != PETSC_OFFLOAD_UNALLOCATED) A->offloadmask = PETSC_OFFLOAD_CPU; in MatConjugate_SeqSELL()
|
| /petsc/src/vec/vec/impls/seq/kokkos/ |
| H A D | veckok.kokkos.cxx | 678 if (yin->offloadmask == PETSC_OFFLOAD_KOKKOS) { in VecCopy_SeqKokkos() 975 if (xin->offloadmask != PETSC_OFFLOAD_KOKKOS || yin->offloadmask != PETSC_OFFLOAD_KOKKOS) { in VecPointwiseMult_SeqKokkos() 1013 if (xin->offloadmask != PETSC_OFFLOAD_KOKKOS || yin->offloadmask != PETSC_OFFLOAD_KOKKOS) { in VecPointwiseDivide_SeqKokkos() 1694 …v->offloadmask = PETSC_OFFLOAD_KOKKOS; // Mark this is a VECKOKKOS; We use this flag for cheap VEC… in VecCreate_SeqKokkos_Common()
|
| /petsc/src/mat/impls/aij/mpi/mpihipsparse/ |
| H A D | mpiaijhipsparse.hip.cxx | 77 mat->offloadmask = PETSC_OFFLOAD_CPU; in MatSetPreallocationCOO_MPIAIJHIPSPARSE() 236 mat->offloadmask = PETSC_OFFLOAD_GPU; in MatSetValuesCOO_MPIAIJHIPSPARSE()
|
| /petsc/src/mat/impls/aij/mpi/mpicusparse/ |
| H A D | mpiaijcusparse.cu | 77 mat->offloadmask = PETSC_OFFLOAD_CPU; in MatSetPreallocationCOO_MPIAIJCUSPARSE() 236 mat->offloadmask = PETSC_OFFLOAD_GPU; in MatSetValuesCOO_MPIAIJCUSPARSE()
|
| /petsc/src/mat/impls/dense/seq/ |
| H A D | dense.c | 1014 …PetscCheck(A->offloadmask != PETSC_OFFLOAD_GPU, PETSC_COMM_SELF, PETSC_ERR_SUP, "Not implemented"); in MatSOR_SeqDense() 1291 oldf = A->offloadmask; in MatSetValues_SeqDense() 1292 A->offloadmask = PETSC_OFFLOAD_GPU; in MatSetValues_SeqDense() 1296 …A->offloadmask = (oldf == PETSC_OFFLOAD_UNALLOCATED ? PETSC_OFFLOAD_UNALLOCATED : PETSC_OFFLOAD_CP… in MatSetValues_SeqDense() 1671 A->offloadmask = PETSC_OFFLOAD_CPU; in MatDensePlaceArray_SeqDense() 1687 A->offloadmask = PETSC_OFFLOAD_CPU; in MatDenseResetArray_SeqDense() 1703 A->offloadmask = PETSC_OFFLOAD_CPU; in MatDenseReplaceArray_SeqDense() 2199 A->offloadmask = PETSC_OFFLOAD_CPU; in MatDenseRestoreArray() 2295 A->offloadmask = PETSC_OFFLOAD_CPU; in MatDenseRestoreArrayWrite() 3520 A->offloadmask = PETSC_OFFLOAD_CPU; in MatDenseGetSubMatrix_SeqDense() [all …]
|