45template <>
struct KernelTrait<double,
Arch::
GPU> {
46 using CollisionModelThermalized =
47 pystencils::CollideSweepDoublePrecisionThermalizedCUDA;
48 using CollisionModelLeesEdwards =
49 pystencils::CollideSweepDoublePrecisionLeesEdwardsCUDA;
50 using StreamSweep = pystencils::StreamSweepDoublePrecisionCUDA;
51 using InitialPDFsSetter = pystencils::InitialPDFsSetterDoublePrecisionCUDA;
54template <>
struct KernelTrait<float,
Arch::
GPU> {
55 using CollisionModelThermalized =
56 pystencils::CollideSweepSinglePrecisionThermalizedCUDA;
57 using CollisionModelLeesEdwards =
58 pystencils::CollideSweepSinglePrecisionLeesEdwardsCUDA;
59 using StreamSweep = pystencils::StreamSweepSinglePrecisionCUDA;
60 using InitialPDFsSetter = pystencils::InitialPDFsSetterSinglePrecisionCUDA;
63template <>
struct BoundaryHandlingTrait<double,
Arch::
GPU> {
64 using Dynamic_UBB = lbm::Dynamic_UBB_double_precisionCUDA;
67template <>
struct BoundaryHandlingTrait<float,
Arch::
GPU> {
68 using Dynamic_UBB = lbm::Dynamic_UBB_single_precisionCUDA;