Xmipp  v3.23.11-Nereus
Classes | Macros | Functions
Collaboration diagram for Cuda Xmipp Utils:

Classes

class  mycufftHandle
 
class  myStreamHandle
 
class  XmippDim3
 
class  TransformMatrix< T >
 
class  GpuMultidimArrayAtGpu< T >
 

Macros

#define CONVERT2DIM3(d)   (dim3((d).x,(d).y,(d).z))
 

Functions

template<typename T >
T * loadToGPU (const T *data, size_t items)
 
void cuda_check_gpu_memory (float *data)
 
void cuda_check_gpu_properties (int *maxGridSize)
 

Detailed Description

Macro Definition Documentation

◆ CONVERT2DIM3

#define CONVERT2DIM3 (   d)    (dim3((d).x,(d).y,(d).z))

Definition at line 92 of file cuda_xmipp_utils.h.

Function Documentation

◆ cuda_check_gpu_memory()

void cuda_check_gpu_memory ( float *  data)

Definition at line 323 of file cuda_xmipp_utils.cpp.

324 {
325  size_t free_byte, total_byte;
326  gpuErrchk(cudaMemGetInfo(&free_byte, &total_byte));
327 
328  float free_db = (float)free_byte;
329  float total_db = (float)total_byte;
330  float used_db = total_db - free_db;
331 
332  data[0]=total_db;
333  data[1]=free_db;
334  data[2]=used_db;
335 }
#define gpuErrchk(code)
Definition: cuda_asserts.h:31

◆ cuda_check_gpu_properties()

void cuda_check_gpu_properties ( int *  maxGridSize)

Definition at line 337 of file cuda_xmipp_utils.cpp.

338 {
339  cudaDeviceProp prop;
340  cudaGetDeviceProperties(&prop, 0);
341  grid[0] = prop.maxGridSize[0];
342  grid[1] = prop.maxGridSize[1];
343  grid[2] = prop.maxGridSize[2];
344 }

◆ loadToGPU()

template<typename T >
T* loadToGPU ( const T *  data,
size_t  items 
)

Definition at line 401 of file cuda_xmipp_utils.cpp.

401  {
402 T* d_data;
403 size_t bytes = items * sizeof(T);
404 gpuErrchk(cudaMalloc(&d_data, bytes));
405 gpuErrchk(cudaMemcpy(d_data, data, bytes, cudaMemcpyHostToDevice));
406 return d_data;
407 }
#define gpuErrchk(code)
Definition: cuda_asserts.h:31