[ITK-users] GPU Implementation
Michael Pinkert
mpinkert at wisc.edu
Tue Dec 9 14:15:56 EST 2014
Hi Xiaopeng,
Unfortunately, I was not able to fix this problem in my code. Please let us know if Jim's explanation is accurate.
Best regards,
Michael Pinkert
On 11/26/14, Xiaopeng Yang wrote:
> Hi,
>
> I tried to compile the code from Modules\Registration\GPUPDEDeformable\test
> folder. Enclosed please find the code and CMakeLists file. I am quite new to
> GPU, sorry I could not understand your explanation. Could you point out what
> I missed please?
>
> Thanks,
> Xiaopeng
>
> -----Original Message-----
> From: Jim Miller [mailto:millerjv at gmail.com](javascript:main.compose()
> Sent: Wednesday, November 26, 2014 9:10 PM
> To: Xiaopeng Yang
> Cc: Michael Pinkert; insight-users at itk.org
> Subject: Re: [ITK-users] GPU Implementation
>
> 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
> > 2>symbol
> > "public: static char const * __cdecl
> > itk::GPUPDEDeformableRegistrationFilterKernel::GetOpenCLSource(void)"
> > (?GetOpenCLSource at GPUPDEDeformableRegistrationFilterKernel@itk@@SAPEBD
> > XZ) 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$0
> > 2 at itk@
> > @V12 at V?$GPUImage at V?$Vector at M$02 at itk@@$02 at 2@V?$DemonsRegistrationFilter
> > @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@@SA
> > PEBDXZ
> > )
> >
> > 2>registrationFunctions.obj : error LNK2019: unresolved external
> > 2>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