diff --git a/GPU_version/vio/include/vio/cl_class.h b/GPU_version/vio/include/vio/cl_class.h index eb62562..66ac2df 100644 --- a/GPU_version/vio/include/vio/cl_class.h +++ b/GPU_version/vio/include/vio/cl_class.h @@ -56,8 +56,11 @@ public: int32_t reload(size_t id,T* buf,cl::CommandQueue* queue){ for(auto&& i:_buffers)if(i.second==id){ T* Map_buf=(T*)queue->enqueueMapBuffer(i.first.first,CL_TRUE,CL_MAP_WRITE,0,sizeof(T) * i.first.second); + std::cerr<<"\n reload class L:59,\t"; memcpy(Map_buf,buf,sizeof(T) * i.first.second); + std::cerr<<"L:61\t"; if(queue->enqueueUnmapMemObject(i.first.first,Map_buf)!=CL_SUCCESS)std::cerr<<"Reload buffer on GPU failed"<<'\n'; + std::cerr<<"L:63\n"; } return CL_SUCCESS; }; diff --git a/GPU_version/vio/src/sparse_img_align_gpu.cpp b/GPU_version/vio/src/sparse_img_align_gpu.cpp index 7f1e175..fc5369e 100644 --- a/GPU_version/vio/src/sparse_img_align_gpu.cpp +++ b/GPU_version/vio/src/sparse_img_align_gpu.cpp @@ -91,21 +91,31 @@ double SparseImgAlignGpu::computeResiduals( cl_float3 J[300]={0.0}; float chi2_[300]={0.0}; float scale=(float)scale_; + std::cerr<<"computeResiduals line: 94,\t"; residual_->write_buf(1,11,scale); + std::cerr<<"96,\t"; residual_->reload_buf(1,10,chi2_); + std::cerr<<"computeResiduals line: 98,\t"; residual_->reload_buf(1,8,H); + std::cerr<<"computeResiduals line: 100,\t"; residual_->reload_buf(1,9,J); + std::cerr<<"computeResiduals line: 102,\t"; /// TODO GPU compute based on the feature residual_->run(1,feature_counter_); + std::cerr<<"105,\t"; float error[300]={0.0}; float chi[300]={0.0}; residual_->read(1,10,feature_counter_,chi); + std::cerr<<"109,\t"; residual_->read(1,7,feature_counter_,error); + std::cerr<<"111,\t"; for(int i = 1; i < feature_counter_; ++i){ error[0] += error[i]; chi[0] += chi[i]; } + std::cerr<<"116,\t"; scale_ = error[0]*(1.48f / feature_counter_); + std::cerr<<"118\n"; return chi[0]/(feature_counter_*8); }