Lines Matching refs:link
232 static PetscErrorCode Pack(PetscSFLink link, PetscInt count, PetscInt start, PetscSFPackOpt opt, co… in Pack() argument
235 …const PetscInt M = EQ ? 1 : link->bs / BS, MBS = M * BS; /* If EQ, then MBS will be a compil… in Pack()
254 static PetscErrorCode UnpackAndOp(PetscSFLink link, PetscInt count, PetscInt start, PetscSFPackOpt … in UnpackAndOp() argument
258 const PetscInt M = EQ ? 1 : link->bs / BS, MBS = M * BS; in UnpackAndOp()
274 static PetscErrorCode FetchAndOp(PetscSFLink link, PetscInt count, PetscInt start, PetscSFPackOpt o… in FetchAndOp() argument
278 const PetscInt M = EQ ? 1 : link->bs / BS, MBS = M * BS; in FetchAndOp()
293 static PetscErrorCode ScatterAndOp(PetscSFLink link, PetscInt count, PetscInt srcStart, PetscSFPack… in ScatterAndOp() argument
296 const PetscInt M = (EQ) ? 1 : link->bs / BS, MBS = M * BS; in ScatterAndOp()
358 static PetscErrorCode ScatterAndInsert(PetscSFLink link, PetscInt count, PetscInt srcStart, PetscSF… in ScatterAndInsert() argument
368 size_t sz = count * link->unitbytes; in ScatterAndInsert()
369 deviceBuffer_t dbuf(reinterpret_cast<char *>(dst + dstStart * link->bs), sz); in ScatterAndInsert()
370 deviceConstBuffer_t sbuf(reinterpret_cast<const char *>(src + srcStart * link->bs), sz); in ScatterAndInsert()
373 …PetscCall(ScatterAndOp<Type, Insert<Type>, BS, EQ>(link, count, srcStart, srcOpt, srcIdx, src, dst… in ScatterAndInsert()
379 static PetscErrorCode FetchAndOpLocal(PetscSFLink link, PetscInt count, PetscInt rootstart, PetscSF… in FetchAndOpLocal() argument
382 const PetscInt M = (EQ) ? 1 : link->bs / BS, MBS = M * BS; in FetchAndOpLocal()
403 static void PackInit_RealType(PetscSFLink link) in PackInit_RealType() argument
406 link->d_Pack = Pack<Type, BS, EQ>; in PackInit_RealType()
407 link->d_UnpackAndInsert = UnpackAndOp<Type, Insert<Type>, BS, EQ>; in PackInit_RealType()
408 link->d_UnpackAndAdd = UnpackAndOp<Type, Add<Type>, BS, EQ>; in PackInit_RealType()
409 link->d_UnpackAndMult = UnpackAndOp<Type, Mult<Type>, BS, EQ>; in PackInit_RealType()
410 link->d_UnpackAndMin = UnpackAndOp<Type, Min<Type>, BS, EQ>; in PackInit_RealType()
411 link->d_UnpackAndMax = UnpackAndOp<Type, Max<Type>, BS, EQ>; in PackInit_RealType()
412 link->d_FetchAndAdd = FetchAndOp<Type, Add<Type>, BS, EQ>; in PackInit_RealType()
414 link->d_ScatterAndInsert = ScatterAndInsert<Type, BS, EQ>; /* Has special optimizations */ in PackInit_RealType()
415 link->d_ScatterAndAdd = ScatterAndOp<Type, Add<Type>, BS, EQ>; in PackInit_RealType()
416 link->d_ScatterAndMult = ScatterAndOp<Type, Mult<Type>, BS, EQ>; in PackInit_RealType()
417 link->d_ScatterAndMin = ScatterAndOp<Type, Min<Type>, BS, EQ>; in PackInit_RealType()
418 link->d_ScatterAndMax = ScatterAndOp<Type, Max<Type>, BS, EQ>; in PackInit_RealType()
419 link->d_FetchAndAddLocal = FetchAndOpLocal<Type, Add<Type>, BS, EQ>; in PackInit_RealType()
421 link->da_UnpackAndInsert = UnpackAndOp<Type, AtomicInsert<Type>, BS, EQ>; in PackInit_RealType()
422 link->da_UnpackAndAdd = UnpackAndOp<Type, AtomicAdd<Type>, BS, EQ>; in PackInit_RealType()
423 link->da_UnpackAndMult = UnpackAndOp<Type, AtomicMult<Type>, BS, EQ>; in PackInit_RealType()
424 link->da_UnpackAndMin = UnpackAndOp<Type, AtomicMin<Type>, BS, EQ>; in PackInit_RealType()
425 link->da_UnpackAndMax = UnpackAndOp<Type, AtomicMax<Type>, BS, EQ>; in PackInit_RealType()
426 link->da_FetchAndAdd = FetchAndOp<Type, AtomicFetchAdd<Type>, BS, EQ>; in PackInit_RealType()
428 link->da_ScatterAndInsert = ScatterAndOp<Type, AtomicInsert<Type>, BS, EQ>; in PackInit_RealType()
429 link->da_ScatterAndAdd = ScatterAndOp<Type, AtomicAdd<Type>, BS, EQ>; in PackInit_RealType()
430 link->da_ScatterAndMult = ScatterAndOp<Type, AtomicMult<Type>, BS, EQ>; in PackInit_RealType()
431 link->da_ScatterAndMin = ScatterAndOp<Type, AtomicMin<Type>, BS, EQ>; in PackInit_RealType()
432 link->da_ScatterAndMax = ScatterAndOp<Type, AtomicMax<Type>, BS, EQ>; in PackInit_RealType()
433 link->da_FetchAndAddLocal = FetchAndOpLocal<Type, AtomicFetchAdd<Type>, BS, EQ>; in PackInit_RealType()
437 static void PackInit_IntegerType(PetscSFLink link) in PackInit_IntegerType() argument
439 link->d_Pack = Pack<Type, BS, EQ>; in PackInit_IntegerType()
440 link->d_UnpackAndInsert = UnpackAndOp<Type, Insert<Type>, BS, EQ>; in PackInit_IntegerType()
441 link->d_UnpackAndAdd = UnpackAndOp<Type, Add<Type>, BS, EQ>; in PackInit_IntegerType()
442 link->d_UnpackAndMult = UnpackAndOp<Type, Mult<Type>, BS, EQ>; in PackInit_IntegerType()
443 link->d_UnpackAndMin = UnpackAndOp<Type, Min<Type>, BS, EQ>; in PackInit_IntegerType()
444 link->d_UnpackAndMax = UnpackAndOp<Type, Max<Type>, BS, EQ>; in PackInit_IntegerType()
445 link->d_UnpackAndLAND = UnpackAndOp<Type, LAND<Type>, BS, EQ>; in PackInit_IntegerType()
446 link->d_UnpackAndLOR = UnpackAndOp<Type, LOR<Type>, BS, EQ>; in PackInit_IntegerType()
447 link->d_UnpackAndLXOR = UnpackAndOp<Type, LXOR<Type>, BS, EQ>; in PackInit_IntegerType()
448 link->d_UnpackAndBAND = UnpackAndOp<Type, BAND<Type>, BS, EQ>; in PackInit_IntegerType()
449 link->d_UnpackAndBOR = UnpackAndOp<Type, BOR<Type>, BS, EQ>; in PackInit_IntegerType()
450 link->d_UnpackAndBXOR = UnpackAndOp<Type, BXOR<Type>, BS, EQ>; in PackInit_IntegerType()
451 link->d_FetchAndAdd = FetchAndOp<Type, Add<Type>, BS, EQ>; in PackInit_IntegerType()
453 link->d_ScatterAndInsert = ScatterAndInsert<Type, BS, EQ>; in PackInit_IntegerType()
454 link->d_ScatterAndAdd = ScatterAndOp<Type, Add<Type>, BS, EQ>; in PackInit_IntegerType()
455 link->d_ScatterAndMult = ScatterAndOp<Type, Mult<Type>, BS, EQ>; in PackInit_IntegerType()
456 link->d_ScatterAndMin = ScatterAndOp<Type, Min<Type>, BS, EQ>; in PackInit_IntegerType()
457 link->d_ScatterAndMax = ScatterAndOp<Type, Max<Type>, BS, EQ>; in PackInit_IntegerType()
458 link->d_ScatterAndLAND = ScatterAndOp<Type, LAND<Type>, BS, EQ>; in PackInit_IntegerType()
459 link->d_ScatterAndLOR = ScatterAndOp<Type, LOR<Type>, BS, EQ>; in PackInit_IntegerType()
460 link->d_ScatterAndLXOR = ScatterAndOp<Type, LXOR<Type>, BS, EQ>; in PackInit_IntegerType()
461 link->d_ScatterAndBAND = ScatterAndOp<Type, BAND<Type>, BS, EQ>; in PackInit_IntegerType()
462 link->d_ScatterAndBOR = ScatterAndOp<Type, BOR<Type>, BS, EQ>; in PackInit_IntegerType()
463 link->d_ScatterAndBXOR = ScatterAndOp<Type, BXOR<Type>, BS, EQ>; in PackInit_IntegerType()
464 link->d_FetchAndAddLocal = FetchAndOpLocal<Type, Add<Type>, BS, EQ>; in PackInit_IntegerType()
466 link->da_UnpackAndInsert = UnpackAndOp<Type, AtomicInsert<Type>, BS, EQ>; in PackInit_IntegerType()
467 link->da_UnpackAndAdd = UnpackAndOp<Type, AtomicAdd<Type>, BS, EQ>; in PackInit_IntegerType()
468 link->da_UnpackAndMult = UnpackAndOp<Type, AtomicMult<Type>, BS, EQ>; in PackInit_IntegerType()
469 link->da_UnpackAndMin = UnpackAndOp<Type, AtomicMin<Type>, BS, EQ>; in PackInit_IntegerType()
470 link->da_UnpackAndMax = UnpackAndOp<Type, AtomicMax<Type>, BS, EQ>; in PackInit_IntegerType()
471 link->da_UnpackAndLAND = UnpackAndOp<Type, AtomicLAND<Type>, BS, EQ>; in PackInit_IntegerType()
472 link->da_UnpackAndLOR = UnpackAndOp<Type, AtomicLOR<Type>, BS, EQ>; in PackInit_IntegerType()
473 link->da_UnpackAndBAND = UnpackAndOp<Type, AtomicBAND<Type>, BS, EQ>; in PackInit_IntegerType()
474 link->da_UnpackAndBOR = UnpackAndOp<Type, AtomicBOR<Type>, BS, EQ>; in PackInit_IntegerType()
475 link->da_UnpackAndBXOR = UnpackAndOp<Type, AtomicBXOR<Type>, BS, EQ>; in PackInit_IntegerType()
476 link->da_FetchAndAdd = FetchAndOp<Type, AtomicFetchAdd<Type>, BS, EQ>; in PackInit_IntegerType()
478 link->da_ScatterAndInsert = ScatterAndOp<Type, AtomicInsert<Type>, BS, EQ>; in PackInit_IntegerType()
479 link->da_ScatterAndAdd = ScatterAndOp<Type, AtomicAdd<Type>, BS, EQ>; in PackInit_IntegerType()
480 link->da_ScatterAndMult = ScatterAndOp<Type, AtomicMult<Type>, BS, EQ>; in PackInit_IntegerType()
481 link->da_ScatterAndMin = ScatterAndOp<Type, AtomicMin<Type>, BS, EQ>; in PackInit_IntegerType()
482 link->da_ScatterAndMax = ScatterAndOp<Type, AtomicMax<Type>, BS, EQ>; in PackInit_IntegerType()
483 link->da_ScatterAndLAND = ScatterAndOp<Type, AtomicLAND<Type>, BS, EQ>; in PackInit_IntegerType()
484 link->da_ScatterAndLOR = ScatterAndOp<Type, AtomicLOR<Type>, BS, EQ>; in PackInit_IntegerType()
485 link->da_ScatterAndBAND = ScatterAndOp<Type, AtomicBAND<Type>, BS, EQ>; in PackInit_IntegerType()
486 link->da_ScatterAndBOR = ScatterAndOp<Type, AtomicBOR<Type>, BS, EQ>; in PackInit_IntegerType()
487 link->da_ScatterAndBXOR = ScatterAndOp<Type, AtomicBXOR<Type>, BS, EQ>; in PackInit_IntegerType()
488 link->da_FetchAndAddLocal = FetchAndOpLocal<Type, AtomicFetchAdd<Type>, BS, EQ>; in PackInit_IntegerType()
493 static void PackInit_ComplexType(PetscSFLink link) in PackInit_ComplexType() argument
495 link->d_Pack = Pack<Type, BS, EQ>; in PackInit_ComplexType()
496 link->d_UnpackAndInsert = UnpackAndOp<Type, Insert<Type>, BS, EQ>; in PackInit_ComplexType()
497 link->d_UnpackAndAdd = UnpackAndOp<Type, Add<Type>, BS, EQ>; in PackInit_ComplexType()
498 link->d_UnpackAndMult = UnpackAndOp<Type, Mult<Type>, BS, EQ>; in PackInit_ComplexType()
499 link->d_FetchAndAdd = FetchAndOp<Type, Add<Type>, BS, EQ>; in PackInit_ComplexType()
501 link->d_ScatterAndInsert = ScatterAndInsert<Type, BS, EQ>; in PackInit_ComplexType()
502 link->d_ScatterAndAdd = ScatterAndOp<Type, Add<Type>, BS, EQ>; in PackInit_ComplexType()
503 link->d_ScatterAndMult = ScatterAndOp<Type, Mult<Type>, BS, EQ>; in PackInit_ComplexType()
504 link->d_FetchAndAddLocal = FetchAndOpLocal<Type, Add<Type>, BS, EQ>; in PackInit_ComplexType()
506 link->da_UnpackAndInsert = UnpackAndOp<Type, AtomicInsert<Type>, BS, EQ>; in PackInit_ComplexType()
507 link->da_UnpackAndAdd = UnpackAndOp<Type, AtomicAdd<Type>, BS, EQ>; in PackInit_ComplexType()
508 link->da_UnpackAndMult = UnpackAndOp<Type, AtomicMult<Type>, BS, EQ>; in PackInit_ComplexType()
509 link->da_FetchAndAdd = FetchAndOp<Type, AtomicFetchAdd<Type>, BS, EQ>; in PackInit_ComplexType()
511 link->da_ScatterAndInsert = ScatterAndOp<Type, AtomicInsert<Type>, BS, EQ>; in PackInit_ComplexType()
512 link->da_ScatterAndAdd = ScatterAndOp<Type, AtomicAdd<Type>, BS, EQ>; in PackInit_ComplexType()
513 link->da_ScatterAndMult = ScatterAndOp<Type, AtomicMult<Type>, BS, EQ>; in PackInit_ComplexType()
514 link->da_FetchAndAddLocal = FetchAndOpLocal<Type, AtomicFetchAdd<Type>, BS, EQ>; in PackInit_ComplexType()
519 static void PackInit_PairType(PetscSFLink link) in PackInit_PairType() argument
521 link->d_Pack = Pack<Type, 1, 1>; in PackInit_PairType()
522 link->d_UnpackAndInsert = UnpackAndOp<Type, Insert<Type>, 1, 1>; in PackInit_PairType()
523 link->d_UnpackAndMaxloc = UnpackAndOp<Type, Maxloc<Type>, 1, 1>; in PackInit_PairType()
524 link->d_UnpackAndMinloc = UnpackAndOp<Type, Minloc<Type>, 1, 1>; in PackInit_PairType()
526 link->d_ScatterAndInsert = ScatterAndOp<Type, Insert<Type>, 1, 1>; in PackInit_PairType()
527 link->d_ScatterAndMaxloc = ScatterAndOp<Type, Maxloc<Type>, 1, 1>; in PackInit_PairType()
528 link->d_ScatterAndMinloc = ScatterAndOp<Type, Minloc<Type>, 1, 1>; in PackInit_PairType()
533 static void PackInit_DumbType(PetscSFLink link) in PackInit_DumbType() argument
535 link->d_Pack = Pack<Type, BS, EQ>; in PackInit_DumbType()
536 link->d_UnpackAndInsert = UnpackAndOp<Type, Insert<Type>, BS, EQ>; in PackInit_DumbType()
537 link->d_ScatterAndInsert = ScatterAndInsert<Type, BS, EQ>; in PackInit_DumbType()
559 static PetscErrorCode PetscSFLinkSyncDevice_Kokkos(PetscSFLink PETSC_UNUSED link) in PetscSFLinkSyncDevice_Kokkos() argument
566 static PetscErrorCode PetscSFLinkSyncStream_Kokkos(PetscSFLink PETSC_UNUSED link) in PetscSFLinkSyncStream_Kokkos() argument
575 static PetscErrorCode PetscSFLinkMemcpy_Kokkos(PetscSFLink PETSC_UNUSED link, PetscMemType dstmtype… in PetscSFLinkMemcpy_Kokkos() argument
627 static PetscErrorCode PetscSFLinkDestroy_Kokkos(PetscSF sf, PetscSFLink link) in PetscSFLinkDestroy_Kokkos() argument
631 PetscCall(PetscSFFree(sf, PETSC_MEMTYPE_DEVICE, link->rootbuf_alloc[i][PETSC_MEMTYPE_DEVICE])); in PetscSFLinkDestroy_Kokkos()
632 PetscCall(PetscSFFree(sf, PETSC_MEMTYPE_DEVICE, link->leafbuf_alloc[i][PETSC_MEMTYPE_DEVICE])); in PetscSFLinkDestroy_Kokkos()
638 PetscErrorCode PetscSFLinkSetUp_Kokkos(PetscSF PETSC_UNUSED sf, PetscSFLink link, MPI_Datatype unit) in PetscSFLinkSetUp_Kokkos() argument
647 if (link->deviceinited) PetscFunctionReturn(PETSC_SUCCESS); in PetscSFLinkSetUp_Kokkos()
662 PackInit_PairType<Kokkos::pair<int, int>>(link); in PetscSFLinkSetUp_Kokkos()
664 PackInit_PairType<Kokkos::pair<PetscInt, PetscInt>>(link); in PetscSFLinkSetUp_Kokkos()
667 if (nPetscReal == 8) PackInit_RealType<PetscReal, 8, 1>(link); in PetscSFLinkSetUp_Kokkos()
668 else if (nPetscReal % 8 == 0) PackInit_RealType<PetscReal, 8, 0>(link); in PetscSFLinkSetUp_Kokkos()
669 else if (nPetscReal == 4) PackInit_RealType<PetscReal, 4, 1>(link); in PetscSFLinkSetUp_Kokkos()
670 else if (nPetscReal % 4 == 0) PackInit_RealType<PetscReal, 4, 0>(link); in PetscSFLinkSetUp_Kokkos()
671 else if (nPetscReal == 2) PackInit_RealType<PetscReal, 2, 1>(link); in PetscSFLinkSetUp_Kokkos()
672 else if (nPetscReal % 2 == 0) PackInit_RealType<PetscReal, 2, 0>(link); in PetscSFLinkSetUp_Kokkos()
673 else if (nPetscReal == 1) PackInit_RealType<PetscReal, 1, 1>(link); in PetscSFLinkSetUp_Kokkos()
676 PackInit_RealType<PetscReal, 1, 0>(link); in PetscSFLinkSetUp_Kokkos()
679 if (nPetscInt == 8) PackInit_IntegerType<llint, 8, 1>(link); in PetscSFLinkSetUp_Kokkos()
680 else if (nPetscInt % 8 == 0) PackInit_IntegerType<llint, 8, 0>(link); in PetscSFLinkSetUp_Kokkos()
681 else if (nPetscInt == 4) PackInit_IntegerType<llint, 4, 1>(link); in PetscSFLinkSetUp_Kokkos()
682 else if (nPetscInt % 4 == 0) PackInit_IntegerType<llint, 4, 0>(link); in PetscSFLinkSetUp_Kokkos()
683 else if (nPetscInt == 2) PackInit_IntegerType<llint, 2, 1>(link); in PetscSFLinkSetUp_Kokkos()
684 else if (nPetscInt % 2 == 0) PackInit_IntegerType<llint, 2, 0>(link); in PetscSFLinkSetUp_Kokkos()
685 else if (nPetscInt == 1) PackInit_IntegerType<llint, 1, 1>(link); in PetscSFLinkSetUp_Kokkos()
688 PackInit_IntegerType<llint, 1, 0>(link); in PetscSFLinkSetUp_Kokkos()
691 if (nInt == 8) PackInit_IntegerType<int, 8, 1>(link); in PetscSFLinkSetUp_Kokkos()
692 else if (nInt % 8 == 0) PackInit_IntegerType<int, 8, 0>(link); in PetscSFLinkSetUp_Kokkos()
693 else if (nInt == 4) PackInit_IntegerType<int, 4, 1>(link); in PetscSFLinkSetUp_Kokkos()
694 else if (nInt % 4 == 0) PackInit_IntegerType<int, 4, 0>(link); in PetscSFLinkSetUp_Kokkos()
695 else if (nInt == 2) PackInit_IntegerType<int, 2, 1>(link); in PetscSFLinkSetUp_Kokkos()
696 else if (nInt % 2 == 0) PackInit_IntegerType<int, 2, 0>(link); in PetscSFLinkSetUp_Kokkos()
697 else if (nInt == 1) PackInit_IntegerType<int, 1, 1>(link); in PetscSFLinkSetUp_Kokkos()
700 PackInit_IntegerType<int, 1, 0>(link); in PetscSFLinkSetUp_Kokkos()
703 if (nSignedChar == 8) PackInit_IntegerType<char, 8, 1>(link); in PetscSFLinkSetUp_Kokkos()
704 else if (nSignedChar % 8 == 0) PackInit_IntegerType<char, 8, 0>(link); in PetscSFLinkSetUp_Kokkos()
705 else if (nSignedChar == 4) PackInit_IntegerType<char, 4, 1>(link); in PetscSFLinkSetUp_Kokkos()
706 else if (nSignedChar % 4 == 0) PackInit_IntegerType<char, 4, 0>(link); in PetscSFLinkSetUp_Kokkos()
707 else if (nSignedChar == 2) PackInit_IntegerType<char, 2, 1>(link); in PetscSFLinkSetUp_Kokkos()
708 else if (nSignedChar % 2 == 0) PackInit_IntegerType<char, 2, 0>(link); in PetscSFLinkSetUp_Kokkos()
709 else if (nSignedChar == 1) PackInit_IntegerType<char, 1, 1>(link); in PetscSFLinkSetUp_Kokkos()
712 PackInit_IntegerType<char, 1, 0>(link); in PetscSFLinkSetUp_Kokkos()
715 if (nUnsignedChar == 8) PackInit_IntegerType<unsigned char, 8, 1>(link); in PetscSFLinkSetUp_Kokkos()
716 else if (nUnsignedChar % 8 == 0) PackInit_IntegerType<unsigned char, 8, 0>(link); in PetscSFLinkSetUp_Kokkos()
717 else if (nUnsignedChar == 4) PackInit_IntegerType<unsigned char, 4, 1>(link); in PetscSFLinkSetUp_Kokkos()
718 else if (nUnsignedChar % 4 == 0) PackInit_IntegerType<unsigned char, 4, 0>(link); in PetscSFLinkSetUp_Kokkos()
719 else if (nUnsignedChar == 2) PackInit_IntegerType<unsigned char, 2, 1>(link); in PetscSFLinkSetUp_Kokkos()
720 else if (nUnsignedChar % 2 == 0) PackInit_IntegerType<unsigned char, 2, 0>(link); in PetscSFLinkSetUp_Kokkos()
721 else if (nUnsignedChar == 1) PackInit_IntegerType<unsigned char, 1, 1>(link); in PetscSFLinkSetUp_Kokkos()
724 PackInit_IntegerType<unsigned char, 1, 0>(link); in PetscSFLinkSetUp_Kokkos()
728 if (nPetscComplex == 8) PackInit_ComplexType<Kokkos::complex<PetscReal>, 8, 1>(link); in PetscSFLinkSetUp_Kokkos()
729 else if (nPetscComplex % 8 == 0) PackInit_ComplexType<Kokkos::complex<PetscReal>, 8, 0>(link); in PetscSFLinkSetUp_Kokkos()
730 else if (nPetscComplex == 4) PackInit_ComplexType<Kokkos::complex<PetscReal>, 4, 1>(link); in PetscSFLinkSetUp_Kokkos()
731 else if (nPetscComplex % 4 == 0) PackInit_ComplexType<Kokkos::complex<PetscReal>, 4, 0>(link); in PetscSFLinkSetUp_Kokkos()
732 else if (nPetscComplex == 2) PackInit_ComplexType<Kokkos::complex<PetscReal>, 2, 1>(link); in PetscSFLinkSetUp_Kokkos()
733 else if (nPetscComplex % 2 == 0) PackInit_ComplexType<Kokkos::complex<PetscReal>, 2, 0>(link); in PetscSFLinkSetUp_Kokkos()
734 else if (nPetscComplex == 1) PackInit_ComplexType<Kokkos::complex<PetscReal>, 1, 1>(link); in PetscSFLinkSetUp_Kokkos()
737 PackInit_ComplexType<Kokkos::complex<PetscReal>, 1, 0>(link); in PetscSFLinkSetUp_Kokkos()
745 if (nbyte == 4) PackInit_DumbType<char, 4, 1>(link); in PetscSFLinkSetUp_Kokkos()
746 else if (nbyte % 4 == 0) PackInit_DumbType<char, 4, 0>(link); in PetscSFLinkSetUp_Kokkos()
747 else if (nbyte == 2) PackInit_DumbType<char, 2, 1>(link); in PetscSFLinkSetUp_Kokkos()
748 else if (nbyte % 2 == 0) PackInit_DumbType<char, 2, 0>(link); in PetscSFLinkSetUp_Kokkos()
749 else if (nbyte == 1) PackInit_DumbType<char, 1, 1>(link); in PetscSFLinkSetUp_Kokkos()
752 PackInit_DumbType<char, 1, 0>(link); in PetscSFLinkSetUp_Kokkos()
756 if (nInt == 8) PackInit_DumbType<int, 8, 1>(link); in PetscSFLinkSetUp_Kokkos()
757 else if (nInt % 8 == 0) PackInit_DumbType<int, 8, 0>(link); in PetscSFLinkSetUp_Kokkos()
758 else if (nInt == 4) PackInit_DumbType<int, 4, 1>(link); in PetscSFLinkSetUp_Kokkos()
759 else if (nInt % 4 == 0) PackInit_DumbType<int, 4, 0>(link); in PetscSFLinkSetUp_Kokkos()
760 else if (nInt == 2) PackInit_DumbType<int, 2, 1>(link); in PetscSFLinkSetUp_Kokkos()
761 else if (nInt % 2 == 0) PackInit_DumbType<int, 2, 0>(link); in PetscSFLinkSetUp_Kokkos()
762 else if (nInt == 1) PackInit_DumbType<int, 1, 1>(link); in PetscSFLinkSetUp_Kokkos()
765 PackInit_DumbType<int, 1, 0>(link); in PetscSFLinkSetUp_Kokkos()
769 link->SyncDevice = PetscSFLinkSyncDevice_Kokkos; in PetscSFLinkSetUp_Kokkos()
770 link->SyncStream = PetscSFLinkSyncStream_Kokkos; in PetscSFLinkSetUp_Kokkos()
771 link->Memcpy = PetscSFLinkMemcpy_Kokkos; in PetscSFLinkSetUp_Kokkos()
772 link->Destroy = PetscSFLinkDestroy_Kokkos; in PetscSFLinkSetUp_Kokkos()
773 link->deviceinited = PETSC_TRUE; in PetscSFLinkSetUp_Kokkos()