21 const float* __restrict__ ParStep_gpu,
22 const float* __restrict__ ParamSums_gpu,
23 float* NumeratorSum_gpu,
53 float *NumeratorSum_cpu,
Class responsible for performing MCMC Processing with GPU.
__host__ void InitGPU_AutoCorr(int n_Entries, int n_Pars, const int n_Lags)
KS: Initialiser, here we allocate memory for variables and copy constants.
virtual ~MCMCProcessorGPU()
destructor
__host__ void CleanupGPU_AutoCorr()
KS: free memory on gpu.
MCMCProcessorGPU()
constructor
__host__ void CopyToGPU_AutoCorr(float *ParStep_cpu, float *NumeratorSum_cpu, float *ParamSums_cpu, float *DenomSum_cpu)
KS: Copy necessary variables from CPU to GPU.
__host__ void RunGPU_AutoCorr(float *NumeratorSum_cpu, float *DenomSum_cpu)
KS: This call the main kernel responsible for calculating LagL and later copy results back to CPU.
float * ParStep_gpu
Value of each param at GPU.
__global__ void EvalOnGPU_AutoCorr(const float *__restrict__ ParStep_gpu, const float *__restrict__ ParamSums_gpu, float *NumeratorSum_gpu, float *DenomSum_gpu)
Eval autocorrelations based on Box and Jenkins.
Common CUDA utilities and definitions for shared GPU functionality.