同步算法bug
parent
25057d0b62
commit
3512ebfe69
|
|
@ -486,9 +486,9 @@ __global__ void Kernel_Computer_R_amp_NoAntPattern(
|
||||||
double NearR, double FarR,
|
double NearR, double FarR,
|
||||||
double* d_temp_R, double* d_temp_amps// 计算输出
|
double* d_temp_R, double* d_temp_amps// 计算输出
|
||||||
) {
|
) {
|
||||||
long idx = blockIdx.x * blockDim.x + threadIdx.x; // 获取当前的线程编码
|
long long idx = blockIdx.x * blockDim.x + threadIdx.x; // 获取当前的线程编码
|
||||||
long prfId = idx / SHAREMEMORY_FLOAT_HALF;
|
long long prfId = idx / SHAREMEMORY_FLOAT_HALF;
|
||||||
long posId = idx % SHAREMEMORY_FLOAT_HALF + startPosId; // 当前线程对应的影像点
|
long long posId = idx % SHAREMEMORY_FLOAT_HALF + startPosId; // 当前线程对应的影像点
|
||||||
|
|
||||||
if (prfId < PRFCount && posId < pixelcount) {
|
if (prfId < PRFCount && posId < pixelcount) {
|
||||||
double RstX = antlist[prfId].Px - goallist[posId].Tx; // 计算坐标矢量
|
double RstX = antlist[prfId].Px - goallist[posId].Tx; // 计算坐标矢量
|
||||||
|
|
@ -552,14 +552,14 @@ __global__ void CUDA_Kernel_Computer_echo_NoAntPattern(
|
||||||
__shared__ float s_R[SHAREMEMORY_FLOAT_HALF]; // 注意一个完整的block_size 共享相同内存
|
__shared__ float s_R[SHAREMEMORY_FLOAT_HALF]; // 注意一个完整的block_size 共享相同内存
|
||||||
__shared__ float s_amp[SHAREMEMORY_FLOAT_HALF];
|
__shared__ float s_amp[SHAREMEMORY_FLOAT_HALF];
|
||||||
|
|
||||||
long tid = threadIdx.x;
|
long long tid = threadIdx.x;
|
||||||
long bid = blockIdx.x;
|
long long bid = blockIdx.x;
|
||||||
long idx = bid * blockDim.x + tid;
|
long long idx = bid * blockDim.x + tid;
|
||||||
long prfId = idx / FreqPoints; // 脉冲ID
|
long long prfId = idx / FreqPoints; // 脉冲ID
|
||||||
long fId = idx % FreqPoints;//频率ID
|
long long fId = idx % FreqPoints;//频率ID
|
||||||
|
|
||||||
long psid = 0;
|
long long psid = 0;
|
||||||
long pixelId = 0;
|
long long pixelId = 0;
|
||||||
for (long ii = 0; ii < SHAREMEMORY_FLOAT_HALF_STEP; ii++) { // SHAREMEMORY_FLOAT_HALF_STEP * BLOCK_SIZE=SHAREMEMORY_FLOAT_HALF
|
for (long ii = 0; ii < SHAREMEMORY_FLOAT_HALF_STEP; ii++) { // SHAREMEMORY_FLOAT_HALF_STEP * BLOCK_SIZE=SHAREMEMORY_FLOAT_HALF
|
||||||
psid = tid * SHAREMEMORY_FLOAT_HALF_STEP + ii;
|
psid = tid * SHAREMEMORY_FLOAT_HALF_STEP + ii;
|
||||||
pixelId = prfId * posNum + psid; //
|
pixelId = prfId * posNum + psid; //
|
||||||
|
|
@ -743,7 +743,7 @@ extern "C" void ProcessRFPCTask(RFPCTask& task, long devid)
|
||||||
cudaDeviceSynchronize();
|
cudaDeviceSynchronize();
|
||||||
if ((sTi * 100.0 / task.targetnum) - process >= 1) {
|
if ((sTi * 100.0 / task.targetnum) - process >= 1) {
|
||||||
process = sTi * 100.0 / task.targetnum;
|
process = sTi * 100.0 / task.targetnum;
|
||||||
PRINT("TargetID [%f]: %d / %d finished\n", sTi * 100.0 / task.targetnum, sTi, task.targetnum);
|
PRINT("TargetID [%f]: %d / %d finished %d\n", sTi * 100.0 / task.targetnum, sTi, task.targetnum,devid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1022,6 +1022,7 @@ ErrorCode RFPCProcessCls::RFPCMainProcess_GPU_NoAntPattern(size_t startprfid, si
|
||||||
std::pair<long, std::shared_ptr<GoalState>>(
|
std::pair<long, std::shared_ptr<GoalState>>(
|
||||||
pair.first,
|
pair.first,
|
||||||
std::shared_ptr<GoalState>((GoalState*)mallocCUDAHost(sizeof(GoalState) * pair.second), FreeCUDAHost)));
|
std::shared_ptr<GoalState>((GoalState*)mallocCUDAHost(sizeof(GoalState) * pair.second), FreeCUDAHost)));
|
||||||
|
PRINT("clsid : %d ,Count: %d\n", pair.first, pair.second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue