小编Sup*_*ole的帖子

错误:不允许从 __global__ 函数调用 __host__ 函数

我已经为特征点的密集采样编写了 cuda 函数,但出现错误。下面给出了我的 cuda 代码。我正在使用 cuda 7.5 工具包。

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include "opencv2/imgproc/imgproc.hpp"
#include <opencv2/gpu/gpu.hpp>
#include <opencv2/opencv.hpp>


using namespace cv::gpu;
using namespace cv;
using namespace std;

__global__ void densefun(std::vector<int>* d_counters,std::vector<Point2f>* d_points,int d_x_max,int d_y_max,int width, int min_distance)
{
  int i = blockDim.x * blockIdx.x + threadIdx.x;
  Point2f point = (*d_points)[i];
  int x = cvFloor(point.x);
  int y = cvFloor(point.y);
  //if(x >= d_x_max || y >= d_y_max)
      //continue;
  x /= min_distance;
  y /= min_distance;
  (*d_counters)[y*width+x]++;
} …
Run Code Online (Sandbox Code Playgroud)

cuda

1
推荐指数
1
解决办法
6233
查看次数

标签 统计

cuda ×1