snapshot of svn
This commit is contained in:
63
src/CUDA/CudaGreensFunction.cuh
Normal file
63
src/CUDA/CudaGreensFunction.cuh
Normal file
@@ -0,0 +1,63 @@
|
||||
#ifndef H_CUDA_GREENSFUNCTION
|
||||
#define H_CUDA_GREENSFUNCTION
|
||||
|
||||
#include <iostream>
|
||||
#include <math.h>
|
||||
|
||||
#include <cuda.h>
|
||||
#include <cuda_runtime.h>
|
||||
#include <cuComplex.h>
|
||||
#include "cublas_v2.h"
|
||||
|
||||
|
||||
#include "CudaBase.cuh"
|
||||
|
||||
class CudaGreensFunction {
|
||||
|
||||
private:
|
||||
|
||||
bool base_create;
|
||||
CudaBase *m_base;
|
||||
|
||||
public:
|
||||
|
||||
/** Constructor with CudaBase argument */
|
||||
CudaGreensFunction(CudaBase *base);
|
||||
|
||||
/* constructor */
|
||||
CudaGreensFunction();
|
||||
|
||||
/* destructor */
|
||||
~CudaGreensFunction();
|
||||
|
||||
/*
|
||||
Info: calc itegral on device memory (taken from OPAL src code)
|
||||
Return: success or error code
|
||||
*/
|
||||
int cuda_GreensIntegral(void *tmpptr, int I, int J, int K, int NI, int NJ,
|
||||
double hr_m0, double hr_m1, double hr_m2,
|
||||
int streamId = -1);
|
||||
|
||||
/*
|
||||
Info: integration of rho2_m field (taken from OPAL src code)
|
||||
Return: success or error code
|
||||
*/
|
||||
int cuda_IntegrationGreensFunction(void *rho2_m, void *tmpgreen, int I, int J, int K,
|
||||
int streamId = -1);
|
||||
|
||||
/*
|
||||
Info: mirror rho field (taken from OPAL src code)
|
||||
Return: succes or error code
|
||||
*/
|
||||
int cuda_MirrorRhoField(void *mem_ptr, int I, int J, int K, int streamId = -1);
|
||||
|
||||
/*
|
||||
Info: multiply complex fields already on the GPU memory, result will be put in ptr1
|
||||
Return: success or error code
|
||||
*/
|
||||
int cuda_MultiplyCompelxFields(void *ptr1, void *ptr2, int size, int streamId = -1);
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user