ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
P3M electrostatics on GPU. More...
#include "p3m/math.hpp"
#include "p3m_gpu_error.hpp"
#include "cuda/utils.cuh"
#include <utils/math/int_pow.hpp>
#include <utils/math/sqr.hpp>
#include <thrust/device_vector.h>
#include <thrust/reduce.h>
#include <cuda.h>
#include <algorithm>
#include <cstddef>
#include <numbers>
Go to the source code of this file.
Functions | |
template<int cao> | |
__global__ void | p3m_k_space_error_gpu_kernel_ik (int3 mesh, double3 meshi, double alpha_L, double *he_q) |
double | p3m_k_space_error_gpu (double prefactor, const int *mesh, int cao, int npart, double sum_q2, double alpha_L, const double *box) |
P3M electrostatics on GPU.
The corresponding header file is p3m_gpu_error.hpp.
Definition in file p3m_gpu_error_cuda.cu.
double p3m_k_space_error_gpu | ( | double | prefactor, |
const int * | mesh, | ||
int | cao, | ||
int | npart, | ||
double | sum_q2, | ||
double | alpha_L, | ||
const double * | box | ||
) |
Definition at line 87 of file p3m_gpu_error_cuda.cu.
References block(), and KERNELCALL.
Referenced by CoulombTuningAlgorithm< FloatType, Architecture >::calculate_accuracy().
__global__ void p3m_k_space_error_gpu_kernel_ik | ( | int3 | mesh, |
double3 | meshi, | ||
double | alpha_L, | ||
double * | he_q | ||
) |
Definition at line 48 of file p3m_gpu_error_cuda.cu.
References Utils::int_pow(), ROUND_ERROR_PREC, math::sinc(), and Utils::sqr().