Я работаю с Jetson TX2. Я снимаю изображения с камеры, как unsigned char *image
.
Затем мне нужно немного обработать изображение. Для этого я использую графический процессор. С помощью Jetson TX2 мы можем избежать передачи данных хоста / устройства и устройства / хоста, поскольку оперативная память распределяется между графическим процессором и процессором. Для этого я использую:
int height = 6004 ;
int width = 7920 ;
int NumElement = height*width ;
unsigned char *img1 ;
cudaMallocManaged(&img1, NumElement*sizeof(unsigned char));
При использовании этого метода ограничений по PCI нет. Моя проблема в том, как назначить изображение из буфера, img1. Этот метод работает, но он слишком длинный:
for(int i =0 ; i<NumElement ; i++)
img[i] = buffer[i] ;
Я теряю преимущество графического процессора, использующего naive для l oop ... И я, если просто использовать этот метод:
img = buffer
Вот так у меня возникает проблема при входе в ядро.