XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
gen_perm.hpp
Go to the documentation of this file.
1 #ifndef GEN_PERM_HPP
2 #define GEN_PERM_HPP
3 #include <Kokkos_Core.hpp>
4 #include "species.hpp"
5 
6 // Gen perm class
7 template<class Device>
9 
10  public:
11 
12  KOKKOS_INLINE_FUNCTION void ZeroCount(const int i) const;
13  KOKKOS_INLINE_FUNCTION void FillCount(const int i,const TmpSpecies<Device> &tmp_species) const;
14  KOKKOS_INLINE_FUNCTION void LocalCount(const int i) const;
15  KOKKOS_INLINE_FUNCTION void SectCount(const int i) const;
16  KOKKOS_INLINE_FUNCTION void CountOffset(const int i) const;
17  KOKKOS_INLINE_FUNCTION void WritePerm(const int i,const TmpSpecies<Device> &tmp_species) const;
18 
19  void get_sort_count(int *sort_count_out) const;
20 
21  Kokkos::View<int*,Kokkos::LayoutRight,Device> sort_count;
22  Kokkos::View<unsigned int*,Kokkos::LayoutRight,Device> sort_place;
23  Kokkos::View<int*,Kokkos::LayoutRight,Device> sort_igroup;
24 
25  Kokkos::View<int*,Kokkos::LayoutRight,Device> params;
26  int h_params[4];
27 
28  GeneratePermutation(int nbins);
29 
30 };
31 
32 template<class Device>
34 
35 #include "gen_perm.tpp"
36 #endif
int h_params[4]
Definition: gen_perm.hpp:26
GeneratePermutation(int nbins)
Definition: gen_perm.tpp:12
void get_perm_array(const GeneratePermutation< Device > &gen_perm, const TmpSpecies< Device > &tmp_species)
Definition: gen_perm.tpp:35
Kokkos::View< int *, Kokkos::LayoutRight, Device > sort_count
How many particles in each bin.
Definition: gen_perm.hpp:21
void get_sort_count(int *sort_count_out) const
Definition: gen_perm.tpp:135
KOKKOS_INLINE_FUNCTION void ZeroCount(const int i) const
Definition: gen_perm.tpp:85
KOKKOS_INLINE_FUNCTION void LocalCount(const int i) const
Definition: gen_perm.tpp:110
Kokkos::View< unsigned int *, Kokkos::LayoutRight, Device > sort_place
Where we are in the particle list.
Definition: gen_perm.hpp:22
subroutine gen_perm(ilo, ihi, jlo, jhi, guess_min, inv_guess_d, n, gid, x, y, iperm)
Definition: gen_perm.F90:1
Kokkos::View< int *, Kokkos::LayoutRight, Device > sort_igroup
Which group is currently being evaluated.
Definition: gen_perm.hpp:23
KOKKOS_INLINE_FUNCTION void WritePerm(const int i, const TmpSpecies< Device > &tmp_species) const
Definition: gen_perm.tpp:101
Kokkos::View< int *, Kokkos::LayoutRight, Device > params
Definition: gen_perm.hpp:25
KOKKOS_INLINE_FUNCTION void CountOffset(const int i) const
Definition: gen_perm.tpp:125
KOKKOS_INLINE_FUNCTION void SectCount(const int i) const
Definition: gen_perm.tpp:75
Definition: species.hpp:71
KOKKOS_INLINE_FUNCTION void FillCount(const int i, const TmpSpecies< Device > &tmp_species) const
Definition: gen_perm.tpp:93
Definition: gen_perm.hpp:8