@@ -27,11 +27,14 @@ use rust_cuda::{
2727 error:: { CudaError , CudaResult } ,
2828 function:: { BlockSize , Function , GridSize } ,
2929 } ,
30+ safety:: NoAliasing ,
3031} ;
3132
3233use rustcoalescence_algorithms_cuda_gpu_kernel:: {
33- BitonicGlobalSortSteppableKernel , BitonicSharedSortPreparableKernel ,
34- BitonicSharedSortSteppableKernel , EvenOddSortableKernel , SimulatableKernel ,
34+ BitonicGlobalSortStepKernelPtx , BitonicGlobalSortSteppableKernel ,
35+ BitonicSharedSortPrepKernelPtx , BitonicSharedSortPreparableKernel ,
36+ BitonicSharedSortStepKernelPtx , BitonicSharedSortSteppableKernel , EvenOddSortKernelPtx ,
37+ EvenOddSortableKernel , SimulatableKernel , SimulationKernelPtx ,
3538} ;
3639
3740mod link;
@@ -83,17 +86,17 @@ pub struct SimulationKernel<
8386
8487impl <
8588 M : MathsCore ,
86- H : Habitat < M > + RustToCuda ,
87- G : Rng < M , Generator : PrimeableRng > + RustToCuda ,
88- S : LineageStore < M , H > + RustToCuda ,
89- X : EmigrationExit < M , H , G , S > + RustToCuda ,
90- D : DispersalSampler < M , H , G > + RustToCuda ,
91- C : CoalescenceSampler < M , H , S > + RustToCuda ,
92- T : TurnoverRate < M , H > + RustToCuda ,
93- N : SpeciationProbability < M , H > + RustToCuda ,
94- E : MinSpeciationTrackingEventSampler < M , H , G , S , X , D , C , T , N > + RustToCuda ,
95- I : ImmigrationEntry < M > + RustToCuda ,
96- A : SingularActiveLineageSampler < M , H , G , S , X , D , C , T , N , E , I > + RustToCuda ,
89+ H : Habitat < M > + RustToCuda + NoAliasing ,
90+ G : Rng < M , Generator : PrimeableRng > + RustToCuda + NoAliasing ,
91+ S : LineageStore < M , H > + RustToCuda + NoAliasing ,
92+ X : EmigrationExit < M , H , G , S > + RustToCuda + NoAliasing ,
93+ D : DispersalSampler < M , H , G > + RustToCuda + NoAliasing ,
94+ C : CoalescenceSampler < M , H , S > + RustToCuda + NoAliasing ,
95+ T : TurnoverRate < M , H > + RustToCuda + NoAliasing ,
96+ N : SpeciationProbability < M , H > + RustToCuda + NoAliasing ,
97+ E : MinSpeciationTrackingEventSampler < M , H , G , S , X , D , C , T , N > + RustToCuda + NoAliasing ,
98+ I : ImmigrationEntry < M > + RustToCuda + NoAliasing ,
99+ A : SingularActiveLineageSampler < M , H , G , S , X , D , C , T , N , E , I > + RustToCuda + NoAliasing ,
97100 ReportSpeciation : Boolean ,
98101 ReportDispersal : Boolean ,
99102 > SimulationKernel < M , H , G , S , X , D , C , T , N , E , I , A , ReportSpeciation , ReportDispersal >
0 commit comments