CUDA 大数组截取其中一部分,输出问题
数组的比较大,但是只想要其中大于某个阈值的那些数。在global函数内进行判断后,存入一个新的数组中 f_data_ou1、f_data_ou2,但是这个新的数组的长度不知道怎么返回出来,从GPU拷贝到主机时,就没有办法输出。
__global__ void BDiffTH1(float *readdata,float *Time,float *f_data_out1,float *f_data_out2)
{.....
if(offset>=(DG_Diff_Gap+1) && offset<Data_Rowx)
{
var = readdata[offset] - readdata[offset-DG_Diff_Gap] ;
if((fabs(var))>Thre_Value)
{
f_data_ou1[CDD_DG_Num] = Time[offset];
f_data_out2[CDD_DG_Num] = readdata[offset];
CDD_DG_Num = CDD_DG_Num+1;
}
}
.....
}