49template <>
struct KernelTrait<double,
Arch::
GPU> {
50 using CollisionModelThermalized =
51 pystencils::CollideSweepDoublePrecisionThermalizedCUDA;
52 using CollisionModelLeesEdwards =
53 pystencils::CollideSweepDoublePrecisionLeesEdwardsCUDA;
54 using StreamSweep = pystencils::StreamSweepDoublePrecisionCUDA;
55 using InitialPDFsSetter = pystencils::InitialPDFsSetterDoublePrecisionCUDA;
56 using PackInfoPdf = pystencils::PackInfoPdfDoublePrecisionCUDA;
57 using PackInfoVec = pystencils::PackInfoVecDoublePrecisionCUDA;
60template <>
struct KernelTrait<float,
Arch::
GPU> {
61 using CollisionModelThermalized =
62 pystencils::CollideSweepSinglePrecisionThermalizedCUDA;
63 using CollisionModelLeesEdwards =
64 pystencils::CollideSweepSinglePrecisionLeesEdwardsCUDA;
65 using StreamSweep = pystencils::StreamSweepSinglePrecisionCUDA;
66 using InitialPDFsSetter = pystencils::InitialPDFsSetterSinglePrecisionCUDA;
67 using PackInfoPdf = pystencils::PackInfoPdfSinglePrecisionCUDA;
68 using PackInfoVec = pystencils::PackInfoVecSinglePrecisionCUDA;
71template <>
struct BoundaryHandlingTrait<double,
Arch::
GPU> {
72 using Dynamic_UBB = lbm::Dynamic_UBB_double_precisionCUDA;
75template <>
struct BoundaryHandlingTrait<float,
Arch::
GPU> {
76 using Dynamic_UBB = lbm::Dynamic_UBB_single_precisionCUDA;
\file PackInfoPdfDoublePrecision.cpp \author pystencils