Hi Simon,<div><br></div><div>Thanks for your patient help.</div><div>My GPU memory is 256MB, which I guess should be quite sufficient? It is a FX1700M.</div><div>And it is the only cuda device found on my laptop.</div><div>
Reducing the dimension or lowering the memory burden didn't seem to do the trick. RTK still responded with "<span style="color:rgb(80,0,80)">invalid configuration argument".</span></div><div><font color="#500050">I'm guessing there may be some mistakes with my cuda setup or with compiling RTK with cuda. I'll try harder and let you know.</font></div>
<div><font color="#500050">Does RTK happen to be compatible with only a specific version of CUDA?</font></div><div><font color="#500050"><br></font></div><div>Cheers,</div><div>Andy</div><div><br></div><div><div class="gmail_extra">
<br><div class="gmail_quote">2012/11/30 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:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
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>
<div class=""><div class="h5"><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>
>> <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>
>> > 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 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 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 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 * &)" (?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>
>> >>>> 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>
>> >>>> (?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>
>> >>>> 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 *,float<br>
>> >>>> *,float<br>
>> >>>> *)" (?CUDA_reconstruct_conebeam_cleanup@@YAXQEAHPEAM111@Z) referenced<br>
>> >>>> in<br>
>> >>>> function "public: void __cdecl<br>
>> >>>> rtk::CudaFDKBackProjectionImageFilter::CleanUpDevice(void)"<br>
>> >>>> (?CleanUpDevice@CudaFDKBackProjectionImageFilter@rtk@@QEAAXXZ)<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>
>> >>>> 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) referenced<br>
>> >>>> in<br>
>> >>>> function "protected: virtual void __cdecl<br>
>> >>>> rtk::CudaFFTRampImageFilter::GenerateData(void)"<br>
>> >>>> (?GenerateData@CudaFFTRampImageFilter@rtk@@MEAAXXZ)<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 * &)" (?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>
>> >>>> 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>
>> >>>> (?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>
>> >>>> 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 *,float<br>
>> >>>> *,float<br>
>> >>>> *)" (?CUDA_reconstruct_conebeam_cleanup@@YAXQEAHPEAM111@Z) referenced<br>
>> >>>> in<br>
>> >>>> function "public: void __cdecl<br>
>> >>>> rtk::CudaFDKBackProjectionImageFilter::CleanUpDevice(void)"<br>
>> >>>> (?CleanUpDevice@CudaFDKBackProjectionImageFilter@rtk@@QEAAXXZ)<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>
>> >>>> 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) referenced<br>
>> >>>> in<br>
>> >>>> function "protected: virtual void __cdecl<br>
>> >>>> rtk::CudaFFTRampImageFilter::GenerateData(void)"<br>
>> >>>> (?GenerateData@CudaFFTRampImageFilter@rtk@@MEAAXXZ)<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>
</div></div></blockquote></div><br></div></div>