Ошибка сегментации при использовании thrust :: sort в CUDA

Я пытаюсь отсортировать массив объектов класса на основе его типа, передав функцию сравнения в качестве параметра для сортировки по принципу тяги.

определение класса:

class TetraCutInfo
{

        public:
        int tetraid;
        unsigned int ncutEdges;
        unsigned int ncutNodes;
        unsigned int type_cut;
        __host__ __device__ TetraCutInfo();
};

Сортировать:

   thrust::sort(cutInfoptr,cutInfoptr+n,cmp());

cutInfoptr - указатель типа TetraCutInfo, имеющий адрес памяти устройства, выделенный с помощью cudaMalloc.

Функция сравнения

struct cmp
{
  __host__ __device__
  bool operator()(const TetraCutInfo x, TetraCutInfo y)
  {
        return (x.type_cut < y.type_cut);
  }
};

При запуске этого я получаю ошибку сегментации, однако я могу перебрать cutInfoptr в другом ядре.

PS: Я сослался на пример в ссылкеhttps://code.google.com/p/thrust/source/browse/examples/sort.cu

Ответы на вопрос(2)

Ваш ответ на вопрос