1#if defined(PARTICLES) && defined(PARTICLES_GPU)
3 #ifndef PARTICLES_BOUNDARIES_H
4 #define PARTICLES_BOUNDARIES_H
6part_int_t Select_Particles_to_Transfer_GPU_function(part_int_t n_local,
int side, Real domainMin, Real domainMax,
7 Real *pos_d,
int *n_transfer_d,
int *n_transfer_h,
8 bool *transfer_flags_d,
int *transfer_indices_d,
9 int *replace_indices_d,
int *transfer_prefix_sum_d,
10 int *transfer_prefix_sum_blocks_d);
12void Load_Particles_to_Transfer_GPU_function(
int n_transfer,
int field_id,
int n_fields_to_transfer, Real *field_d,
13 int *transfer_indices_d, Real *send_buffer_d, Real domainMin,
14 Real domainMax,
int boundary_type);
15void Load_Particles_to_Transfer_Int_GPU_function(
int n_transfer,
int field_id,
int n_fields_to_transfer,
16 part_int_t *field_d,
int *transfer_indices_d, Real *send_buffer_d,
17 Real domainMin, Real domainMax,
int boundary_type);
19void Replace_Transfered_Particles_GPU_function(
int n_transfer, Real *field_d,
int *transfer_indices_d,
20 int *replace_indices_d,
bool print_replace);
21void Replace_Transfered_Particles_Int_GPU_function(
int n_transfer, part_int_t *field_d,
int *transfer_indices_d,
22 int *replace_indices_d,
bool print_replace);
24void Copy_Particles_GPU_Buffer_to_Host_Buffer(
int n_transfer, Real *buffer_h, Real *buffer_d);
26void Copy_Particles_Host_Buffer_to_GPU_Buffer(
int n_transfer, Real *buffer_h, Real *buffer_d);
28void Unload_Particles_to_Transfer_GPU_function(
int n_local,
int n_transfer,
int field_id,
int n_fields_to_transfer,
29 Real *field_d, Real *recv_buffer_d);
30void Unload_Particles_Int_to_Transfer_GPU_function(
int n_local,
int n_transfer,
int field_id,
int n_fields_to_transfer,
31 part_int_t *field_d, Real *recv_buffer_d);