2011-07-29 9 views
1

나는 CUDA C의 VS2008, Win 7 코드를 작업 중입니다. float 행렬을 이미지로 표시하려면 ..i 파일을 .bin 파일로 저장하고 별도의 파일로로드하십시오. .cpp 파일 성공적으로는 CIMG 라이브러리를 사용하여 이미지를 ... 그러나 내가 그것을 컴파일에 아래 그림과 같이 이상한 오류를 제공 파일을 .CU하기 위해 유사한 코드를 추가 할 때 ... 형성Cuda의 CImg 라이브러리

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(); 

포럼에서 나는 CIm CUDA를 이용한 g .. 내가 CUDA와 CIMG을 사용할 수있는 방법 ..

+0

".cu 파일에 유사한 코드를 추가하려고하면"... .cu 파일에 넣은 것을 보여줄 수 있습니까? – Bart

답변

0

나의 제안은 .cpp 파일에 CIMG을 사용하는 코드를 이동하는 것입니다

감사가있다. .cpp 파일의 코드는 .cu 파일의 호스트/장치 코드를 호출합니다. 그런 다음 .cu 파일의 코드는 float 행렬에 대한 포인터 또는 참조를 .cpp 파일의 코드로 반환합니다.

Nvidia의 nvcc는 컴파일러 드라이버입니다. .c 또는 .cpp 파일 이름으로 파일을 컴파일하기 위해 C/C++ 컴파일러를 호출합니다. 그러나 .cu 파일은 nvcc에 특별한 의미가 있습니다. 커널 함수와 특정 #pragma를 찾기 위해 파싱과 무언가를 수행합니다. 저는 전문가는 아니지만, 설명서가 주위에 떠있는 것을 알고 있습니다. Here is a link to an older copy of the manual.

+0

답장을 보내 주셔서 감사합니다 ... 나는 그것을 시도하고 내 코드를 실행하고있어 ...하지만 여전히 이미지가 표시되지 않습니다 ... 나는 그 코드 doesnt가 ​​멈추지 만 시간을 기다리는 CImg의 imgdisplay 명령을 의미합니다. 결과 창을 닫습니다 ... 쿠다 규칙을 가진 새로운 창을 보여주지 않는 어떤 종류의 검사가 있습니다 .. – snabbasi

+0

코드의 관련 섹션을 게시 할 수 있습니까? – ahoffer

관련 문제