add debug log for Arm

This commit is contained in:
gfuse
2021-08-21 12:20:54 +02:00
parent e0122c81bb
commit 037fac8654
2 changed files with 13 additions and 0 deletions
+3
View File
@@ -56,8 +56,11 @@ public:
int32_t reload(size_t id,T* buf,cl::CommandQueue* queue){ int32_t reload(size_t id,T* buf,cl::CommandQueue* queue){
for(auto&& i:_buffers)if(i.second==id){ 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); 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); 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'; 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; return CL_SUCCESS;
}; };
@@ -91,21 +91,31 @@ double SparseImgAlignGpu::computeResiduals(
cl_float3 J[300]={0.0}; cl_float3 J[300]={0.0};
float chi2_[300]={0.0}; float chi2_[300]={0.0};
float scale=(float)scale_; float scale=(float)scale_;
std::cerr<<"computeResiduals line: 94,\t";
residual_->write_buf(1,11,scale); residual_->write_buf(1,11,scale);
std::cerr<<"96,\t";
residual_->reload_buf(1,10,chi2_); residual_->reload_buf(1,10,chi2_);
std::cerr<<"computeResiduals line: 98,\t";
residual_->reload_buf(1,8,H); residual_->reload_buf(1,8,H);
std::cerr<<"computeResiduals line: 100,\t";
residual_->reload_buf(1,9,J); residual_->reload_buf(1,9,J);
std::cerr<<"computeResiduals line: 102,\t";
/// TODO GPU compute based on the feature /// TODO GPU compute based on the feature
residual_->run(1,feature_counter_); residual_->run(1,feature_counter_);
std::cerr<<"105,\t";
float error[300]={0.0}; float error[300]={0.0};
float chi[300]={0.0}; float chi[300]={0.0};
residual_->read(1,10,feature_counter_,chi); residual_->read(1,10,feature_counter_,chi);
std::cerr<<"109,\t";
residual_->read(1,7,feature_counter_,error); residual_->read(1,7,feature_counter_,error);
std::cerr<<"111,\t";
for(int i = 1; i < feature_counter_; ++i){ for(int i = 1; i < feature_counter_; ++i){
error[0] += error[i]; error[0] += error[i];
chi[0] += chi[i]; chi[0] += chi[i];
} }
std::cerr<<"116,\t";
scale_ = error[0]*(1.48f / feature_counter_); scale_ = error[0]*(1.48f / feature_counter_);
std::cerr<<"118\n";
return chi[0]/(feature_counter_*8); return chi[0]/(feature_counter_*8);
} }