The NVIDIA examples run fine.<div>Did you have to do anything in specific to set up CUDA?</div><div><br></div><div>What I did was:</div><div>1. Install CUDA 5.0 production release.</div><div>2. Build RTK with Cmake. It finds the CUDA toolkit location automatically. But in the case of CUDA 5.0, there is no SDK folder. In the case where I installed CUDA 4.2, the toolkit and SDK folder are separated, so RTK could find both the toolkit and SDK folders.</div>
<div>3. Compile with VStudio2010.</div><div><br></div><div>Am I missing any steps?</div><div>I might just try another computer and see how things go.</div><div><br></div><div>Cheers,</div><div>Andy</div><div class="gmail_extra">
<br><br><div class="gmail_quote">2012/12/6 Simon Rit <span dir="ltr"><<a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">simon.rit@creatis.insa-lyon.fr</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Yes, 256 MB should be sufficient. I have never encountered a problem<br>
similar to yours.<br>
RTK should work with any cuda greater than 3.2. It's compiled nightly<br>
with cuda 3.2, 4.0, 4.1, 4.2 and 5.0:<br>
<a href="http://my.cdash.org/index.php?project=RTK" target="_blank">http://my.cdash.org/index.php?project=RTK</a>.<br>
Do the NVIDIA examples run fine?<br>
<span class="HOEnZb"><font color="#888888">Simon<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Thu, Dec 6, 2012 at 2:09 PM, Andy Shieh <<a href="mailto:hsieandy@gmail.com">hsieandy@gmail.com</a>> wrote:<br>
> Hi Simon,<br>
><br>
> Thanks for your patient help.<br>
> My GPU memory is 256MB, which I guess should be quite sufficient? It is a<br>
> FX1700M.<br>
> And it is the only cuda device found on my laptop.<br>
> Reducing the dimension or lowering the memory burden didn't seem to do the<br>
> trick. RTK still responded with "invalid configuration argument".<br>
> I'm guessing there may be some mistakes with my cuda setup or with compiling<br>
> RTK with cuda. I'll try harder and let you know.<br>
> Does RTK happen to be compatible with only a specific version of CUDA?<br>
><br>
> Cheers,<br>
> Andy<br>
><br>
><br>
> 2012/11/30 Simon Rit <<a href="mailto:simon.rit@creatis.insa-lyon.fr">simon.rit@creatis.insa-lyon.fr</a>><br>
>><br>
>> Hi Andy,<br>
>> It seems that you have very little GPU memory. Do you know what<br>
>> graphics card you have?<br>
>> If I were you, I would start with a smaller volume with the<br>
>> --dimension option if you use my command line tools (modify as well<br>
>> the spacing at first, e.g., --spacing 8 --dimension 32). You can also<br>
>> use the --divisions option to split the volume in pieces but you then<br>
>> redo the filtering of all projection images.<br>
>> BTW, would you have two graphics card, there is nohing to select one<br>
>> over the other. Maybe this is what happens to you? You can then modify<br>
>> "GetListOfCudaDevices" and add some parameters to select the graphics<br>
>> card based on the memory.<br>
>> Let me know if I can help more,<br>
>> Simon<br>
>><br>
>><br>
>> On Thu, Nov 29, 2012 at 1:53 PM, Andy Shieh <<a href="mailto:hsieandy@gmail.com">hsieandy@gmail.com</a>> wrote:<br>
>> > Hi Simon,<br>
>> ><br>
>> > Thanks for the suggestion. I tried, but it gave another error message.<br>
>> ><br>
>> > When I set the m_ProjectionSubsetSize to 1, 2, or 3, I get the following<br>
>> > runtime error:<br>
>> > ===============<br>
>> > Reconstructing and writing...<br>
>> > ExceptionObject caught with writer->Update()<br>
>> ><br>
>> > itk::ExceptionObject (0000000000A5E8D8)<br>
>> > Location: "void CUDA_fft_convolution(const int3 &, float *, float2 *)"<br>
>> > File: C:/RTK/code/rtkCudaFFTRampImageFilter.cu<br>
>> > Line: 102<br>
>> > Description: itk::ERROR: CUDA ERROR: invalid configuration argument<br>
>> > ================<br>
>> ><br>
>> ><br>
>> > When I set it to the default value of 4, I get the CUFFT error in the<br>
>> > previous maile.<br>
>> ><br>
>> ><br>
>> > When I set it to 5, 6, and beyond, I get the following runtime error:<br>
>> > ==============<br>
>> > Reconstructing and writing...<br>
>> > ExceptionObject caught with writer->Update()<br>
>> ><br>
>> > itk::ExceptionObject (0000000000A2ECB8)<br>
>> > Location: "void CUDA_fft_convolution(const int3 &, float *, float2 *)"<br>
>> > File: C:/RTK/code/rtkCudaFFTRampImageFilter.cu<br>
>> > Line: 69<br>
>> > Description: itk::ERROR: CUDA ERROR: out of memory<br>
>> > ==============<br>
>> ><br>
>> > Cheers,<br>
>> > Andy<br>
>> ><br>
>> ><br>
>> > 2012/11/29 Simon Rit <<a href="mailto:simon.rit@creatis.insa-lyon.fr">simon.rit@creatis.insa-lyon.fr</a>><br>
>> >><br>
>> >> Hi,<br>
>> >> It's seems to be an allocation problem. How big are your projection<br>
>> >> images?<br>
>> >> You can always change the parameter m_ProjectionSubsetSize to 1 with<br>
>> >><br>
>> >><br>
>> >> <a href="http://www.openrtk.org/Doxygen/classrtk_1_1FDKConeBeamReconstructionFilter.html#a5a87bf9cfddd8781a018f3b5cdd374e2" target="_blank">http://www.openrtk.org/Doxygen/classrtk_1_1FDKConeBeamReconstructionFilter.html#a5a87bf9cfddd8781a018f3b5cdd374e2</a><br>

>> >> to lower the amount of projection images in the GPU memory.<br>
>> >> Simon<br>
>> >><br>
>> >> On Thu, Nov 29, 2012 at 9:57 AM, Andy Shieh <<a href="mailto:hsieandy@gmail.com">hsieandy@gmail.com</a>> wrote:<br>
>> >> > Hi Simon,<br>
>> >> ><br>
>> >> > I do encounter another problem though.<br>
>> >> > So everything compiled file and rtkfdk works fine with cpu.<br>
>> >> > However, when I change the hardware argument to cuda, I get the<br>
>> >> > following<br>
>> >> > runtime error when rtkfdk is "Reconstructing and Writing":<br>
>> >> ><br>
>> >> > ========================<br>
>> >> > ExceptionObject caught with writer->Update()<br>
>> >> ><br>
>> >> > itk::ExceptionObject (0000000000B3EC88)<br>
>> >> > Location: "void CUDA_fft_convolution(const int3 &, float *, float2<br>
>> >> > *)"<br>
>> >> > File: C:/RTK/code/rtkCudaFFTRampImageFilter.cu<br>
>> >> > Line: 85<br>
>> >> > Description: itk::ERROR: CUFFT ERROR #2<br>
>> >> > ==========================<br>
>> >> ><br>
>> >> ><br>
>> >> > I did try different CUDA toolkit versions (5.0 and 4.2) but it didn't<br>
>> >> > help.<br>
>> >> > Do you know what might be happening? Thanks!<br>
>> >> ><br>
>> >> > Cheers,<br>
>> >> > Andy<br>
>> >> ><br>
>> >> ><br>
>> >> > 2012/11/29 Simon Rit <<a href="mailto:simon.rit@creatis.insa-lyon.fr">simon.rit@creatis.insa-lyon.fr</a>><br>
>> >> >><br>
>> >> >> Great! I had no clue what the problem was.... Let us know if when we<br>
>> >> >> can<br>
>> >> >> help you with anything else,<br>
>> >> >> Simon<br>
>> >> >><br>
>> >> >> On Nov 29, 2012 8:11 AM, "Andy Shieh" <<a href="mailto:hsieandy@gmail.com">hsieandy@gmail.com</a>> wrote:<br>
>> >> >>><br>
>> >> >>> Hi Simon,<br>
>> >> >>><br>
>> >> >>> The problem seems to disappear when I updated the whole directory<br>
>> >> >>> to<br>
>> >> >>> the<br>
>> >> >>> newest version of RTK.<br>
>> >> >>><br>
>> >> >>> Cheers,<br>
>> >> >>> Andy<br>
>> >> >>><br>
>> >> >>><br>
>> >> >>> 2012/11/29 Andy Shieh <<a href="mailto:hsieandy@gmail.com">hsieandy@gmail.com</a>><br>
>> >> >>>><br>
>> >> >>>> Hi Simon,<br>
>> >> >>>><br>
>> >> >>>> Lately I've been trying to build RTK with CUDA. I tried both the<br>
>> >> >>>> CUDA<br>
>> >> >>>> production release 5.0 and 4.2. I doubled checked that CUDA is<br>
>> >> >>>> actually<br>
>> >> >>>> working (the CUDA examples run properly). And I made sure that the<br>
>> >> >>>> CUDA and<br>
>> >> >>>> CUDA SDK directories are correctly specified in the configuration<br>
>> >> >>>> when<br>
>> >> >>>> generating the build files. However, I keep getting these linking<br>
>> >> >>>> errors<br>
>> >> >>>> when I tried to compile RTK using Visual Studio 2010. Do you have<br>
>> >> >>>> any<br>
>> >> >>>> idea<br>
>> >> >>>> what might be going on? Thanks.<br>
>> >> >>>><br>
>> >> >>>> I'm using Win7 64bit, and my CUDA toolkit is for 64 bit as well.<br>
>> >> >>>><br>
>> >> >>>> =============================================<br>
>> >> >>>> Error 1 error LNK2019: Unresolved external symbols "void __cdecl<br>
>> >> >>>> CUDA_reconstruct_conebeam_init(int * const,int * const,float *<br>
>> >> >>>> &,float *<br>
>> >> >>>> &,float * &)"<br>
>> >> >>>> (?CUDA_reconstruct_conebeam_init@@YAXQEAH0AEAPEAM11@Z)<br>
>> >> >>>> referenced in function "public: void __cdecl<br>
>> >> >>>> rtk::CudaFDKBackProjectionImageFilter::InitDevice(void)"<br>
>> >> >>>> (?InitDevice@CudaFDKBackProjectionImageFilter@rtk@@QEAAXXZ)<br>
>> >> >>>><br>
>> >> >>>><br>
>> >> >>>> C:\SimonRit-RTK-4353(withHNC)\build\applications\rtkcuda.lib(rtkCudaFDKBackProjectionImageFilter.obj)<br>
>> >> >>>> rtkinlinefdk<br>
>> >> >>>> Error 2 error LNK2019: Unresolved external symbols "class<br>
>> >> >>>> std::vector<int,class std::allocator<int> > __cdecl<br>
>> >> >>>> GetListOfCudaDevices(void)"<br>
>> >> >>>><br>
>> >> >>>> (?GetListOfCudaDevices@@YA?AV?$vector@HV?$allocator@H@std@@@std@@XZ)<br>
>> >> >>>> referenced in function "public: void __cdecl<br>
>> >> >>>> rtk::CudaFDKBackProjectionImageFilter::InitDevice(void)"<br>
>> >> >>>> (?InitDevice@CudaFDKBackProjectionImageFilter@rtk@@QEAAXXZ)<br>
>> >> >>>><br>
>> >> >>>><br>
>> >> >>>> C:\SimonRit-RTK-4353(withHNC)\build\applications\rtkcuda.lib(rtkCudaFDKBackProjectionImageFilter.obj)<br>
>> >> >>>> rtkinlinefdk<br>
>> >> >>>> Error 3 error LNK2019: Unresolved external symbols "void __cdecl<br>
>> >> >>>> CUDA_reconstruct_conebeam_cleanup(int * const,float *,float<br>
>> >> >>>> *,float<br>
>> >> >>>> *,float<br>
>> >> >>>> *)" (?CUDA_reconstruct_conebeam_cleanup@@YAXQEAHPEAM111@Z)<br>
>> >> >>>> referenced<br>
>> >> >>>> in<br>
>> >> >>>> function "public: void __cdecl<br>
>> >> >>>> rtk::CudaFDKBackProjectionImageFilter::CleanUpDevice(void)"<br>
>> >> >>>> (?CleanUpDevice@CudaFDKBackProjectionImageFilter@rtk@@QEAAXXZ)<br>
>> >> >>>><br>
>> >> >>>><br>
>> >> >>>> C:\SimonRit-RTK-4353(withHNC)\build\applications\rtkcuda.lib(rtkCudaFDKBackProjectionImageFilter.obj)<br>
>> >> >>>> rtkinlinefdk<br>
>> >> >>>> Error 4 error LNK2019: Unresolved external symbols "void __cdecl<br>
>> >> >>>> CUDA_reconstruct_conebeam(int * const,int * const,float *,float *<br>
>> >> >>>> const,float *,float *,float *)"<br>
>> >> >>>> (?CUDA_reconstruct_conebeam@@YAXQEAH0PEAMQEAM111@Z) referenced in<br>
>> >> >>>> function<br>
>> >> >>>> "protected: virtual void __cdecl<br>
>> >> >>>> rtk::CudaFDKBackProjectionImageFilter::GenerateData(void)"<br>
>> >> >>>> (?GenerateData@CudaFDKBackProjectionImageFilter@rtk@@MEAAXXZ)<br>
>> >> >>>><br>
>> >> >>>><br>
>> >> >>>> C:\SimonRit-RTK-4353(withHNC)\build\applications\rtkcuda.lib(rtkCudaFDKBackProjectionImageFilter.obj)<br>
>> >> >>>> rtkinlinefdk<br>
>> >> >>>> Error 5 error LNK2019: Unresolved external symbols "void __cdecl<br>
>> >> >>>> CUDA_fft_convolution(struct int3 const &,float *,struct float2 *)"<br>
>> >> >>>> (?CUDA_fft_convolution@@YAXAEBUint3@@PEAMPEAUfloat2@@@Z)<br>
>> >> >>>> referenced<br>
>> >> >>>> in<br>
>> >> >>>> function "protected: virtual void __cdecl<br>
>> >> >>>> rtk::CudaFFTRampImageFilter::GenerateData(void)"<br>
>> >> >>>> (?GenerateData@CudaFFTRampImageFilter@rtk@@MEAAXXZ)<br>
>> >> >>>><br>
>> >> >>>><br>
>> >> >>>> C:\SimonRit-RTK-4353(withHNC)\build\applications\rtkcuda.lib(rtkCudaFFTRampImageFilter.obj)<br>
>> >> >>>> rtkinlinefdk<br>
>> >> >>>> Error 6 error LNK1120: Five unresolved external symbols<br>
>> >> >>>> C:\SimonRit-RTK-4353(withHNC)\build\Release\rtkinlinefdk.exe<br>
>> >> >>>> rtkinlinefdk<br>
>> >> >>>> Error 7 error LNK2019: Unresolved external symbols "void __cdecl<br>
>> >> >>>> CUDA_reconstruct_conebeam_init(int * const,int * const,float *<br>
>> >> >>>> &,float *<br>
>> >> >>>> &,float * &)"<br>
>> >> >>>> (?CUDA_reconstruct_conebeam_init@@YAXQEAH0AEAPEAM11@Z)<br>
>> >> >>>> referenced in function "public: void __cdecl<br>
>> >> >>>> rtk::CudaFDKBackProjectionImageFilter::InitDevice(void)"<br>
>> >> >>>> (?InitDevice@CudaFDKBackProjectionImageFilter@rtk@@QEAAXXZ)<br>
>> >> >>>><br>
>> >> >>>><br>
>> >> >>>> C:\SimonRit-RTK-4353(withHNC)\build\applications\rtkcuda.lib(rtkCudaFDKBackProjectionImageFilter.obj)<br>
>> >> >>>> rtkfdk<br>
>> >> >>>> Error 8 error LNK2019: Unresolved external symbols "class<br>
>> >> >>>> std::vector<int,class std::allocator<int> > __cdecl<br>
>> >> >>>> GetListOfCudaDevices(void)"<br>
>> >> >>>><br>
>> >> >>>> (?GetListOfCudaDevices@@YA?AV?$vector@HV?$allocator@H@std@@@std@@XZ)<br>
>> >> >>>> referenced in function "public: void __cdecl<br>
>> >> >>>> rtk::CudaFDKBackProjectionImageFilter::InitDevice(void)"<br>
>> >> >>>> (?InitDevice@CudaFDKBackProjectionImageFilter@rtk@@QEAAXXZ)<br>
>> >> >>>><br>
>> >> >>>><br>
>> >> >>>> C:\SimonRit-RTK-4353(withHNC)\build\applications\rtkcuda.lib(rtkCudaFDKBackProjectionImageFilter.obj)<br>
>> >> >>>> rtkfdk<br>
>> >> >>>> Error 9 error LNK2019: Unresolved external symbols "void __cdecl<br>
>> >> >>>> CUDA_reconstruct_conebeam_cleanup(int * const,float *,float<br>
>> >> >>>> *,float<br>
>> >> >>>> *,float<br>
>> >> >>>> *)" (?CUDA_reconstruct_conebeam_cleanup@@YAXQEAHPEAM111@Z)<br>
>> >> >>>> referenced<br>
>> >> >>>> in<br>
>> >> >>>> function "public: void __cdecl<br>
>> >> >>>> rtk::CudaFDKBackProjectionImageFilter::CleanUpDevice(void)"<br>
>> >> >>>> (?CleanUpDevice@CudaFDKBackProjectionImageFilter@rtk@@QEAAXXZ)<br>
>> >> >>>><br>
>> >> >>>><br>
>> >> >>>> C:\SimonRit-RTK-4353(withHNC)\build\applications\rtkcuda.lib(rtkCudaFDKBackProjectionImageFilter.obj)<br>
>> >> >>>> rtkfdk<br>
>> >> >>>> Error 10 error LNK2019: Unresolved external symbols "void __cdecl<br>
>> >> >>>> CUDA_reconstruct_conebeam(int * const,int * const,float *,float *<br>
>> >> >>>> const,float *,float *,float *)"<br>
>> >> >>>> (?CUDA_reconstruct_conebeam@@YAXQEAH0PEAMQEAM111@Z) referenced in<br>
>> >> >>>> function<br>
>> >> >>>> "protected: virtual void __cdecl<br>
>> >> >>>> rtk::CudaFDKBackProjectionImageFilter::GenerateData(void)"<br>
>> >> >>>> (?GenerateData@CudaFDKBackProjectionImageFilter@rtk@@MEAAXXZ)<br>
>> >> >>>><br>
>> >> >>>><br>
>> >> >>>> C:\SimonRit-RTK-4353(withHNC)\build\applications\rtkcuda.lib(rtkCudaFDKBackProjectionImageFilter.obj)<br>
>> >> >>>> rtkfdk<br>
>> >> >>>> Error 11 error LNK2019: Unresolved external symbols "void __cdecl<br>
>> >> >>>> CUDA_fft_convolution(struct int3 const &,float *,struct float2 *)"<br>
>> >> >>>> (?CUDA_fft_convolution@@YAXAEBUint3@@PEAMPEAUfloat2@@@Z)<br>
>> >> >>>> referenced<br>
>> >> >>>> in<br>
>> >> >>>> function "protected: virtual void __cdecl<br>
>> >> >>>> rtk::CudaFFTRampImageFilter::GenerateData(void)"<br>
>> >> >>>> (?GenerateData@CudaFFTRampImageFilter@rtk@@MEAAXXZ)<br>
>> >> >>>><br>
>> >> >>>><br>
>> >> >>>> C:\SimonRit-RTK-4353(withHNC)\build\applications\rtkcuda.lib(rtkCudaFFTRampImageFilter.obj)<br>
>> >> >>>> rtkfdk<br>
>> >> >>>> Error 12 error LNK1120: Five unresolved external symbols<br>
>> >> >>>> C:\SimonRit-RTK-4353(withHNC)\build\Release\rtkfdk.exe rtkfdk<br>
>> >> >>>> =============================================<br>
>> >> >>>><br>
>> >> >>>> Cheers,<br>
>> >> >>>> Andy<br>
>> >> >>><br>
>> >> >>><br>
>> >> >>><br>
>> >> >>> _______________________________________________<br>
>> >> >>> Rtk-users mailing list<br>
>> >> >>> <a href="mailto:Rtk-users@openrtk.org">Rtk-users@openrtk.org</a><br>
>> >> >>> <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/rtk-users" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/rtk-users</a><br>
>> >> >>><br>
>> >> ><br>
>> ><br>
>> ><br>
><br>
><br>
</div></div></blockquote></div><br></div>