[ITK-users] GPU Implementation

Jim Miller millerjv at gmail.com
Wed Nov 26 07:10:15 EST 2014


This doesn't look like any issue with finding OpenCL. The link error is saying it cannot find the implementation of an ITK method. 

I think  GPUPDEDeformableRegistrationFilterKernel::GetOpenCLSource(void) is supposed to return the kernel's implementation (probably as a string containing the OpenCL code). 

Is there a txx file that is not being included? Does your program contain the same headers and test?

(I guess the error could occur if OpenCL was not found if the implementation of this method in  GPUPDEDeformableRegistrationFilterKernel is within #ifdef/#endif on OpenCL.)

Jim

> On Nov 25, 2014, at 10:03 PM, Xiaopeng Yang <yxp233 at postech.ac.kr> wrote:
> 
> Hi Michael,
> 
> I also had the same errors while building my GPU registration program. Have
> you solved the problems? I guess the error was caused by improper setting in
> CMakeLists.txt file, but I could not find any CMakeLists.txt sample
> regarding GPU implementation in ITK. I doubt whether there are users using
> this GPU module or not.
> 
> Best regards,
> Xiaopeng Yang
> 
> 
> This is the question you raised:
> 
> I am trying to implement the GPU demons registration algorithm, but I have
> been having difficulty getting the program to compile.  I believe the errors
> are because it cannot find the OpenCL library correctly, but I'm not sure
> how to fix it. 
> 
> I am using a NVIDIA Quadro FX 570 and am currently using OpenCL through the
> CUDA Computing Toolkit 4.2.  My cmake file is attached, but I have had to
> manually enter in the directory locations to CMake because I have not been
> able to find a FindOpenCL.cmake file that works correctly.  My operating
> system is Windows 7 x64. 
> 
> I am able to compile ITK after generating it in CMake with manually linked
> directories and Itk_Use_Gpu checked, but I have not been able to compile my
> program without getting errors, which are listed at the bottom. 
> 
> Does anyone have suggestions as to how to fix this? 
> 
> Best regards, 
> Michael Pinkert 
> 
> 2>registrationFunctions.obj : error LNK2019: unresolved external symbol
> "public: static char const * __cdecl
> itk::GPUPDEDeformableRegistrationFilterKernel::GetOpenCLSource(void)"
> (?GetOpenCLSource at GPUPDEDeformableRegistrationFilterKernel@itk@@SAPEBDXZ)
> referenced in function "public: static char const * __cdecl
> itk::GPUPDEDeformableRegistrationFilter<class itk::GPUImage<float,3>,class
> itk::GPUImage<float,3>,class itk::GPUImage<class
> itk::Vector<float,3>,3>,class itk::DemonsRegistrationFilter<class
> itk::GPUImage<float,3>,class itk::GPUImage<float,3>,class
> itk::GPUImage<class itk::Vector<float,3>,3> > >::GetOpenCLSource(void)"
> (?GetOpenCLSource@?$GPUPDEDeformableRegistrationFilter at V?$GPUImage at M$02 at itk@
> @V12 at V?$GPUImage at V?$Vector at M$02 at itk@@$02 at 2@V?$DemonsRegistrationFilter at V?$GP
> UImage at M$02 at itk@@V12 at V?$GPUImage at V?$Vector at M$02 at itk@@$02 at 2@@2@@itk@@SAPEBDXZ
> ) 
> 
> 2>registrationFunctions.obj : error LNK2019: unresolved external symbol
> "public: static char const * __cdecl
> itk::GPUDemonsRegistrationFunctionKernel::GetOpenCLSource(void)"
> (?GetOpenCLSource at GPUDemonsRegistrationFunctionKernel@itk@@SAPEBDXZ)
> referenced in function "public: static char const * __cdecl
> itk::GPUDemonsRegistrationFunction<class itk::GPUImage<float,3>,class
> itk::GPUImage<float,3>,classitk::GPUImage<class itk::Vector<float,3>,3>
>> ::GetOpenCLSource(void)"
> (?GetOpenCLSource@?$GPUDemonsRegistrationFunction at V?$GPUImage at M$02 at itk@@V12@
> V?$GPUImage at V?$Vector at M$02 at itk@@$02 at 2@@itk@@SAPEBDXZ)
> 
> 
> 
> 
> _____________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
> 
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/insight-users


More information about the Insight-users mailing list