1 /* ---------------------------------------------------------------------- 2 SPARTA - Stochastic PArallel Rarefied-gas Time-accurate Analyzer 3 http://sparta.sandia.gov 4 Steve Plimpton, sjplimp@sandia.gov, Michael Gallis, magalli@sandia.gov 5 Sandia National Laboratories 6 7 Copyright (2014) Sandia Corporation. Under the terms of Contract 8 DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains 9 certain rights in this software. This software is distributed under 10 the GNU General Public License. 11 12 See the README file in the top-level SPARTA directory. 13 ------------------------------------------------------------------------- */ 14 15 #ifdef COMPUTE_CLASS 16 17 ComputeStyle(distsurf/grid/kk,ComputeDistSurfGridKokkos) 18 19 #else 20 21 #ifndef SPARTA_COMPUTE_DISTSURF_GRID_KOKKOS_H 22 #define SPARTA_COMPUTE_DISTSURF_GRID_KOKKOS_H 23 24 #include "compute_distsurf_grid.h" 25 #include "kokkos_base.h" 26 #include "kokkos_type.h" 27 28 namespace SPARTA_NS { 29 30 struct TagComputeDistSurfGrid_surf_centroid{}; 31 struct TagComputeDistSurfGrid_surf_distance{}; 32 33 class ComputeDistSurfGridKokkos : public ComputeDistSurfGrid, public KokkosBase { 34 public: 35 ComputeDistSurfGridKokkos(class SPARTA *, int, char **); 36 ~ComputeDistSurfGridKokkos(); 37 void compute_per_grid(); 38 void compute_per_grid_kokkos(); 39 void reallocate(); 40 41 KOKKOS_INLINE_FUNCTION 42 void operator()(TagComputeDistSurfGrid_surf_centroid, const int&) const; 43 44 KOKKOS_INLINE_FUNCTION 45 void operator()(TagComputeDistSurfGrid_surf_distance, const int&) const; 46 47 DAT::tdual_float_1d k_vector_grid; 48 49 private: 50 51 DAT::tdual_int_1d k_eflag; 52 DAT::tdual_int_1d k_slist; 53 DAT::t_int_1d d_eflag; 54 DAT::t_int_1d d_slist; 55 HAT::t_int_1d h_eflag; 56 HAT::t_int_1d h_slist; 57 DAT::t_float_1d_3 d_sctr; 58 t_cinfo_1d d_cinfo; 59 t_cell_1d d_cells; 60 Kokkos::Crs<int, DeviceType, void, int> d_csurfs; 61 Kokkos::Crs<int, DeviceType, void, int> d_csubs; 62 63 t_line_1d d_lines; 64 t_tri_1d d_tris; 65 int dim; 66 int nsurf; 67 }; 68 69 } 70 71 #endif 72 #endif 73 74 /* ERROR/WARNING messages: 75 76 E: Illegal ... command 77 78 Self-explanatory. Check the input script syntax and compare to the 79 documentation for the command. You can use -echo screen as a 80 command-line option when running SPARTA to see the offending line. 81 82 */ 83