PyCUDA получает доступ к точке внутри массива 3d точек - чтобы найти соседей каждой точки - PullRequest
0 голосов
/ 31 марта 2020

Учитывая массив 3d-точек, я хочу найти соседей каждой точки в этом массиве в пределах указанного радиуса.

Это код ядра, который я хочу реализовать.

в строке ошибки 1: я получаю ошибку ниже

аргумент типа "float" несовместим с параметром типа "float"

Пожалуйста, помогите мне решить эту проблему ошибка

mod = SourceModule(""" 
   __device__ float euclidean_distance(float *pt1,float *pt2)       
    {
       float x = pow((pt1[0] - pt2[0]), 2);
       float y = pow((pt1[1] - pt2[1]), 2);
       float z = pow((pt1[2] - pt2[2]), 2);

       return sqrt(x+y+z);     
    }

    __global__ void get_neighbours(float *search_point,float *point_list,float radius,float *neighbours, int list_size)
    {
       for(int i=0;i<list_size;i++) 
       {

         float distance= euclidean_distance(search_point,point_list[i]);  #__________error:1  
         if(distance<=radius)
         {
            neighbours[i]=i;
         }
       }

    }
  """)

...