Xmipp  v3.23.11-Nereus
Public Member Functions | Public Attributes | List of all members
GpuCorrelationAux Class Reference

#include <cuda_gpu_correlation.h>

Collaboration diagram for GpuCorrelationAux:
Collaboration graph
[legend]

Public Member Functions

void produceSideInfo (mycufftHandle &myhandlePadded, mycufftHandle &myhandleMask, StructuresAux &myStructureAux, myStreamHandle &myStream)
 
void produceSideInfo (mycufftHandle &myhandlePadded, mycufftHandle &myhandleMask, StructuresAux &myStructureAux, GpuMultidimArrayAtGpu< float > &maskAutocorr, myStreamHandle &myStream)
 
void produceSideInfo (mycufftHandle &myhandlePadded, mycufftHandle &myhandleMask, StructuresAux &myStructureAux, GpuMultidimArrayAtGpu< float > &maskAutocorr, myStreamHandle &myStream, bool skip, mycufftHandle &ifftcb)
 

Public Attributes

GpuMultidimArrayAtGpu< float > d_original_image
 
GpuMultidimArrayAtGpu< float > d_transform_image
 
GpuMultidimArrayAtGpu< std::complex< float > > d_projFFT
 
GpuMultidimArrayAtGpu< std::complex< float > > d_projSquaredFFT
 
GpuMultidimArrayAtGpu< std::complex< float > > d_projPolarFFT
 
GpuMultidimArrayAtGpu< std::complex< float > > d_projPolarSquaredFFT
 
GpuMultidimArrayAtGpu< std::complex< float > > d_maskFFT
 
GpuMultidimArrayAtGpu< float > maskAutocorrelation
 
int maskCount
 
size_t Xdim
 
size_t Ydim
 
size_t XdimOrig
 
size_t YdimOrig
 
size_t XdimPolar
 
size_t YdimPolar
 
GpuMultidimArrayAtGpu< float > d_denom
 
GpuMultidimArrayAtGpu< float > MFrealSpace
 
GpuMultidimArrayAtGpu< float > MF2realSpace
 
GpuMultidimArrayAtGpu< float > d_mask
 

Detailed Description

Definition at line 32 of file cuda_gpu_correlation.h.

Member Function Documentation

◆ produceSideInfo() [1/3]

void GpuCorrelationAux::produceSideInfo ( mycufftHandle myhandlePadded,
mycufftHandle myhandleMask,
StructuresAux myStructureAux,
myStreamHandle myStream 
)

Definition at line 1042 of file cuda_gpu_correlation.cpp.

1044 {
1045  myStructureAux.MF.resize(d_projFFT);
1046  myStructureAux.MF2.resize(d_projSquaredFFT);
1048 
1050  myStructureAux.MF2, myStream, maskAux);
1051 
1054 
1056 
1057  myStructureAux.MF.ifftStream(MFrealSpace, myhandlePaddedB, myStream, false, dull);
1058  myStructureAux.MF2.ifftStream(MF2realSpace, myhandlePaddedB, myStream, false, dull);
1059 
1061  maskAux.ifftStream(maskAutocorrelation, myhandleMaskB, myStream, false, dull);
1062  maskAux.clear();
1063 
1064 }
void resize(const GpuMultidimArrayAtGpu< T1 > &array)
GpuMultidimArrayAtGpu< float > maskAutocorrelation
GpuMultidimArrayAtGpu< std::complex< float > > d_projFFT
void ifftStream(GpuMultidimArrayAtGpu< T1 > &realSpace, mycufftHandle &myhandle, myStreamHandle &myStream, bool useCallback, GpuMultidimArrayAtGpu< std::complex< float > > &dataExp)
GpuMultidimArrayAtGpu< std::complex< float > > MF2
GpuMultidimArrayAtGpu< std::complex< float > > d_projSquaredFFT
GpuMultidimArrayAtGpu< float > MF2realSpace
GpuMultidimArrayAtGpu< float > MFrealSpace
void pointwiseMultiplicationFourier_three(const GpuMultidimArrayAtGpu< std::complex< float > > &M, const GpuMultidimArrayAtGpu< std::complex< float > > &manyF, GpuMultidimArrayAtGpu< std::complex< float > > &MmanyF, const GpuMultidimArrayAtGpu< std::complex< float > > &manyF_sq, GpuMultidimArrayAtGpu< std::complex< float > > &MmanyF_sq, myStreamHandle &myStream, GpuMultidimArrayAtGpu< std::complex< float > > &maskAux)
GpuMultidimArrayAtGpu< std::complex< float > > MF
GpuMultidimArrayAtGpu< std::complex< float > > d_maskFFT

◆ produceSideInfo() [2/3]

void GpuCorrelationAux::produceSideInfo ( mycufftHandle myhandlePadded,
mycufftHandle myhandleMask,
StructuresAux myStructureAux,
GpuMultidimArrayAtGpu< float > &  maskAutocorr,
myStreamHandle myStream 
)

Definition at line 1068 of file cuda_gpu_correlation.cpp.

1070 {
1071 
1072  myStructureAux.MF.resize(d_projFFT);
1073  myStructureAux.MF2.resize(d_projSquaredFFT);
1074 
1075 
1077  myStructureAux.MF2, myStream);
1078 
1080 
1083 
1084  myStructureAux.MF.ifftStream(MFrealSpace, myhandlePaddedB, myStream, false, dull);
1085  myStructureAux.MF2.ifftStream(MF2realSpace, myhandlePaddedB, myStream, false, dull);
1086 
1087  maskAutocorr.copyGpuToGpuStream(maskAutocorrelation, myStream);
1088 
1089 }
void resize(const GpuMultidimArrayAtGpu< T1 > &array)
GpuMultidimArrayAtGpu< float > maskAutocorrelation
GpuMultidimArrayAtGpu< std::complex< float > > d_projFFT
void ifftStream(GpuMultidimArrayAtGpu< T1 > &realSpace, mycufftHandle &myhandle, myStreamHandle &myStream, bool useCallback, GpuMultidimArrayAtGpu< std::complex< float > > &dataExp)
GpuMultidimArrayAtGpu< std::complex< float > > MF2
void pointwiseMultiplicationFourier_two(const GpuMultidimArrayAtGpu< std::complex< float > > &M, const GpuMultidimArrayAtGpu< std::complex< float > > &manyF, GpuMultidimArrayAtGpu< std::complex< float > > &MmanyF, const GpuMultidimArrayAtGpu< std::complex< float > > &manyF_sq, GpuMultidimArrayAtGpu< std::complex< float > > &MmanyF_sq, myStreamHandle &myStream)
GpuMultidimArrayAtGpu< std::complex< float > > d_projSquaredFFT
GpuMultidimArrayAtGpu< float > MF2realSpace
GpuMultidimArrayAtGpu< float > MFrealSpace
GpuMultidimArrayAtGpu< std::complex< float > > MF
void copyGpuToGpuStream(GpuMultidimArrayAtGpu< T > &gpuArray, myStreamHandle &myStream)
GpuMultidimArrayAtGpu< std::complex< float > > d_maskFFT

◆ produceSideInfo() [3/3]

void GpuCorrelationAux::produceSideInfo ( mycufftHandle myhandlePadded,
mycufftHandle myhandleMask,
StructuresAux myStructureAux,
GpuMultidimArrayAtGpu< float > &  maskAutocorr,
myStreamHandle myStream,
bool  skip,
mycufftHandle ifftcb 
)

Definition at line 1092 of file cuda_gpu_correlation.cpp.

1095 {
1096 
1098 
1101 
1102  d_projFFT.ifftStream(MFrealSpace, ifftcb, myStream, true, d_maskFFT);
1103  d_projSquaredFFT.ifftStream(MF2realSpace, ifftcb, myStream, true, d_maskFFT);
1104 
1105  maskAutocorr.copyGpuToGpuStream(maskAutocorrelation, myStream);
1106 
1107 
1108 }
void resize(const GpuMultidimArrayAtGpu< T1 > &array)
GpuMultidimArrayAtGpu< float > maskAutocorrelation
GpuMultidimArrayAtGpu< std::complex< float > > d_projFFT
void ifftStream(GpuMultidimArrayAtGpu< T1 > &realSpace, mycufftHandle &myhandle, myStreamHandle &myStream, bool useCallback, GpuMultidimArrayAtGpu< std::complex< float > > &dataExp)
GpuMultidimArrayAtGpu< std::complex< float > > d_projSquaredFFT
GpuMultidimArrayAtGpu< float > MF2realSpace
GpuMultidimArrayAtGpu< float > MFrealSpace
void copyGpuToGpuStream(GpuMultidimArrayAtGpu< T > &gpuArray, myStreamHandle &myStream)
GpuMultidimArrayAtGpu< std::complex< float > > d_maskFFT

Member Data Documentation

◆ d_denom

GpuMultidimArrayAtGpu< float > GpuCorrelationAux::d_denom

Definition at line 46 of file cuda_gpu_correlation.h.

◆ d_mask

GpuMultidimArrayAtGpu<float> GpuCorrelationAux::d_mask

Definition at line 49 of file cuda_gpu_correlation.h.

◆ d_maskFFT

GpuMultidimArrayAtGpu< std::complex<float> > GpuCorrelationAux::d_maskFFT

Definition at line 40 of file cuda_gpu_correlation.h.

◆ d_original_image

GpuMultidimArrayAtGpu<float> GpuCorrelationAux::d_original_image

Definition at line 34 of file cuda_gpu_correlation.h.

◆ d_projFFT

GpuMultidimArrayAtGpu< std::complex<float> > GpuCorrelationAux::d_projFFT

Definition at line 36 of file cuda_gpu_correlation.h.

◆ d_projPolarFFT

GpuMultidimArrayAtGpu< std::complex<float> > GpuCorrelationAux::d_projPolarFFT

Definition at line 38 of file cuda_gpu_correlation.h.

◆ d_projPolarSquaredFFT

GpuMultidimArrayAtGpu< std::complex<float> > GpuCorrelationAux::d_projPolarSquaredFFT

Definition at line 39 of file cuda_gpu_correlation.h.

◆ d_projSquaredFFT

GpuMultidimArrayAtGpu< std::complex<float> > GpuCorrelationAux::d_projSquaredFFT

Definition at line 37 of file cuda_gpu_correlation.h.

◆ d_transform_image

GpuMultidimArrayAtGpu<float> GpuCorrelationAux::d_transform_image

Definition at line 35 of file cuda_gpu_correlation.h.

◆ maskAutocorrelation

GpuMultidimArrayAtGpu<float> GpuCorrelationAux::maskAutocorrelation

Definition at line 41 of file cuda_gpu_correlation.h.

◆ maskCount

int GpuCorrelationAux::maskCount

Definition at line 42 of file cuda_gpu_correlation.h.

◆ MF2realSpace

GpuMultidimArrayAtGpu< float > GpuCorrelationAux::MF2realSpace

Definition at line 47 of file cuda_gpu_correlation.h.

◆ MFrealSpace

GpuMultidimArrayAtGpu< float > GpuCorrelationAux::MFrealSpace

Definition at line 47 of file cuda_gpu_correlation.h.

◆ Xdim

size_t GpuCorrelationAux::Xdim

Definition at line 43 of file cuda_gpu_correlation.h.

◆ XdimOrig

size_t GpuCorrelationAux::XdimOrig

Definition at line 43 of file cuda_gpu_correlation.h.

◆ XdimPolar

size_t GpuCorrelationAux::XdimPolar

Definition at line 43 of file cuda_gpu_correlation.h.

◆ Ydim

size_t GpuCorrelationAux::Ydim

Definition at line 43 of file cuda_gpu_correlation.h.

◆ YdimOrig

size_t GpuCorrelationAux::YdimOrig

Definition at line 43 of file cuda_gpu_correlation.h.

◆ YdimPolar

size_t GpuCorrelationAux::YdimPolar

Definition at line 43 of file cuda_gpu_correlation.h.


The documentation for this class was generated from the following files: