debug files
This commit is contained in:
@@ -58,7 +58,7 @@ public:
|
|||||||
assert(error == CL_SUCCESS);
|
assert(error == CL_SUCCESS);
|
||||||
event.wait();
|
event.wait();
|
||||||
memcpy(Map_buf,buf,sizeof(T) * i.first.second);
|
memcpy(Map_buf,buf,sizeof(T) * i.first.second);
|
||||||
if(queue->enqueueUnmapMemObject(i.first.first,Map_buf,NULL,&event)!=CL_SUCCESS)std::cerr<<"Reload buffer on GPU failed"<<'\n';
|
assert(queue->enqueueUnmapMemObject(i.first.first,Map_buf,NULL,&event)==CL_SUCCESS);
|
||||||
event.wait();
|
event.wait();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -178,10 +178,11 @@ public:
|
|||||||
return queue->finish();
|
return queue->finish();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
template<typename T>
|
template<typename T>
|
||||||
void read(size_t id1/*kernal ID*/,size_t id2/*buffer ID*/, T* out){
|
void read(size_t id1/*kernal ID*///,size_t id2/*buffer ID*/, T* out){
|
||||||
queue->enqueueReadBuffer(_kernels.at(id1).read(id2).first, CL_TRUE, 0, sizeof(T) * _kernels.at(id1).read(id2).second, out);
|
// queue->enqueueReadBuffer(_kernels.at(id1).read(id2).first, CL_TRUE, 0, sizeof(T) * _kernels.at(id1).read(id2).second, out);
|
||||||
}
|
// }
|
||||||
template<typename T>
|
template<typename T>
|
||||||
void read(size_t id1/*kernal ID*/,size_t id2/*buffer ID*/,size_t size/*size*/, T* out){
|
void read(size_t id1/*kernal ID*/,size_t id2/*buffer ID*/,size_t size/*size*/, T* out){
|
||||||
cl_int error;
|
cl_int error;
|
||||||
|
|||||||
@@ -80,10 +80,10 @@ void FastDetector::detect(
|
|||||||
int icorner[1]={0};
|
int icorner[1]={0};
|
||||||
gpu_fast_->reload_buf(0,2,icorner);
|
gpu_fast_->reload_buf(0,2,icorner);
|
||||||
gpu_fast_->run(0,img.cols,img.rows);
|
gpu_fast_->run(0,img.cols,img.rows);
|
||||||
cl_int2 fast_corners[350000];
|
|
||||||
gpu_fast_->read(0,1,fast_corners);
|
|
||||||
int count[1]={0};
|
int count[1]={0};
|
||||||
gpu_fast_->read(0,2,count);
|
gpu_fast_->read(0,2,1,count);
|
||||||
|
cl_int2 fast_corners[350000];
|
||||||
|
gpu_fast_->read(0,1,count[0],fast_corners);
|
||||||
for(uint i=0;i<count[0];++i)
|
for(uint i=0;i<count[0];++i)
|
||||||
{
|
{
|
||||||
if(fast_corners[i].x<0 || fast_corners[i].x>img_pyr[L].cols || fast_corners[i].y>img_pyr[L].rows || fast_corners[i].y<0)
|
if(fast_corners[i].x<0 || fast_corners[i].x>img_pyr[L].cols || fast_corners[i].y>img_pyr[L].rows || fast_corners[i].y<0)
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ size_t SparseImgAlignGpu::run(FramePtr ref_frame, FramePtr cur_frame)
|
|||||||
optimize(T_cur);
|
optimize(T_cur);
|
||||||
}
|
}
|
||||||
cl_float3 pos[1]={0};
|
cl_float3 pos[1]={0};
|
||||||
residual_->read(1,2,pos);
|
residual_->read(1,2,1,pos);
|
||||||
cur_frame->T_f_w_ = SE2_5(pos[0].x,pos[0].y,pos[0].z);
|
cur_frame->T_f_w_ = SE2_5(pos[0].x,pos[0].y,pos[0].z);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -137,7 +137,7 @@ void SparseImgAlignGpu::update()
|
|||||||
{
|
{
|
||||||
/// TODO the update situation may have a smarter solution
|
/// TODO the update situation may have a smarter solution
|
||||||
cl_float3 pos[1]={0.0,0.0,0.0};
|
cl_float3 pos[1]={0.0,0.0,0.0};
|
||||||
residual_->read(1,2,pos);
|
residual_->read(1,2,1,pos);
|
||||||
Sophus::SE2 update = Sophus::SE2(pos[0].z,Eigen::Vector2d(pos[0].x,pos[0].y)) * Sophus::SE2::exp(-1.0*x_);
|
Sophus::SE2 update = Sophus::SE2(pos[0].z,Eigen::Vector2d(pos[0].x,pos[0].y)) * Sophus::SE2::exp(-1.0*x_);
|
||||||
pos[0].x=(float)update.translation()(0);
|
pos[0].x=(float)update.translation()(0);
|
||||||
pos[0].y=(float)update.translation()(1);
|
pos[0].y=(float)update.translation()(1);
|
||||||
|
|||||||
Reference in New Issue
Block a user