#include <Kokkos_Core.hpp>
#include "timer_macro.hpp"
#include "globals.hpp"
#include "species.hpp"
#include "send_particles.hpp"
Functions | |
void | set_buffer_particles (const TmpSpecies< DeviceType > &tmp_species, int n_ptl) |
void | set_buffer_phase0 (const TmpSpecies< DeviceType > &tmp_species, int n_ptl) |
void | copy_particles_from_device (Species< DeviceType > &species, const TmpSpecies< DeviceType > &tmp_species) |
void | copy_particles_to_device (TmpSpecies< DeviceType > &tmp_species, const Species< DeviceType > &species) |
void copy_particles_from_device | ( | Species< DeviceType > & | species, |
const TmpSpecies< DeviceType > & | tmp_species | ||
) |
Copies particles to the host (Fortran particle AoSoA) from the device (Cabana AoSoA data structure) by getting the pointer to the Fortran particles and wrapping that in an unmanaged Cabana AoSoA.
[in] | species | contains the CPU particles |
[in,out] | tmp_species | is the object containing the particles on device |
void copy_particles_to_device | ( | TmpSpecies< DeviceType > & | tmp_species, |
const Species< DeviceType > & | species | ||
) |
Copies particles from the host (Fortran particle AoSoA) to the device (Cabana AoSoA data structure) by getting the pointer to the Fortran particles and wrapping that in an unmanaged Cabana AoSoA.
[in] | species | contains the CPU particles |
[in,out] | tmp_species | is the object containing the particles on device |
void set_buffer_particles | ( | const TmpSpecies< DeviceType > & | tmp_species, |
int | n_ptl | ||
) |
Fills the remainder of the last AoSoA vector with realistic-looking particles (clones of the final particle). Since gid is set to -1, they will basically act as tracers in the kernel. Ideally garbage data in this buffer doesn't affect anything, but better to be safe here
[in,out] | tmp_species | is the object containing the particles on device |
void set_buffer_phase0 | ( | const TmpSpecies< DeviceType > & | tmp_species, |
int | n_ptl | ||
) |
Fills the remainder of the last AoSoA phase0 vector with realistic-looking particles (clones of the final particle). Since gid is set to -1, they will basically act as tracers in the kernel. Ideally garbage data in this buffer doesn't affect anything, but better to be safe here
[in,out] | tmp_species | is the object containing the particles on device |