[Rtk-users] Geometric phantom example on wiki
Yang K Park
theday79 at gmail.com
Tue Aug 16 08:34:15 EDT 2016
Hi Andreas,
Thanks a lot for your help!
Now I can recall what happened in my previous project.
I should have linked “cufft.lib” manually in the CMakeLists file. Now it works fine.
I believe this issue happens only in the old version of RTK and may have been fixed in the Nightly version.
(I have been too lazy to move on to a newer version, though.)
Thanks.
Yang
(To RTK staff: I’m sorry that I forgot to change the title even though this is a separate thread.)
From: andreasga22 at gmail.com [mailto:andreasga22 at gmail.com] On Behalf Of Andreas Gravgaard Andersen
Sent: Tuesday, August 16, 2016 4:21 AM
To: Yang-Kyun Park <theday79 at gmail.com>
Cc: rtk-users at public.kitware.com
Subject: Re: [Rtk-users] Geometric phantom example on wiki
Hi Yang,
I had a similar problem when I was compiling your CBCT reconstruction software - I thought it was due me having a different version of CUDA.
I solved it by changing the cmakelists.txt to use a FindCuda_wrap.cmake and associated files (copied and slightly modified from the rtk one.) to let those files do the linking.
I also changed the CMakelists.txt to make it compile on non-cuda hardware, so I'm not completely sure whether this might have been the solution to that.
Attached in zip archive. :: My current CBCTrecon -> https://github.com/agravgaard/cbctrecon.git
I have since changed the source to use the newest git version of RTK (keeping the OpenCL code in my own fork <https://github.com/agravgaard/RTK.git> ), but I don't think that made any difference in the linking.
Best regards
Andreas
On 16 Aug 2016 6:04 am, "Yang K Park" <theday79 at gmail.com <mailto:theday79 at gmail.com> > wrote:
Hi all,
I used to use RTK r1.03 without any problem.
However, today I adapted rtkfdk to my own code and ran into the following compile error messages..
1>rtkcuda.lib(cuda_compile_generated_rtkCudaFFTRampImageFilter.cu.obj) : error LNK2019: unresolved external symbol cufftPlan2d referenced in function "void __cdecl CUDA_fft_convolution(struct int3 const &,struct int2 const &,float *,struct float2 *)" (?CUDA_fft_convolution@@YAXAEBUint3@@AEBUint2@@PEAMPEAUfloat2@@@Z)
1>rtkcuda.lib(cuda_compile_generated_rtkCudaFFTRampImageFilter.cu.obj) : error LNK2019: unresolved external symbol cufftPlan3d referenced in function "void __cdecl CUDA_fft_convolution(struct int3 const &,struct int2 const &,float *,struct float2 *)" (?CUDA_fft_convolution@@YAXAEBUint3@@AEBUint2@@PEAMPEAUfloat2@@@Z)
1>rtkcuda.lib(cuda_compile_generated_rtkCudaFFTRampImageFilter.cu.obj) : error LNK2019: unresolved external symbol cufftExecR2C referenced in function "void __cdecl CUDA_fft_convolution(struct int3 const &,struct int2 const &,float *,struct float2 *)" (?CUDA_fft_convolution@@YAXAEBUint3@@AEBUint2@@PEAMPEAUfloat2@@@Z)
1>rtkcuda.lib(cuda_compile_generated_rtkCudaFFTRampImageFilter.cu.obj) : error LNK2019: unresolved external symbol cufftExecC2R referenced in function "void __cdecl CUDA_fft_convolution(struct int3 const &,struct int2 const &,float *,struct float2 *)" (?CUDA_fft_convolution@@YAXAEBUint3@@AEBUint2@@PEAMPEAUfloat2@@@Z)
1>rtkcuda.lib(cuda_compile_generated_rtkCudaFFTRampImageFilter.cu.obj) : error LNK2019: unresolved external symbol cufftSetCompatibilityMode referenced in function "void __cdecl CUDA_fft_convolution(struct int3 const &,struct int2 const &,float *,struct float2 *)" (?CUDA_fft_convolution@@YAXAEBUint3@@AEBUint2@@PEAMPEAUfloat2@@@Z)
1>rtkcuda.lib(cuda_compile_generated_rtkCudaFFTRampImageFilter.cu.obj) : error LNK2019: unresolved external symbol cufftDestroy referenced in function "void __cdecl CUDA_fft_convolution(struct int3 const &,struct int2 const &,float *,struct float2 *)" (?CUDA_fft_convolution@@YAXAEBUint3@@AEBUint2@@PEAMPEAUfloat2@@@Z)
I found that this error was caused by the following line in my code:
#if CUDA_FOUND
feldkamp = FDKCUDAType::New(); <-- here!
SET_FELDKAMP_OPTIONS(static_cast<FDKCUDAType*>(feldkamp.GetPointer()));
#else
..
I also found that those problematic symbols (cufftPlan2d, cufftPlan3d, cufftExecR2C, ..) are defined in “cufft.h”.
It is very weird to me because I did the exactly same thing in my previous project and there was no problem at that time.
Maybe I did something wrong but have no idea now.
Any helps/suggestions will be highly appreciated!
Regards,
Yang
_______________________________________________
Rtk-users mailing list
Rtk-users at public.kitware.com <mailto:Rtk-users at public.kitware.com>
http://public.kitware.com/mailman/listinfo/rtk-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20160816/3e2fb1d8/attachment-0010.html>
More information about the Rtk-users
mailing list