Библиотека CImg в Cuda

Я работаю над кодом в CUDA C на VS2008, Win 7. Я получил матрицу с плавающей запятой, которая должна отображаться как изображение. Я сохранил ее как файл .bin и загрузил в отдельный файл .cpp и успешно сформировал изображение с использованием библиотеки CImg... однако, когда я пытаюсь добавить аналогичный код в файл .cu, это дает странную ошибку, как показано ниже при компиляции...

 error: identifier "_ZN12cimg_library4cimg9superset2IfffE4typeE" is undefined

Фрагмент кода, который я пытался добавить в файл .cu, приведен ниже.

#include <CImg.h>
using namespace cimg_library;
....host code.....continues...

CImg<float> img1(448,448); 
for (int nn=0;nn<200704;nn++)
img1[nn] = dR[nn];    // dR is obtained after cudamemcpy DtoH
img1.display();

На форумах я не могу найти много помощи по этому поводу, а также по использованию CImg с Cuda.. есть ли способ использовать CImg с cuda..

Спасибо


person snabbasi    schedule 29.07.2011    source источник
comment
когда я пытаюсь добавить аналогичный код в файл .cu... не могли бы вы показать нам, что вы поместили в файл .cu?   -  person Bart    schedule 29.07.2011


Ответы (1)


Я предлагаю переместить код, использующий CImg, в файл .cpp. Затем код в файле .cpp будет вызывать код хоста/устройства в файле .cu. Затем код в файле .cu возвращает указатель или ссылку на матрицу с плавающей запятой обратно в код в файле .cpp.

Nvidia nvcc — это драйвер компилятора. Он вызывает компилятор C/C++ для компиляции файлов с именами .c или .cpp. Однако файл .cu имеет особое значение для nvcc. Он выполняет некоторый синтаксический анализ и что-то еще, чтобы искать функции ядра и определенные #pragmas. Я не эксперт, но я знаю, что есть копия руководства. Вот ссылка на старую копию руководства< /а>.

person ahoffer    schedule 30.07.2011
comment
спасибо за ответ ... я попробовал, и мой код заработал ... но изображение все равно не отображается ... я имею в виду его команду imgdisplay в CImg, при которой код не перестает отвечать, а ждет, когда я закрою окно результатов ... есть ли какая-то проверка, чтобы не показывать новое окно с правилами cuda .. - person snabbasi; 30.07.2011