12#include "../global/global.h"
13#include "../utils/gpu.hpp"
18extern bool memory_allocated;
25extern Real *dev_conserved, *dev_conserved_half;
30extern Real *Q_Lx, *Q_Rx, *Q_Ly, *Q_Ry, *Q_Lz, *Q_Rz, *F_x, *F_y, *F_z;
32extern Real *ctElectricFields;
35extern Real *dev_grav_potential;
36extern Real *temp_potential;
37extern Real *buffer_potential;
41__device__
inline int sgn_CUDA(Real x)
51#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600
53__device__
double atomicAdd(
double *address,
double val)
55 unsigned long long int *address_as_ull = (
unsigned long long int *)address;
56 unsigned long long int old = *address_as_ull, assumed;
59 old = atomicCAS(address_as_ull, assumed, __double_as_longlong(val + __longlong_as_double(assumed)));
60 }
while (assumed != old);
61 return __longlong_as_double(old);
67#define kernel_printf printf