I would like to make the equivalent of a double loop in on of my kernel for a hilbert transform process.
global void HilbertEnvelope_kernel (float* rfData_d, float* rfData_i)
long samples = blockIdx.yblockDim.y + threadIdx.x;
long idx = blockIdx.xblockDim.x + threadIdx.x;
s0 += (rfData_d[idxnmpts +samples +k]-rfData_d[idxnmpts +samples -k])/k;
rfData_d[idxnmpts +samples] =
t +samples]rfData_d[idxnmpts +samples]));
rfData_d[idxnmpts +samples] = sqrt(rfData_d[idx*nmpts +samples]rfData_d[idxnmpts +samples]);
The idx is running well but it seems that samples don’t have the good numbers of iteration.
I just want to know if I can make transform double loop for runnig it inside a kernel.