Ширина и высота получаются из входного изображения.Вам нужна функция для загрузки файла изображения с диска (некоторые примеры от NVIDIA создают изображение в виде массива в заголовочном файле).
В CUDA SDK есть функции для загрузки файлов изображений PGM, то есть с неподписаннымchar как тип элемента данных, то есть изображение в оттенках серого.Например, вы можете использовать:
// file handlers
char *image_filename = "image.pgm";
// images properties
unsigned int width;
unsigned int height;
// image array in CPU.
unsigned char* h_image = NULL;
// load PGM gray scale image file from disk
cutLoadPGMub(image_filename, &h_image, &width, &height);
Затем скопируйте данные в глобальную память GPU или привяжите изображение в качестве текстуры для работы с пикселями в функции ядра.
Я рекомендую вам взятьпосмотрите на пример simpleTexture пакета CUDA SDK.