From ghostcz at hotmail.com Mon Aug 3 05:34:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Mon, 3 Aug 2015 11:34:44 +0200 Subject: [Rtk-users] Limit of the Image Reader Message-ID: Dear rtk users/developers, What is the largest volume an image reader can take? Although this is more an itk question, I hope someone here may give me a hint. The reader is defined as: itk::ImageFileReader> An runtime error occurred when I was trying to read a volume of 6e9 at FloatingPoint Thank you. Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Mon Aug 3 05:55:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 3 Aug 2015 11:55:19 +0200 Subject: [Rtk-users] Limit of the Image Reader In-Reply-To: References: Message-ID: Hi Louie, I think it depends on your computer RAM, there is no theoretical limit as far as I know. 6e9 floats is 24 GB of RAM. Simon On Mon, Aug 3, 2015 at 11:34 AM, ghostcz wrote: > Dear rtk users/developers, > > > > What is the largest volume an image reader can take? > > Although this is more an itk question, I hope someone here may give me a > hint. > > The reader is defined as: > > itk::ImageFileReader> > > An runtime error occurred when I was trying to read a volume of > 6e9 at FloatingPoint > > > > Thank you. > > > > Best regards, > > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 04:49:21 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 10:49:21 +0200 Subject: [Rtk-users] CUFFT error Message-ID: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 06:09:04 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 12:09:04 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi, >From this page , you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory This is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > Dear rtk users/developers, > > I was testing the rtkfdk.exe application. > The program ran into an error and caught an exception saying: > ? > itk::ExceptionObject (00000000002EEA60) > Location: "unknown" > File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu > Line: 97 > Description: itk::ERROR: CUFFT ERROR #2? > To save you a trip to the documentation, Line: 97 is here: > ? > if(fftDimension.z==1) > result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, > CUFFT_R2C); > else > result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, > inputDimension.x, CUFFT_R2C); > CUFFT_CHECK_ERROR(result); > ? > > This occurred when --spacing=0.04623, while the program works just fine if > I use --spacing=0.05. > Is there anyone can help me with this? > > Best regards, > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 07:05:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 13:05:44 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, >From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 07:27:54 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 13:27:54 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > Thank you. > I kept the dimension to the same value. I think reducing the spacing will > need less rows in the projections, because the physical length will reduce > with the spacing. > Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. > Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin > is always updated with ?0.5*spacing*(size-1); > > Best regards, > Louie > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 12:09 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Hi, > From this page, you have > > CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory > > This is not suprising that you have a GPU memory issue when decreasing the > spacing because a finer volume spacing might require more rows of the > projections for the reconstruction and therefore you can end up with being > out of memory. Try processing one projection at a time with --subsetsize 1. > If it's still too large, you'll have to change your --dimension to process > a smaller volume in the y direction. > Simon > > On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > >> Dear rtk users/developers, >> >> I was testing the rtkfdk.exe application. >> The program ran into an error and caught an exception saying: >> ? >> itk::ExceptionObject (00000000002EEA60) >> Location: "unknown" >> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >> Line: 97 >> Description: itk::ERROR: CUFFT ERROR #2? >> To save you a trip to the documentation, Line: 97 is here: >> ? >> if(fftDimension.z==1) >> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >> CUFFT_R2C); >> else >> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >> inputDimension.x, CUFFT_R2C); >> CUFFT_CHECK_ERROR(result); >> ? >> >> This occurred when --spacing=0.04623, while the program works just fine >> if I use --spacing=0.05. >> Is there anyone can help me with this? >> >> Best regards, >> Louie >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 09:00:30 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 15:00:30 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 10:43:28 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 16:43:28 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: > Hi > If I use spacing =0.4623 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 16805888 bytes > Used memory = 5351706624 bytes > Used memory = 99.687% > ----------------------------------------------then it crashed. > > If I use spacing =0.462 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 146837504 bytes > Used memory = 5221675008 bytes > Used memory = 97.2648% > ----------------------------------------------didn?t crash, but a near > miss. > > Yes, it looks like a memory problem. But why a small change in spacing > will increase the memory consumption? > > Best regards, > Louie > > > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 1:27 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Then I don't see what else could be the problem. If it's a GPU memory > issue, you'll see it by adding the following command > > { > > size_t free, used, total; > cudaMemGetInfo(&free, &total); > used = total - free; > > std::cout << std::endl; > std::cout << "------------- Device memory usage ------------" << > std::endl; > std::cout << "Total memory = " << total << " bytes" << std::endl; > std::cout << "Free memory = " << free << " bytes" << std::endl; > std::cout << "Used memory = " << used << " bytes" << std::endl; > std::cout << "Used memory = " << (used * 100.0 / total) << "%" << > std::endl; > std::cout << "----------------------------------------------" << > std::endl; > std::cout << std::endl; > } > > before the crashing command. If the memory is the issue, then I'm not sure > I understand why either, I quite agree with your comments. If it's not a > memory issue, then I don't know what's the problem... > Simon > > On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > >> Thank you. >> I kept the dimension to the same value. I think reducing the spacing will >> need less rows in the projections, because the physical length will reduce >> with the spacing. >> Interestingly, it also works if I use 0.0462 instead of 0.04623 as >> spacing. >> Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The >> origin is always updated with ?0.5*spacing*(size-1); >> >> Best regards, >> Louie >> >> *From:* Simon Rit >> *Sent:* Tuesday, August 04, 2015 12:09 PM >> *To:* ghostcz >> *Cc:* rtk-users at public.kitware.com >> *Subject:* Re: [Rtk-users] CUFFT error >> >> Hi, >> From this page, you have >> >> CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory >> >> This is not suprising that you have a GPU memory issue when decreasing >> the spacing because a finer volume spacing might require more rows of the >> projections for the reconstruction and therefore you can end up with being >> out of memory. Try processing one projection at a time with --subsetsize 1. >> If it's still too large, you'll have to change your --dimension to process >> a smaller volume in the y direction. >> Simon >> >> On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: >> >>> Dear rtk users/developers, >>> >>> I was testing the rtkfdk.exe application. >>> The program ran into an error and caught an exception saying: >>> ? >>> itk::ExceptionObject (00000000002EEA60) >>> Location: "unknown" >>> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >>> Line: 97 >>> Description: itk::ERROR: CUFFT ERROR #2? >>> To save you a trip to the documentation, Line: 97 is here: >>> ? >>> if(fftDimension.z==1) >>> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >>> CUFFT_R2C); >>> else >>> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >>> inputDimension.x, CUFFT_R2C); >>> CUFFT_CHECK_ERROR(result); >>> ? >>> >>> This occurred when --spacing=0.04623, while the program works just fine >>> if I use --spacing=0.05. >>> Is there anyone can help me with this? >>> >>> Best regards, >>> Louie >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 10:50:18 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 16:50:18 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: sure thing... From: Simon Rit Sent: Tuesday, August 04, 2015 4:43 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Wed Aug 5 20:00:35 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 03:00:35 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? Message-ID: Dear Simon and RTK community, considering in rtksart ,we have --positivity to force the reconstructed volume values to be positive(i guess, not tested yet), i was wondering if we have any options and commands to have the same effect in algorithms fdk and admmtv since --positivity can not be found? the Boellaard scatter correction: --nonneg is what i am looking for? Thanks in advance. Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 01:27:11 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 07:27:11 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, No there is no option to force the output volume to 0. This is not the same as sart where you might want to do it during the iterations. In the FDK case, it's only post-processing so there is not really a reason to put it in rtkfdk. The nonneg option is the minimum value of the intensity that you allow the Boellaard algorithm to reach after scatter correction. This does not prevent negative values in the volume because the ramp filter might create negative values from positive projections. Simon On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang wrote: > Dear Simon and RTK community, > considering in rtksart ,we have --positivity to force the reconstructed > volume values to be positive(i guess, not tested yet), i was wondering if > we have any options and commands to have the same effect in algorithms fdk > and admmtv since --positivity can not be found? > the Boellaard scatter correction: --nonneg is what i am looking for? > Thanks in advance. > Guangming > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 04:34:39 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 10:34:39 +0200 Subject: [Rtk-users] RTK user meeting on image quality in static CBCT In-Reply-To: References: Message-ID: Dear RTK users, I have written a summary of the discussions during the meeting here http://wiki.openrtk.org/index.php/RTK/ImageQuality This page will be updated with new developments in the future. Regards, Simon On Tue, Jun 16, 2015 at 10:14 AM, Simon Rit wrote: > Hi, > The consensus date is Friday July 31, 2015. Save the date! > The meeting will be at the L?on B?rard center in Lyon, I'll soon > provide more details on the organization. > Simon > > On Wed, Jun 10, 2015 at 10:12 AM, Simon Rit > wrote: > > Dear RTK users and developers, > > We are a few users to face the same problem of poor image quality in > > cone-beam CT due to photon statistics, detector effects (lag, glare, > ...), > > beam hardening and/or scatter. RTK has basic solutions, there are other > > solutions being implemented and we would like better solutions > implemented. > > I would like to invite those that want to contribute to this topic to a > > one-day meeting in Lyon the last week of July. > > > > Goals: > > - present and discuss existing RTK solutions, > > - present and discuss solutions being implemented in RTK, > > - propose the development of new solutions and share the work. > > > > Place: Lyon, France (exact location to be announced) > > > > Time: last week of July, day to be determined, please complete foodle if > > you're interested. > > > > Cost: free but you'll have to organize your travel and hotel plans (I'll > > send suggestions later). > > > > If there is a specific algorithm that you would like to discuss, please > send > > me an email with the reference. I will put together a list of references > to > > read before the meeting. > > I hope to see you all at the end of July. > > Simon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Thu Aug 6 04:58:42 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 11:58:42 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi Simon, thanks for the explanation in detail. ?i can understand why? there is only post-processing for fdk algorithm now, but why don't we do the non-negative checking during each ADMM iteration? after all, in my opinion, in most of applications, only volume values that between [0,positive infinite) make sense. Regards Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* 2015-08-06 8:27 GMT+03:00 Simon Rit : > Hi, > No there is no option to force the output volume to 0. This is not the > same as sart where you might want to do it during the iterations. In the > FDK case, it's only post-processing so there is not really a reason to put > it in rtkfdk. > The nonneg option is the minimum value of the intensity that you allow the > Boellaard algorithm to reach after scatter correction. This does not > prevent negative values in the volume because the ramp filter might create > negative values from positive projections. > Simon > > On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < > guangming.zang at kaust.edu.sa> wrote: > >> Dear Simon and RTK community, >> considering in rtksart ,we have --positivity to force the reconstructed >> volume values to be positive(i guess, not tested yet), i was wondering if >> we have any options and commands to have the same effect in algorithms fdk >> and admmtv since --positivity can not be found? >> the Boellaard scatter correction: --nonneg is what i am looking for? >> Thanks in advance. >> Guangming >> *Guangming Zang (Alex)* >> *King Abdullah University of Science and Technology(KAUST)* >> *University of Chinese Academy of Sciences(UCAS)* >> >> >> >> >> ------------------------------ >> This message and its contents, including attachments are intended solely >> for the original recipient. If you are not the intended recipient or have >> received this message in error, please notify me immediately and delete >> this message from your computer system. Any unauthorized use or >> distribution is prohibited. Please consider the environment before printing >> this email. > > > -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 08:37:41 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 14:37:41 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, I haven't implemented the ADMM algorithm but adding a constraint such as positivity in iterative reconstruction is not a straightforward thing. The way it's done in SART and ROOSTER is heuristic and there is no proof of convergence. Still, you can easily add it in this way if you want to but you'll have to modify the code. There is a wealth of literature on the topic if you want to read it. To illustrate this complexity, you can read the paper of Cyril Mory at the CT meeting last year. Simon On Thu, Aug 6, 2015 at 10:58 AM, Guangming Zang wrote: > Hi Simon, > thanks for the explanation in detail. > ?i can understand why? there is only post-processing for fdk algorithm now, > but why don't we do the non-negative checking during each ADMM iteration? > after all, in my opinion, in most of applications, only volume values that > between [0,positive infinite) make sense. > Regards > Guangming > > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > 2015-08-06 8:27 GMT+03:00 Simon Rit : > >> Hi, >> No there is no option to force the output volume to 0. This is not the >> same as sart where you might want to do it during the iterations. In the >> FDK case, it's only post-processing so there is not really a reason to put >> it in rtkfdk. >> The nonneg option is the minimum value of the intensity that you allow >> the Boellaard algorithm to reach after scatter correction. This does not >> prevent negative values in the volume because the ramp filter might create >> negative values from positive projections. >> Simon >> >> On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < >> guangming.zang at kaust.edu.sa> wrote: >> >>> Dear Simon and RTK community, >>> considering in rtksart ,we have --positivity to force the reconstructed >>> volume values to be positive(i guess, not tested yet), i was wondering if >>> we have any options and commands to have the same effect in algorithms fdk >>> and admmtv since --positivity can not be found? >>> the Boellaard scatter correction: --nonneg is what i am looking for? >>> Thanks in advance. >>> Guangming >>> *Guangming Zang (Alex)* >>> *King Abdullah University of Science and Technology(KAUST)* >>> *University of Chinese Academy of Sciences(UCAS)* >>> >>> >>> >>> >>> ------------------------------ >>> This message and its contents, including attachments are intended solely >>> for the original recipient. If you are not the intended recipient or have >>> received this message in error, please notify me immediately and delete >>> this message from your computer system. Any unauthorized use or >>> distribution is prohibited. Please consider the environment before printing >>> this email. >> >> >> > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julia.mascolo-fortin.1 at ulaval.ca Tue Aug 25 13:25:54 2015 From: julia.mascolo-fortin.1 at ulaval.ca (Julia Mascolo-Fortin) Date: Tue, 25 Aug 2015 17:25:54 +0000 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> References: , <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> Message-ID: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Hi, I'm working on a program that use ITK and the RTK module ITKCudaCommon. It works fine on my computer. However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw an error: RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : Cuda Error : all CUDA-capable devices are busy or unavailable terminate called after throwing an instance of 'itk::ExceptionObject' what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: Cuda Error : all CUDA-capable devices are busy or unavailable This error is obtained in this line in my code: float *d_Projections = *(float**)( m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); This error is weird because the program clearly state "Found 1 CUDA enabled device[s]" and I have been able to run another program on that cluster without any problem. If anyone has experience with the implementation on RTK program on a GPU cluster, your help would be appreciated. Julia Mascolo-Fortin From simon.rit at creatis.insa-lyon.fr Sun Aug 30 14:23:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Sun, 30 Aug 2015 20:23:19 +0200 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> References: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Message-ID: Hi, I have used it on a cluster node with 2 GPUs without any problem. Have you tried nvidia code to check if it's a problem with the ITKCudaCommon package or with your system? From this forum , it seems that this problem is independent of ITKCudaCommon... Simon On Tue, Aug 25, 2015 at 7:25 PM, Julia Mascolo-Fortin < julia.mascolo-fortin.1 at ulaval.ca> wrote: > Hi, > > I'm working on a program that use ITK and the RTK module ITKCudaCommon. It > works fine on my computer. > > However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw > an error: > > RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : > Cuda Error : all CUDA-capable devices are busy or unavailable > > terminate called after throwing an instance of 'itk::ExceptionObject' > what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: > Cuda Error : all CUDA-capable devices are busy or unavailable > > > This error is obtained in this line in my code: > > float *d_Projections = *(float**)( > m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); > > > This error is weird because the program clearly state "Found 1 CUDA > enabled device[s]" and I have been able to run another program on that > cluster without any problem. > > > If anyone has experience with the implementation on RTK program on a GPU > cluster, your help would be appreciated. > > Julia Mascolo-Fortin > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Mon Aug 3 05:34:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Mon, 3 Aug 2015 11:34:44 +0200 Subject: [Rtk-users] Limit of the Image Reader Message-ID: Dear rtk users/developers, What is the largest volume an image reader can take? Although this is more an itk question, I hope someone here may give me a hint. The reader is defined as: itk::ImageFileReader> An runtime error occurred when I was trying to read a volume of 6e9 at FloatingPoint Thank you. Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Mon Aug 3 05:55:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 3 Aug 2015 11:55:19 +0200 Subject: [Rtk-users] Limit of the Image Reader In-Reply-To: References: Message-ID: Hi Louie, I think it depends on your computer RAM, there is no theoretical limit as far as I know. 6e9 floats is 24 GB of RAM. Simon On Mon, Aug 3, 2015 at 11:34 AM, ghostcz wrote: > Dear rtk users/developers, > > > > What is the largest volume an image reader can take? > > Although this is more an itk question, I hope someone here may give me a > hint. > > The reader is defined as: > > itk::ImageFileReader> > > An runtime error occurred when I was trying to read a volume of > 6e9 at FloatingPoint > > > > Thank you. > > > > Best regards, > > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 04:49:21 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 10:49:21 +0200 Subject: [Rtk-users] CUFFT error Message-ID: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 06:09:04 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 12:09:04 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi, >From this page , you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory This is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > Dear rtk users/developers, > > I was testing the rtkfdk.exe application. > The program ran into an error and caught an exception saying: > ? > itk::ExceptionObject (00000000002EEA60) > Location: "unknown" > File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu > Line: 97 > Description: itk::ERROR: CUFFT ERROR #2? > To save you a trip to the documentation, Line: 97 is here: > ? > if(fftDimension.z==1) > result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, > CUFFT_R2C); > else > result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, > inputDimension.x, CUFFT_R2C); > CUFFT_CHECK_ERROR(result); > ? > > This occurred when --spacing=0.04623, while the program works just fine if > I use --spacing=0.05. > Is there anyone can help me with this? > > Best regards, > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 07:05:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 13:05:44 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, >From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 07:27:54 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 13:27:54 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > Thank you. > I kept the dimension to the same value. I think reducing the spacing will > need less rows in the projections, because the physical length will reduce > with the spacing. > Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. > Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin > is always updated with ?0.5*spacing*(size-1); > > Best regards, > Louie > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 12:09 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Hi, > From this page, you have > > CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory > > This is not suprising that you have a GPU memory issue when decreasing the > spacing because a finer volume spacing might require more rows of the > projections for the reconstruction and therefore you can end up with being > out of memory. Try processing one projection at a time with --subsetsize 1. > If it's still too large, you'll have to change your --dimension to process > a smaller volume in the y direction. > Simon > > On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > >> Dear rtk users/developers, >> >> I was testing the rtkfdk.exe application. >> The program ran into an error and caught an exception saying: >> ? >> itk::ExceptionObject (00000000002EEA60) >> Location: "unknown" >> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >> Line: 97 >> Description: itk::ERROR: CUFFT ERROR #2? >> To save you a trip to the documentation, Line: 97 is here: >> ? >> if(fftDimension.z==1) >> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >> CUFFT_R2C); >> else >> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >> inputDimension.x, CUFFT_R2C); >> CUFFT_CHECK_ERROR(result); >> ? >> >> This occurred when --spacing=0.04623, while the program works just fine >> if I use --spacing=0.05. >> Is there anyone can help me with this? >> >> Best regards, >> Louie >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 09:00:30 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 15:00:30 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 10:43:28 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 16:43:28 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: > Hi > If I use spacing =0.4623 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 16805888 bytes > Used memory = 5351706624 bytes > Used memory = 99.687% > ----------------------------------------------then it crashed. > > If I use spacing =0.462 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 146837504 bytes > Used memory = 5221675008 bytes > Used memory = 97.2648% > ----------------------------------------------didn?t crash, but a near > miss. > > Yes, it looks like a memory problem. But why a small change in spacing > will increase the memory consumption? > > Best regards, > Louie > > > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 1:27 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Then I don't see what else could be the problem. If it's a GPU memory > issue, you'll see it by adding the following command > > { > > size_t free, used, total; > cudaMemGetInfo(&free, &total); > used = total - free; > > std::cout << std::endl; > std::cout << "------------- Device memory usage ------------" << > std::endl; > std::cout << "Total memory = " << total << " bytes" << std::endl; > std::cout << "Free memory = " << free << " bytes" << std::endl; > std::cout << "Used memory = " << used << " bytes" << std::endl; > std::cout << "Used memory = " << (used * 100.0 / total) << "%" << > std::endl; > std::cout << "----------------------------------------------" << > std::endl; > std::cout << std::endl; > } > > before the crashing command. If the memory is the issue, then I'm not sure > I understand why either, I quite agree with your comments. If it's not a > memory issue, then I don't know what's the problem... > Simon > > On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > >> Thank you. >> I kept the dimension to the same value. I think reducing the spacing will >> need less rows in the projections, because the physical length will reduce >> with the spacing. >> Interestingly, it also works if I use 0.0462 instead of 0.04623 as >> spacing. >> Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The >> origin is always updated with ?0.5*spacing*(size-1); >> >> Best regards, >> Louie >> >> *From:* Simon Rit >> *Sent:* Tuesday, August 04, 2015 12:09 PM >> *To:* ghostcz >> *Cc:* rtk-users at public.kitware.com >> *Subject:* Re: [Rtk-users] CUFFT error >> >> Hi, >> From this page, you have >> >> CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory >> >> This is not suprising that you have a GPU memory issue when decreasing >> the spacing because a finer volume spacing might require more rows of the >> projections for the reconstruction and therefore you can end up with being >> out of memory. Try processing one projection at a time with --subsetsize 1. >> If it's still too large, you'll have to change your --dimension to process >> a smaller volume in the y direction. >> Simon >> >> On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: >> >>> Dear rtk users/developers, >>> >>> I was testing the rtkfdk.exe application. >>> The program ran into an error and caught an exception saying: >>> ? >>> itk::ExceptionObject (00000000002EEA60) >>> Location: "unknown" >>> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >>> Line: 97 >>> Description: itk::ERROR: CUFFT ERROR #2? >>> To save you a trip to the documentation, Line: 97 is here: >>> ? >>> if(fftDimension.z==1) >>> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >>> CUFFT_R2C); >>> else >>> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >>> inputDimension.x, CUFFT_R2C); >>> CUFFT_CHECK_ERROR(result); >>> ? >>> >>> This occurred when --spacing=0.04623, while the program works just fine >>> if I use --spacing=0.05. >>> Is there anyone can help me with this? >>> >>> Best regards, >>> Louie >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 10:50:18 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 16:50:18 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: sure thing... From: Simon Rit Sent: Tuesday, August 04, 2015 4:43 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Wed Aug 5 20:00:35 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 03:00:35 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? Message-ID: Dear Simon and RTK community, considering in rtksart ,we have --positivity to force the reconstructed volume values to be positive(i guess, not tested yet), i was wondering if we have any options and commands to have the same effect in algorithms fdk and admmtv since --positivity can not be found? the Boellaard scatter correction: --nonneg is what i am looking for? Thanks in advance. Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 01:27:11 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 07:27:11 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, No there is no option to force the output volume to 0. This is not the same as sart where you might want to do it during the iterations. In the FDK case, it's only post-processing so there is not really a reason to put it in rtkfdk. The nonneg option is the minimum value of the intensity that you allow the Boellaard algorithm to reach after scatter correction. This does not prevent negative values in the volume because the ramp filter might create negative values from positive projections. Simon On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang wrote: > Dear Simon and RTK community, > considering in rtksart ,we have --positivity to force the reconstructed > volume values to be positive(i guess, not tested yet), i was wondering if > we have any options and commands to have the same effect in algorithms fdk > and admmtv since --positivity can not be found? > the Boellaard scatter correction: --nonneg is what i am looking for? > Thanks in advance. > Guangming > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 04:34:39 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 10:34:39 +0200 Subject: [Rtk-users] RTK user meeting on image quality in static CBCT In-Reply-To: References: Message-ID: Dear RTK users, I have written a summary of the discussions during the meeting here http://wiki.openrtk.org/index.php/RTK/ImageQuality This page will be updated with new developments in the future. Regards, Simon On Tue, Jun 16, 2015 at 10:14 AM, Simon Rit wrote: > Hi, > The consensus date is Friday July 31, 2015. Save the date! > The meeting will be at the L?on B?rard center in Lyon, I'll soon > provide more details on the organization. > Simon > > On Wed, Jun 10, 2015 at 10:12 AM, Simon Rit > wrote: > > Dear RTK users and developers, > > We are a few users to face the same problem of poor image quality in > > cone-beam CT due to photon statistics, detector effects (lag, glare, > ...), > > beam hardening and/or scatter. RTK has basic solutions, there are other > > solutions being implemented and we would like better solutions > implemented. > > I would like to invite those that want to contribute to this topic to a > > one-day meeting in Lyon the last week of July. > > > > Goals: > > - present and discuss existing RTK solutions, > > - present and discuss solutions being implemented in RTK, > > - propose the development of new solutions and share the work. > > > > Place: Lyon, France (exact location to be announced) > > > > Time: last week of July, day to be determined, please complete foodle if > > you're interested. > > > > Cost: free but you'll have to organize your travel and hotel plans (I'll > > send suggestions later). > > > > If there is a specific algorithm that you would like to discuss, please > send > > me an email with the reference. I will put together a list of references > to > > read before the meeting. > > I hope to see you all at the end of July. > > Simon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Thu Aug 6 04:58:42 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 11:58:42 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi Simon, thanks for the explanation in detail. ?i can understand why? there is only post-processing for fdk algorithm now, but why don't we do the non-negative checking during each ADMM iteration? after all, in my opinion, in most of applications, only volume values that between [0,positive infinite) make sense. Regards Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* 2015-08-06 8:27 GMT+03:00 Simon Rit : > Hi, > No there is no option to force the output volume to 0. This is not the > same as sart where you might want to do it during the iterations. In the > FDK case, it's only post-processing so there is not really a reason to put > it in rtkfdk. > The nonneg option is the minimum value of the intensity that you allow the > Boellaard algorithm to reach after scatter correction. This does not > prevent negative values in the volume because the ramp filter might create > negative values from positive projections. > Simon > > On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < > guangming.zang at kaust.edu.sa> wrote: > >> Dear Simon and RTK community, >> considering in rtksart ,we have --positivity to force the reconstructed >> volume values to be positive(i guess, not tested yet), i was wondering if >> we have any options and commands to have the same effect in algorithms fdk >> and admmtv since --positivity can not be found? >> the Boellaard scatter correction: --nonneg is what i am looking for? >> Thanks in advance. >> Guangming >> *Guangming Zang (Alex)* >> *King Abdullah University of Science and Technology(KAUST)* >> *University of Chinese Academy of Sciences(UCAS)* >> >> >> >> >> ------------------------------ >> This message and its contents, including attachments are intended solely >> for the original recipient. If you are not the intended recipient or have >> received this message in error, please notify me immediately and delete >> this message from your computer system. Any unauthorized use or >> distribution is prohibited. Please consider the environment before printing >> this email. > > > -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 08:37:41 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 14:37:41 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, I haven't implemented the ADMM algorithm but adding a constraint such as positivity in iterative reconstruction is not a straightforward thing. The way it's done in SART and ROOSTER is heuristic and there is no proof of convergence. Still, you can easily add it in this way if you want to but you'll have to modify the code. There is a wealth of literature on the topic if you want to read it. To illustrate this complexity, you can read the paper of Cyril Mory at the CT meeting last year. Simon On Thu, Aug 6, 2015 at 10:58 AM, Guangming Zang wrote: > Hi Simon, > thanks for the explanation in detail. > ?i can understand why? there is only post-processing for fdk algorithm now, > but why don't we do the non-negative checking during each ADMM iteration? > after all, in my opinion, in most of applications, only volume values that > between [0,positive infinite) make sense. > Regards > Guangming > > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > 2015-08-06 8:27 GMT+03:00 Simon Rit : > >> Hi, >> No there is no option to force the output volume to 0. This is not the >> same as sart where you might want to do it during the iterations. In the >> FDK case, it's only post-processing so there is not really a reason to put >> it in rtkfdk. >> The nonneg option is the minimum value of the intensity that you allow >> the Boellaard algorithm to reach after scatter correction. This does not >> prevent negative values in the volume because the ramp filter might create >> negative values from positive projections. >> Simon >> >> On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < >> guangming.zang at kaust.edu.sa> wrote: >> >>> Dear Simon and RTK community, >>> considering in rtksart ,we have --positivity to force the reconstructed >>> volume values to be positive(i guess, not tested yet), i was wondering if >>> we have any options and commands to have the same effect in algorithms fdk >>> and admmtv since --positivity can not be found? >>> the Boellaard scatter correction: --nonneg is what i am looking for? >>> Thanks in advance. >>> Guangming >>> *Guangming Zang (Alex)* >>> *King Abdullah University of Science and Technology(KAUST)* >>> *University of Chinese Academy of Sciences(UCAS)* >>> >>> >>> >>> >>> ------------------------------ >>> This message and its contents, including attachments are intended solely >>> for the original recipient. If you are not the intended recipient or have >>> received this message in error, please notify me immediately and delete >>> this message from your computer system. Any unauthorized use or >>> distribution is prohibited. Please consider the environment before printing >>> this email. >> >> >> > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julia.mascolo-fortin.1 at ulaval.ca Tue Aug 25 13:25:54 2015 From: julia.mascolo-fortin.1 at ulaval.ca (Julia Mascolo-Fortin) Date: Tue, 25 Aug 2015 17:25:54 +0000 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> References: , <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> Message-ID: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Hi, I'm working on a program that use ITK and the RTK module ITKCudaCommon. It works fine on my computer. However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw an error: RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : Cuda Error : all CUDA-capable devices are busy or unavailable terminate called after throwing an instance of 'itk::ExceptionObject' what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: Cuda Error : all CUDA-capable devices are busy or unavailable This error is obtained in this line in my code: float *d_Projections = *(float**)( m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); This error is weird because the program clearly state "Found 1 CUDA enabled device[s]" and I have been able to run another program on that cluster without any problem. If anyone has experience with the implementation on RTK program on a GPU cluster, your help would be appreciated. Julia Mascolo-Fortin From simon.rit at creatis.insa-lyon.fr Sun Aug 30 14:23:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Sun, 30 Aug 2015 20:23:19 +0200 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> References: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Message-ID: Hi, I have used it on a cluster node with 2 GPUs without any problem. Have you tried nvidia code to check if it's a problem with the ITKCudaCommon package or with your system? From this forum , it seems that this problem is independent of ITKCudaCommon... Simon On Tue, Aug 25, 2015 at 7:25 PM, Julia Mascolo-Fortin < julia.mascolo-fortin.1 at ulaval.ca> wrote: > Hi, > > I'm working on a program that use ITK and the RTK module ITKCudaCommon. It > works fine on my computer. > > However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw > an error: > > RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : > Cuda Error : all CUDA-capable devices are busy or unavailable > > terminate called after throwing an instance of 'itk::ExceptionObject' > what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: > Cuda Error : all CUDA-capable devices are busy or unavailable > > > This error is obtained in this line in my code: > > float *d_Projections = *(float**)( > m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); > > > This error is weird because the program clearly state "Found 1 CUDA > enabled device[s]" and I have been able to run another program on that > cluster without any problem. > > > If anyone has experience with the implementation on RTK program on a GPU > cluster, your help would be appreciated. > > Julia Mascolo-Fortin > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Mon Aug 3 05:34:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Mon, 3 Aug 2015 11:34:44 +0200 Subject: [Rtk-users] Limit of the Image Reader Message-ID: Dear rtk users/developers, What is the largest volume an image reader can take? Although this is more an itk question, I hope someone here may give me a hint. The reader is defined as: itk::ImageFileReader> An runtime error occurred when I was trying to read a volume of 6e9 at FloatingPoint Thank you. Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Mon Aug 3 05:55:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 3 Aug 2015 11:55:19 +0200 Subject: [Rtk-users] Limit of the Image Reader In-Reply-To: References: Message-ID: Hi Louie, I think it depends on your computer RAM, there is no theoretical limit as far as I know. 6e9 floats is 24 GB of RAM. Simon On Mon, Aug 3, 2015 at 11:34 AM, ghostcz wrote: > Dear rtk users/developers, > > > > What is the largest volume an image reader can take? > > Although this is more an itk question, I hope someone here may give me a > hint. > > The reader is defined as: > > itk::ImageFileReader> > > An runtime error occurred when I was trying to read a volume of > 6e9 at FloatingPoint > > > > Thank you. > > > > Best regards, > > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 04:49:21 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 10:49:21 +0200 Subject: [Rtk-users] CUFFT error Message-ID: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 06:09:04 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 12:09:04 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi, >From this page , you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory This is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > Dear rtk users/developers, > > I was testing the rtkfdk.exe application. > The program ran into an error and caught an exception saying: > ? > itk::ExceptionObject (00000000002EEA60) > Location: "unknown" > File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu > Line: 97 > Description: itk::ERROR: CUFFT ERROR #2? > To save you a trip to the documentation, Line: 97 is here: > ? > if(fftDimension.z==1) > result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, > CUFFT_R2C); > else > result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, > inputDimension.x, CUFFT_R2C); > CUFFT_CHECK_ERROR(result); > ? > > This occurred when --spacing=0.04623, while the program works just fine if > I use --spacing=0.05. > Is there anyone can help me with this? > > Best regards, > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 07:05:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 13:05:44 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, >From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 07:27:54 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 13:27:54 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > Thank you. > I kept the dimension to the same value. I think reducing the spacing will > need less rows in the projections, because the physical length will reduce > with the spacing. > Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. > Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin > is always updated with ?0.5*spacing*(size-1); > > Best regards, > Louie > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 12:09 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Hi, > From this page, you have > > CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory > > This is not suprising that you have a GPU memory issue when decreasing the > spacing because a finer volume spacing might require more rows of the > projections for the reconstruction and therefore you can end up with being > out of memory. Try processing one projection at a time with --subsetsize 1. > If it's still too large, you'll have to change your --dimension to process > a smaller volume in the y direction. > Simon > > On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > >> Dear rtk users/developers, >> >> I was testing the rtkfdk.exe application. >> The program ran into an error and caught an exception saying: >> ? >> itk::ExceptionObject (00000000002EEA60) >> Location: "unknown" >> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >> Line: 97 >> Description: itk::ERROR: CUFFT ERROR #2? >> To save you a trip to the documentation, Line: 97 is here: >> ? >> if(fftDimension.z==1) >> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >> CUFFT_R2C); >> else >> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >> inputDimension.x, CUFFT_R2C); >> CUFFT_CHECK_ERROR(result); >> ? >> >> This occurred when --spacing=0.04623, while the program works just fine >> if I use --spacing=0.05. >> Is there anyone can help me with this? >> >> Best regards, >> Louie >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 09:00:30 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 15:00:30 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 10:43:28 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 16:43:28 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: > Hi > If I use spacing =0.4623 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 16805888 bytes > Used memory = 5351706624 bytes > Used memory = 99.687% > ----------------------------------------------then it crashed. > > If I use spacing =0.462 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 146837504 bytes > Used memory = 5221675008 bytes > Used memory = 97.2648% > ----------------------------------------------didn?t crash, but a near > miss. > > Yes, it looks like a memory problem. But why a small change in spacing > will increase the memory consumption? > > Best regards, > Louie > > > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 1:27 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Then I don't see what else could be the problem. If it's a GPU memory > issue, you'll see it by adding the following command > > { > > size_t free, used, total; > cudaMemGetInfo(&free, &total); > used = total - free; > > std::cout << std::endl; > std::cout << "------------- Device memory usage ------------" << > std::endl; > std::cout << "Total memory = " << total << " bytes" << std::endl; > std::cout << "Free memory = " << free << " bytes" << std::endl; > std::cout << "Used memory = " << used << " bytes" << std::endl; > std::cout << "Used memory = " << (used * 100.0 / total) << "%" << > std::endl; > std::cout << "----------------------------------------------" << > std::endl; > std::cout << std::endl; > } > > before the crashing command. If the memory is the issue, then I'm not sure > I understand why either, I quite agree with your comments. If it's not a > memory issue, then I don't know what's the problem... > Simon > > On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > >> Thank you. >> I kept the dimension to the same value. I think reducing the spacing will >> need less rows in the projections, because the physical length will reduce >> with the spacing. >> Interestingly, it also works if I use 0.0462 instead of 0.04623 as >> spacing. >> Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The >> origin is always updated with ?0.5*spacing*(size-1); >> >> Best regards, >> Louie >> >> *From:* Simon Rit >> *Sent:* Tuesday, August 04, 2015 12:09 PM >> *To:* ghostcz >> *Cc:* rtk-users at public.kitware.com >> *Subject:* Re: [Rtk-users] CUFFT error >> >> Hi, >> From this page, you have >> >> CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory >> >> This is not suprising that you have a GPU memory issue when decreasing >> the spacing because a finer volume spacing might require more rows of the >> projections for the reconstruction and therefore you can end up with being >> out of memory. Try processing one projection at a time with --subsetsize 1. >> If it's still too large, you'll have to change your --dimension to process >> a smaller volume in the y direction. >> Simon >> >> On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: >> >>> Dear rtk users/developers, >>> >>> I was testing the rtkfdk.exe application. >>> The program ran into an error and caught an exception saying: >>> ? >>> itk::ExceptionObject (00000000002EEA60) >>> Location: "unknown" >>> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >>> Line: 97 >>> Description: itk::ERROR: CUFFT ERROR #2? >>> To save you a trip to the documentation, Line: 97 is here: >>> ? >>> if(fftDimension.z==1) >>> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >>> CUFFT_R2C); >>> else >>> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >>> inputDimension.x, CUFFT_R2C); >>> CUFFT_CHECK_ERROR(result); >>> ? >>> >>> This occurred when --spacing=0.04623, while the program works just fine >>> if I use --spacing=0.05. >>> Is there anyone can help me with this? >>> >>> Best regards, >>> Louie >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 10:50:18 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 16:50:18 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: sure thing... From: Simon Rit Sent: Tuesday, August 04, 2015 4:43 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Wed Aug 5 20:00:35 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 03:00:35 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? Message-ID: Dear Simon and RTK community, considering in rtksart ,we have --positivity to force the reconstructed volume values to be positive(i guess, not tested yet), i was wondering if we have any options and commands to have the same effect in algorithms fdk and admmtv since --positivity can not be found? the Boellaard scatter correction: --nonneg is what i am looking for? Thanks in advance. Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 01:27:11 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 07:27:11 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, No there is no option to force the output volume to 0. This is not the same as sart where you might want to do it during the iterations. In the FDK case, it's only post-processing so there is not really a reason to put it in rtkfdk. The nonneg option is the minimum value of the intensity that you allow the Boellaard algorithm to reach after scatter correction. This does not prevent negative values in the volume because the ramp filter might create negative values from positive projections. Simon On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang wrote: > Dear Simon and RTK community, > considering in rtksart ,we have --positivity to force the reconstructed > volume values to be positive(i guess, not tested yet), i was wondering if > we have any options and commands to have the same effect in algorithms fdk > and admmtv since --positivity can not be found? > the Boellaard scatter correction: --nonneg is what i am looking for? > Thanks in advance. > Guangming > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 04:34:39 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 10:34:39 +0200 Subject: [Rtk-users] RTK user meeting on image quality in static CBCT In-Reply-To: References: Message-ID: Dear RTK users, I have written a summary of the discussions during the meeting here http://wiki.openrtk.org/index.php/RTK/ImageQuality This page will be updated with new developments in the future. Regards, Simon On Tue, Jun 16, 2015 at 10:14 AM, Simon Rit wrote: > Hi, > The consensus date is Friday July 31, 2015. Save the date! > The meeting will be at the L?on B?rard center in Lyon, I'll soon > provide more details on the organization. > Simon > > On Wed, Jun 10, 2015 at 10:12 AM, Simon Rit > wrote: > > Dear RTK users and developers, > > We are a few users to face the same problem of poor image quality in > > cone-beam CT due to photon statistics, detector effects (lag, glare, > ...), > > beam hardening and/or scatter. RTK has basic solutions, there are other > > solutions being implemented and we would like better solutions > implemented. > > I would like to invite those that want to contribute to this topic to a > > one-day meeting in Lyon the last week of July. > > > > Goals: > > - present and discuss existing RTK solutions, > > - present and discuss solutions being implemented in RTK, > > - propose the development of new solutions and share the work. > > > > Place: Lyon, France (exact location to be announced) > > > > Time: last week of July, day to be determined, please complete foodle if > > you're interested. > > > > Cost: free but you'll have to organize your travel and hotel plans (I'll > > send suggestions later). > > > > If there is a specific algorithm that you would like to discuss, please > send > > me an email with the reference. I will put together a list of references > to > > read before the meeting. > > I hope to see you all at the end of July. > > Simon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Thu Aug 6 04:58:42 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 11:58:42 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi Simon, thanks for the explanation in detail. ?i can understand why? there is only post-processing for fdk algorithm now, but why don't we do the non-negative checking during each ADMM iteration? after all, in my opinion, in most of applications, only volume values that between [0,positive infinite) make sense. Regards Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* 2015-08-06 8:27 GMT+03:00 Simon Rit : > Hi, > No there is no option to force the output volume to 0. This is not the > same as sart where you might want to do it during the iterations. In the > FDK case, it's only post-processing so there is not really a reason to put > it in rtkfdk. > The nonneg option is the minimum value of the intensity that you allow the > Boellaard algorithm to reach after scatter correction. This does not > prevent negative values in the volume because the ramp filter might create > negative values from positive projections. > Simon > > On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < > guangming.zang at kaust.edu.sa> wrote: > >> Dear Simon and RTK community, >> considering in rtksart ,we have --positivity to force the reconstructed >> volume values to be positive(i guess, not tested yet), i was wondering if >> we have any options and commands to have the same effect in algorithms fdk >> and admmtv since --positivity can not be found? >> the Boellaard scatter correction: --nonneg is what i am looking for? >> Thanks in advance. >> Guangming >> *Guangming Zang (Alex)* >> *King Abdullah University of Science and Technology(KAUST)* >> *University of Chinese Academy of Sciences(UCAS)* >> >> >> >> >> ------------------------------ >> This message and its contents, including attachments are intended solely >> for the original recipient. If you are not the intended recipient or have >> received this message in error, please notify me immediately and delete >> this message from your computer system. Any unauthorized use or >> distribution is prohibited. Please consider the environment before printing >> this email. > > > -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 08:37:41 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 14:37:41 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, I haven't implemented the ADMM algorithm but adding a constraint such as positivity in iterative reconstruction is not a straightforward thing. The way it's done in SART and ROOSTER is heuristic and there is no proof of convergence. Still, you can easily add it in this way if you want to but you'll have to modify the code. There is a wealth of literature on the topic if you want to read it. To illustrate this complexity, you can read the paper of Cyril Mory at the CT meeting last year. Simon On Thu, Aug 6, 2015 at 10:58 AM, Guangming Zang wrote: > Hi Simon, > thanks for the explanation in detail. > ?i can understand why? there is only post-processing for fdk algorithm now, > but why don't we do the non-negative checking during each ADMM iteration? > after all, in my opinion, in most of applications, only volume values that > between [0,positive infinite) make sense. > Regards > Guangming > > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > 2015-08-06 8:27 GMT+03:00 Simon Rit : > >> Hi, >> No there is no option to force the output volume to 0. This is not the >> same as sart where you might want to do it during the iterations. In the >> FDK case, it's only post-processing so there is not really a reason to put >> it in rtkfdk. >> The nonneg option is the minimum value of the intensity that you allow >> the Boellaard algorithm to reach after scatter correction. This does not >> prevent negative values in the volume because the ramp filter might create >> negative values from positive projections. >> Simon >> >> On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < >> guangming.zang at kaust.edu.sa> wrote: >> >>> Dear Simon and RTK community, >>> considering in rtksart ,we have --positivity to force the reconstructed >>> volume values to be positive(i guess, not tested yet), i was wondering if >>> we have any options and commands to have the same effect in algorithms fdk >>> and admmtv since --positivity can not be found? >>> the Boellaard scatter correction: --nonneg is what i am looking for? >>> Thanks in advance. >>> Guangming >>> *Guangming Zang (Alex)* >>> *King Abdullah University of Science and Technology(KAUST)* >>> *University of Chinese Academy of Sciences(UCAS)* >>> >>> >>> >>> >>> ------------------------------ >>> This message and its contents, including attachments are intended solely >>> for the original recipient. If you are not the intended recipient or have >>> received this message in error, please notify me immediately and delete >>> this message from your computer system. Any unauthorized use or >>> distribution is prohibited. Please consider the environment before printing >>> this email. >> >> >> > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julia.mascolo-fortin.1 at ulaval.ca Tue Aug 25 13:25:54 2015 From: julia.mascolo-fortin.1 at ulaval.ca (Julia Mascolo-Fortin) Date: Tue, 25 Aug 2015 17:25:54 +0000 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> References: , <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> Message-ID: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Hi, I'm working on a program that use ITK and the RTK module ITKCudaCommon. It works fine on my computer. However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw an error: RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : Cuda Error : all CUDA-capable devices are busy or unavailable terminate called after throwing an instance of 'itk::ExceptionObject' what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: Cuda Error : all CUDA-capable devices are busy or unavailable This error is obtained in this line in my code: float *d_Projections = *(float**)( m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); This error is weird because the program clearly state "Found 1 CUDA enabled device[s]" and I have been able to run another program on that cluster without any problem. If anyone has experience with the implementation on RTK program on a GPU cluster, your help would be appreciated. Julia Mascolo-Fortin From simon.rit at creatis.insa-lyon.fr Sun Aug 30 14:23:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Sun, 30 Aug 2015 20:23:19 +0200 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> References: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Message-ID: Hi, I have used it on a cluster node with 2 GPUs without any problem. Have you tried nvidia code to check if it's a problem with the ITKCudaCommon package or with your system? From this forum , it seems that this problem is independent of ITKCudaCommon... Simon On Tue, Aug 25, 2015 at 7:25 PM, Julia Mascolo-Fortin < julia.mascolo-fortin.1 at ulaval.ca> wrote: > Hi, > > I'm working on a program that use ITK and the RTK module ITKCudaCommon. It > works fine on my computer. > > However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw > an error: > > RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : > Cuda Error : all CUDA-capable devices are busy or unavailable > > terminate called after throwing an instance of 'itk::ExceptionObject' > what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: > Cuda Error : all CUDA-capable devices are busy or unavailable > > > This error is obtained in this line in my code: > > float *d_Projections = *(float**)( > m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); > > > This error is weird because the program clearly state "Found 1 CUDA > enabled device[s]" and I have been able to run another program on that > cluster without any problem. > > > If anyone has experience with the implementation on RTK program on a GPU > cluster, your help would be appreciated. > > Julia Mascolo-Fortin > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Mon Aug 3 05:34:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Mon, 3 Aug 2015 11:34:44 +0200 Subject: [Rtk-users] Limit of the Image Reader Message-ID: Dear rtk users/developers, What is the largest volume an image reader can take? Although this is more an itk question, I hope someone here may give me a hint. The reader is defined as: itk::ImageFileReader> An runtime error occurred when I was trying to read a volume of 6e9 at FloatingPoint Thank you. Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Mon Aug 3 05:55:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 3 Aug 2015 11:55:19 +0200 Subject: [Rtk-users] Limit of the Image Reader In-Reply-To: References: Message-ID: Hi Louie, I think it depends on your computer RAM, there is no theoretical limit as far as I know. 6e9 floats is 24 GB of RAM. Simon On Mon, Aug 3, 2015 at 11:34 AM, ghostcz wrote: > Dear rtk users/developers, > > > > What is the largest volume an image reader can take? > > Although this is more an itk question, I hope someone here may give me a > hint. > > The reader is defined as: > > itk::ImageFileReader> > > An runtime error occurred when I was trying to read a volume of > 6e9 at FloatingPoint > > > > Thank you. > > > > Best regards, > > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 04:49:21 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 10:49:21 +0200 Subject: [Rtk-users] CUFFT error Message-ID: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 06:09:04 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 12:09:04 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi, >From this page , you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory This is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > Dear rtk users/developers, > > I was testing the rtkfdk.exe application. > The program ran into an error and caught an exception saying: > ? > itk::ExceptionObject (00000000002EEA60) > Location: "unknown" > File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu > Line: 97 > Description: itk::ERROR: CUFFT ERROR #2? > To save you a trip to the documentation, Line: 97 is here: > ? > if(fftDimension.z==1) > result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, > CUFFT_R2C); > else > result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, > inputDimension.x, CUFFT_R2C); > CUFFT_CHECK_ERROR(result); > ? > > This occurred when --spacing=0.04623, while the program works just fine if > I use --spacing=0.05. > Is there anyone can help me with this? > > Best regards, > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 07:05:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 13:05:44 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, >From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 07:27:54 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 13:27:54 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > Thank you. > I kept the dimension to the same value. I think reducing the spacing will > need less rows in the projections, because the physical length will reduce > with the spacing. > Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. > Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin > is always updated with ?0.5*spacing*(size-1); > > Best regards, > Louie > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 12:09 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Hi, > From this page, you have > > CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory > > This is not suprising that you have a GPU memory issue when decreasing the > spacing because a finer volume spacing might require more rows of the > projections for the reconstruction and therefore you can end up with being > out of memory. Try processing one projection at a time with --subsetsize 1. > If it's still too large, you'll have to change your --dimension to process > a smaller volume in the y direction. > Simon > > On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > >> Dear rtk users/developers, >> >> I was testing the rtkfdk.exe application. >> The program ran into an error and caught an exception saying: >> ? >> itk::ExceptionObject (00000000002EEA60) >> Location: "unknown" >> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >> Line: 97 >> Description: itk::ERROR: CUFFT ERROR #2? >> To save you a trip to the documentation, Line: 97 is here: >> ? >> if(fftDimension.z==1) >> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >> CUFFT_R2C); >> else >> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >> inputDimension.x, CUFFT_R2C); >> CUFFT_CHECK_ERROR(result); >> ? >> >> This occurred when --spacing=0.04623, while the program works just fine >> if I use --spacing=0.05. >> Is there anyone can help me with this? >> >> Best regards, >> Louie >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 09:00:30 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 15:00:30 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 10:43:28 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 16:43:28 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: > Hi > If I use spacing =0.4623 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 16805888 bytes > Used memory = 5351706624 bytes > Used memory = 99.687% > ----------------------------------------------then it crashed. > > If I use spacing =0.462 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 146837504 bytes > Used memory = 5221675008 bytes > Used memory = 97.2648% > ----------------------------------------------didn?t crash, but a near > miss. > > Yes, it looks like a memory problem. But why a small change in spacing > will increase the memory consumption? > > Best regards, > Louie > > > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 1:27 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Then I don't see what else could be the problem. If it's a GPU memory > issue, you'll see it by adding the following command > > { > > size_t free, used, total; > cudaMemGetInfo(&free, &total); > used = total - free; > > std::cout << std::endl; > std::cout << "------------- Device memory usage ------------" << > std::endl; > std::cout << "Total memory = " << total << " bytes" << std::endl; > std::cout << "Free memory = " << free << " bytes" << std::endl; > std::cout << "Used memory = " << used << " bytes" << std::endl; > std::cout << "Used memory = " << (used * 100.0 / total) << "%" << > std::endl; > std::cout << "----------------------------------------------" << > std::endl; > std::cout << std::endl; > } > > before the crashing command. If the memory is the issue, then I'm not sure > I understand why either, I quite agree with your comments. If it's not a > memory issue, then I don't know what's the problem... > Simon > > On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > >> Thank you. >> I kept the dimension to the same value. I think reducing the spacing will >> need less rows in the projections, because the physical length will reduce >> with the spacing. >> Interestingly, it also works if I use 0.0462 instead of 0.04623 as >> spacing. >> Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The >> origin is always updated with ?0.5*spacing*(size-1); >> >> Best regards, >> Louie >> >> *From:* Simon Rit >> *Sent:* Tuesday, August 04, 2015 12:09 PM >> *To:* ghostcz >> *Cc:* rtk-users at public.kitware.com >> *Subject:* Re: [Rtk-users] CUFFT error >> >> Hi, >> From this page, you have >> >> CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory >> >> This is not suprising that you have a GPU memory issue when decreasing >> the spacing because a finer volume spacing might require more rows of the >> projections for the reconstruction and therefore you can end up with being >> out of memory. Try processing one projection at a time with --subsetsize 1. >> If it's still too large, you'll have to change your --dimension to process >> a smaller volume in the y direction. >> Simon >> >> On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: >> >>> Dear rtk users/developers, >>> >>> I was testing the rtkfdk.exe application. >>> The program ran into an error and caught an exception saying: >>> ? >>> itk::ExceptionObject (00000000002EEA60) >>> Location: "unknown" >>> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >>> Line: 97 >>> Description: itk::ERROR: CUFFT ERROR #2? >>> To save you a trip to the documentation, Line: 97 is here: >>> ? >>> if(fftDimension.z==1) >>> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >>> CUFFT_R2C); >>> else >>> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >>> inputDimension.x, CUFFT_R2C); >>> CUFFT_CHECK_ERROR(result); >>> ? >>> >>> This occurred when --spacing=0.04623, while the program works just fine >>> if I use --spacing=0.05. >>> Is there anyone can help me with this? >>> >>> Best regards, >>> Louie >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 10:50:18 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 16:50:18 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: sure thing... From: Simon Rit Sent: Tuesday, August 04, 2015 4:43 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Wed Aug 5 20:00:35 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 03:00:35 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? Message-ID: Dear Simon and RTK community, considering in rtksart ,we have --positivity to force the reconstructed volume values to be positive(i guess, not tested yet), i was wondering if we have any options and commands to have the same effect in algorithms fdk and admmtv since --positivity can not be found? the Boellaard scatter correction: --nonneg is what i am looking for? Thanks in advance. Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 01:27:11 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 07:27:11 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, No there is no option to force the output volume to 0. This is not the same as sart where you might want to do it during the iterations. In the FDK case, it's only post-processing so there is not really a reason to put it in rtkfdk. The nonneg option is the minimum value of the intensity that you allow the Boellaard algorithm to reach after scatter correction. This does not prevent negative values in the volume because the ramp filter might create negative values from positive projections. Simon On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang wrote: > Dear Simon and RTK community, > considering in rtksart ,we have --positivity to force the reconstructed > volume values to be positive(i guess, not tested yet), i was wondering if > we have any options and commands to have the same effect in algorithms fdk > and admmtv since --positivity can not be found? > the Boellaard scatter correction: --nonneg is what i am looking for? > Thanks in advance. > Guangming > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 04:34:39 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 10:34:39 +0200 Subject: [Rtk-users] RTK user meeting on image quality in static CBCT In-Reply-To: References: Message-ID: Dear RTK users, I have written a summary of the discussions during the meeting here http://wiki.openrtk.org/index.php/RTK/ImageQuality This page will be updated with new developments in the future. Regards, Simon On Tue, Jun 16, 2015 at 10:14 AM, Simon Rit wrote: > Hi, > The consensus date is Friday July 31, 2015. Save the date! > The meeting will be at the L?on B?rard center in Lyon, I'll soon > provide more details on the organization. > Simon > > On Wed, Jun 10, 2015 at 10:12 AM, Simon Rit > wrote: > > Dear RTK users and developers, > > We are a few users to face the same problem of poor image quality in > > cone-beam CT due to photon statistics, detector effects (lag, glare, > ...), > > beam hardening and/or scatter. RTK has basic solutions, there are other > > solutions being implemented and we would like better solutions > implemented. > > I would like to invite those that want to contribute to this topic to a > > one-day meeting in Lyon the last week of July. > > > > Goals: > > - present and discuss existing RTK solutions, > > - present and discuss solutions being implemented in RTK, > > - propose the development of new solutions and share the work. > > > > Place: Lyon, France (exact location to be announced) > > > > Time: last week of July, day to be determined, please complete foodle if > > you're interested. > > > > Cost: free but you'll have to organize your travel and hotel plans (I'll > > send suggestions later). > > > > If there is a specific algorithm that you would like to discuss, please > send > > me an email with the reference. I will put together a list of references > to > > read before the meeting. > > I hope to see you all at the end of July. > > Simon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Thu Aug 6 04:58:42 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 11:58:42 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi Simon, thanks for the explanation in detail. ?i can understand why? there is only post-processing for fdk algorithm now, but why don't we do the non-negative checking during each ADMM iteration? after all, in my opinion, in most of applications, only volume values that between [0,positive infinite) make sense. Regards Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* 2015-08-06 8:27 GMT+03:00 Simon Rit : > Hi, > No there is no option to force the output volume to 0. This is not the > same as sart where you might want to do it during the iterations. In the > FDK case, it's only post-processing so there is not really a reason to put > it in rtkfdk. > The nonneg option is the minimum value of the intensity that you allow the > Boellaard algorithm to reach after scatter correction. This does not > prevent negative values in the volume because the ramp filter might create > negative values from positive projections. > Simon > > On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < > guangming.zang at kaust.edu.sa> wrote: > >> Dear Simon and RTK community, >> considering in rtksart ,we have --positivity to force the reconstructed >> volume values to be positive(i guess, not tested yet), i was wondering if >> we have any options and commands to have the same effect in algorithms fdk >> and admmtv since --positivity can not be found? >> the Boellaard scatter correction: --nonneg is what i am looking for? >> Thanks in advance. >> Guangming >> *Guangming Zang (Alex)* >> *King Abdullah University of Science and Technology(KAUST)* >> *University of Chinese Academy of Sciences(UCAS)* >> >> >> >> >> ------------------------------ >> This message and its contents, including attachments are intended solely >> for the original recipient. If you are not the intended recipient or have >> received this message in error, please notify me immediately and delete >> this message from your computer system. Any unauthorized use or >> distribution is prohibited. Please consider the environment before printing >> this email. > > > -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 08:37:41 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 14:37:41 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, I haven't implemented the ADMM algorithm but adding a constraint such as positivity in iterative reconstruction is not a straightforward thing. The way it's done in SART and ROOSTER is heuristic and there is no proof of convergence. Still, you can easily add it in this way if you want to but you'll have to modify the code. There is a wealth of literature on the topic if you want to read it. To illustrate this complexity, you can read the paper of Cyril Mory at the CT meeting last year. Simon On Thu, Aug 6, 2015 at 10:58 AM, Guangming Zang wrote: > Hi Simon, > thanks for the explanation in detail. > ?i can understand why? there is only post-processing for fdk algorithm now, > but why don't we do the non-negative checking during each ADMM iteration? > after all, in my opinion, in most of applications, only volume values that > between [0,positive infinite) make sense. > Regards > Guangming > > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > 2015-08-06 8:27 GMT+03:00 Simon Rit : > >> Hi, >> No there is no option to force the output volume to 0. This is not the >> same as sart where you might want to do it during the iterations. In the >> FDK case, it's only post-processing so there is not really a reason to put >> it in rtkfdk. >> The nonneg option is the minimum value of the intensity that you allow >> the Boellaard algorithm to reach after scatter correction. This does not >> prevent negative values in the volume because the ramp filter might create >> negative values from positive projections. >> Simon >> >> On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < >> guangming.zang at kaust.edu.sa> wrote: >> >>> Dear Simon and RTK community, >>> considering in rtksart ,we have --positivity to force the reconstructed >>> volume values to be positive(i guess, not tested yet), i was wondering if >>> we have any options and commands to have the same effect in algorithms fdk >>> and admmtv since --positivity can not be found? >>> the Boellaard scatter correction: --nonneg is what i am looking for? >>> Thanks in advance. >>> Guangming >>> *Guangming Zang (Alex)* >>> *King Abdullah University of Science and Technology(KAUST)* >>> *University of Chinese Academy of Sciences(UCAS)* >>> >>> >>> >>> >>> ------------------------------ >>> This message and its contents, including attachments are intended solely >>> for the original recipient. If you are not the intended recipient or have >>> received this message in error, please notify me immediately and delete >>> this message from your computer system. Any unauthorized use or >>> distribution is prohibited. Please consider the environment before printing >>> this email. >> >> >> > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julia.mascolo-fortin.1 at ulaval.ca Tue Aug 25 13:25:54 2015 From: julia.mascolo-fortin.1 at ulaval.ca (Julia Mascolo-Fortin) Date: Tue, 25 Aug 2015 17:25:54 +0000 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> References: , <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> Message-ID: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Hi, I'm working on a program that use ITK and the RTK module ITKCudaCommon. It works fine on my computer. However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw an error: RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : Cuda Error : all CUDA-capable devices are busy or unavailable terminate called after throwing an instance of 'itk::ExceptionObject' what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: Cuda Error : all CUDA-capable devices are busy or unavailable This error is obtained in this line in my code: float *d_Projections = *(float**)( m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); This error is weird because the program clearly state "Found 1 CUDA enabled device[s]" and I have been able to run another program on that cluster without any problem. If anyone has experience with the implementation on RTK program on a GPU cluster, your help would be appreciated. Julia Mascolo-Fortin From simon.rit at creatis.insa-lyon.fr Sun Aug 30 14:23:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Sun, 30 Aug 2015 20:23:19 +0200 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> References: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Message-ID: Hi, I have used it on a cluster node with 2 GPUs without any problem. Have you tried nvidia code to check if it's a problem with the ITKCudaCommon package or with your system? From this forum , it seems that this problem is independent of ITKCudaCommon... Simon On Tue, Aug 25, 2015 at 7:25 PM, Julia Mascolo-Fortin < julia.mascolo-fortin.1 at ulaval.ca> wrote: > Hi, > > I'm working on a program that use ITK and the RTK module ITKCudaCommon. It > works fine on my computer. > > However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw > an error: > > RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : > Cuda Error : all CUDA-capable devices are busy or unavailable > > terminate called after throwing an instance of 'itk::ExceptionObject' > what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: > Cuda Error : all CUDA-capable devices are busy or unavailable > > > This error is obtained in this line in my code: > > float *d_Projections = *(float**)( > m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); > > > This error is weird because the program clearly state "Found 1 CUDA > enabled device[s]" and I have been able to run another program on that > cluster without any problem. > > > If anyone has experience with the implementation on RTK program on a GPU > cluster, your help would be appreciated. > > Julia Mascolo-Fortin > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Mon Aug 3 05:34:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Mon, 3 Aug 2015 11:34:44 +0200 Subject: [Rtk-users] Limit of the Image Reader Message-ID: Dear rtk users/developers, What is the largest volume an image reader can take? Although this is more an itk question, I hope someone here may give me a hint. The reader is defined as: itk::ImageFileReader> An runtime error occurred when I was trying to read a volume of 6e9 at FloatingPoint Thank you. Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Mon Aug 3 05:55:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 3 Aug 2015 11:55:19 +0200 Subject: [Rtk-users] Limit of the Image Reader In-Reply-To: References: Message-ID: Hi Louie, I think it depends on your computer RAM, there is no theoretical limit as far as I know. 6e9 floats is 24 GB of RAM. Simon On Mon, Aug 3, 2015 at 11:34 AM, ghostcz wrote: > Dear rtk users/developers, > > > > What is the largest volume an image reader can take? > > Although this is more an itk question, I hope someone here may give me a > hint. > > The reader is defined as: > > itk::ImageFileReader> > > An runtime error occurred when I was trying to read a volume of > 6e9 at FloatingPoint > > > > Thank you. > > > > Best regards, > > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 04:49:21 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 10:49:21 +0200 Subject: [Rtk-users] CUFFT error Message-ID: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 06:09:04 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 12:09:04 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi, >From this page , you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory This is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > Dear rtk users/developers, > > I was testing the rtkfdk.exe application. > The program ran into an error and caught an exception saying: > ? > itk::ExceptionObject (00000000002EEA60) > Location: "unknown" > File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu > Line: 97 > Description: itk::ERROR: CUFFT ERROR #2? > To save you a trip to the documentation, Line: 97 is here: > ? > if(fftDimension.z==1) > result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, > CUFFT_R2C); > else > result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, > inputDimension.x, CUFFT_R2C); > CUFFT_CHECK_ERROR(result); > ? > > This occurred when --spacing=0.04623, while the program works just fine if > I use --spacing=0.05. > Is there anyone can help me with this? > > Best regards, > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 07:05:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 13:05:44 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, >From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 07:27:54 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 13:27:54 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > Thank you. > I kept the dimension to the same value. I think reducing the spacing will > need less rows in the projections, because the physical length will reduce > with the spacing. > Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. > Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin > is always updated with ?0.5*spacing*(size-1); > > Best regards, > Louie > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 12:09 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Hi, > From this page, you have > > CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory > > This is not suprising that you have a GPU memory issue when decreasing the > spacing because a finer volume spacing might require more rows of the > projections for the reconstruction and therefore you can end up with being > out of memory. Try processing one projection at a time with --subsetsize 1. > If it's still too large, you'll have to change your --dimension to process > a smaller volume in the y direction. > Simon > > On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > >> Dear rtk users/developers, >> >> I was testing the rtkfdk.exe application. >> The program ran into an error and caught an exception saying: >> ? >> itk::ExceptionObject (00000000002EEA60) >> Location: "unknown" >> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >> Line: 97 >> Description: itk::ERROR: CUFFT ERROR #2? >> To save you a trip to the documentation, Line: 97 is here: >> ? >> if(fftDimension.z==1) >> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >> CUFFT_R2C); >> else >> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >> inputDimension.x, CUFFT_R2C); >> CUFFT_CHECK_ERROR(result); >> ? >> >> This occurred when --spacing=0.04623, while the program works just fine >> if I use --spacing=0.05. >> Is there anyone can help me with this? >> >> Best regards, >> Louie >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 09:00:30 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 15:00:30 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 10:43:28 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 16:43:28 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: > Hi > If I use spacing =0.4623 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 16805888 bytes > Used memory = 5351706624 bytes > Used memory = 99.687% > ----------------------------------------------then it crashed. > > If I use spacing =0.462 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 146837504 bytes > Used memory = 5221675008 bytes > Used memory = 97.2648% > ----------------------------------------------didn?t crash, but a near > miss. > > Yes, it looks like a memory problem. But why a small change in spacing > will increase the memory consumption? > > Best regards, > Louie > > > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 1:27 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Then I don't see what else could be the problem. If it's a GPU memory > issue, you'll see it by adding the following command > > { > > size_t free, used, total; > cudaMemGetInfo(&free, &total); > used = total - free; > > std::cout << std::endl; > std::cout << "------------- Device memory usage ------------" << > std::endl; > std::cout << "Total memory = " << total << " bytes" << std::endl; > std::cout << "Free memory = " << free << " bytes" << std::endl; > std::cout << "Used memory = " << used << " bytes" << std::endl; > std::cout << "Used memory = " << (used * 100.0 / total) << "%" << > std::endl; > std::cout << "----------------------------------------------" << > std::endl; > std::cout << std::endl; > } > > before the crashing command. If the memory is the issue, then I'm not sure > I understand why either, I quite agree with your comments. If it's not a > memory issue, then I don't know what's the problem... > Simon > > On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > >> Thank you. >> I kept the dimension to the same value. I think reducing the spacing will >> need less rows in the projections, because the physical length will reduce >> with the spacing. >> Interestingly, it also works if I use 0.0462 instead of 0.04623 as >> spacing. >> Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The >> origin is always updated with ?0.5*spacing*(size-1); >> >> Best regards, >> Louie >> >> *From:* Simon Rit >> *Sent:* Tuesday, August 04, 2015 12:09 PM >> *To:* ghostcz >> *Cc:* rtk-users at public.kitware.com >> *Subject:* Re: [Rtk-users] CUFFT error >> >> Hi, >> From this page, you have >> >> CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory >> >> This is not suprising that you have a GPU memory issue when decreasing >> the spacing because a finer volume spacing might require more rows of the >> projections for the reconstruction and therefore you can end up with being >> out of memory. Try processing one projection at a time with --subsetsize 1. >> If it's still too large, you'll have to change your --dimension to process >> a smaller volume in the y direction. >> Simon >> >> On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: >> >>> Dear rtk users/developers, >>> >>> I was testing the rtkfdk.exe application. >>> The program ran into an error and caught an exception saying: >>> ? >>> itk::ExceptionObject (00000000002EEA60) >>> Location: "unknown" >>> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >>> Line: 97 >>> Description: itk::ERROR: CUFFT ERROR #2? >>> To save you a trip to the documentation, Line: 97 is here: >>> ? >>> if(fftDimension.z==1) >>> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >>> CUFFT_R2C); >>> else >>> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >>> inputDimension.x, CUFFT_R2C); >>> CUFFT_CHECK_ERROR(result); >>> ? >>> >>> This occurred when --spacing=0.04623, while the program works just fine >>> if I use --spacing=0.05. >>> Is there anyone can help me with this? >>> >>> Best regards, >>> Louie >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 10:50:18 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 16:50:18 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: sure thing... From: Simon Rit Sent: Tuesday, August 04, 2015 4:43 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Wed Aug 5 20:00:35 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 03:00:35 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? Message-ID: Dear Simon and RTK community, considering in rtksart ,we have --positivity to force the reconstructed volume values to be positive(i guess, not tested yet), i was wondering if we have any options and commands to have the same effect in algorithms fdk and admmtv since --positivity can not be found? the Boellaard scatter correction: --nonneg is what i am looking for? Thanks in advance. Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 01:27:11 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 07:27:11 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, No there is no option to force the output volume to 0. This is not the same as sart where you might want to do it during the iterations. In the FDK case, it's only post-processing so there is not really a reason to put it in rtkfdk. The nonneg option is the minimum value of the intensity that you allow the Boellaard algorithm to reach after scatter correction. This does not prevent negative values in the volume because the ramp filter might create negative values from positive projections. Simon On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang wrote: > Dear Simon and RTK community, > considering in rtksart ,we have --positivity to force the reconstructed > volume values to be positive(i guess, not tested yet), i was wondering if > we have any options and commands to have the same effect in algorithms fdk > and admmtv since --positivity can not be found? > the Boellaard scatter correction: --nonneg is what i am looking for? > Thanks in advance. > Guangming > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 04:34:39 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 10:34:39 +0200 Subject: [Rtk-users] RTK user meeting on image quality in static CBCT In-Reply-To: References: Message-ID: Dear RTK users, I have written a summary of the discussions during the meeting here http://wiki.openrtk.org/index.php/RTK/ImageQuality This page will be updated with new developments in the future. Regards, Simon On Tue, Jun 16, 2015 at 10:14 AM, Simon Rit wrote: > Hi, > The consensus date is Friday July 31, 2015. Save the date! > The meeting will be at the L?on B?rard center in Lyon, I'll soon > provide more details on the organization. > Simon > > On Wed, Jun 10, 2015 at 10:12 AM, Simon Rit > wrote: > > Dear RTK users and developers, > > We are a few users to face the same problem of poor image quality in > > cone-beam CT due to photon statistics, detector effects (lag, glare, > ...), > > beam hardening and/or scatter. RTK has basic solutions, there are other > > solutions being implemented and we would like better solutions > implemented. > > I would like to invite those that want to contribute to this topic to a > > one-day meeting in Lyon the last week of July. > > > > Goals: > > - present and discuss existing RTK solutions, > > - present and discuss solutions being implemented in RTK, > > - propose the development of new solutions and share the work. > > > > Place: Lyon, France (exact location to be announced) > > > > Time: last week of July, day to be determined, please complete foodle if > > you're interested. > > > > Cost: free but you'll have to organize your travel and hotel plans (I'll > > send suggestions later). > > > > If there is a specific algorithm that you would like to discuss, please > send > > me an email with the reference. I will put together a list of references > to > > read before the meeting. > > I hope to see you all at the end of July. > > Simon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Thu Aug 6 04:58:42 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 11:58:42 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi Simon, thanks for the explanation in detail. ?i can understand why? there is only post-processing for fdk algorithm now, but why don't we do the non-negative checking during each ADMM iteration? after all, in my opinion, in most of applications, only volume values that between [0,positive infinite) make sense. Regards Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* 2015-08-06 8:27 GMT+03:00 Simon Rit : > Hi, > No there is no option to force the output volume to 0. This is not the > same as sart where you might want to do it during the iterations. In the > FDK case, it's only post-processing so there is not really a reason to put > it in rtkfdk. > The nonneg option is the minimum value of the intensity that you allow the > Boellaard algorithm to reach after scatter correction. This does not > prevent negative values in the volume because the ramp filter might create > negative values from positive projections. > Simon > > On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < > guangming.zang at kaust.edu.sa> wrote: > >> Dear Simon and RTK community, >> considering in rtksart ,we have --positivity to force the reconstructed >> volume values to be positive(i guess, not tested yet), i was wondering if >> we have any options and commands to have the same effect in algorithms fdk >> and admmtv since --positivity can not be found? >> the Boellaard scatter correction: --nonneg is what i am looking for? >> Thanks in advance. >> Guangming >> *Guangming Zang (Alex)* >> *King Abdullah University of Science and Technology(KAUST)* >> *University of Chinese Academy of Sciences(UCAS)* >> >> >> >> >> ------------------------------ >> This message and its contents, including attachments are intended solely >> for the original recipient. If you are not the intended recipient or have >> received this message in error, please notify me immediately and delete >> this message from your computer system. Any unauthorized use or >> distribution is prohibited. Please consider the environment before printing >> this email. > > > -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 08:37:41 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 14:37:41 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, I haven't implemented the ADMM algorithm but adding a constraint such as positivity in iterative reconstruction is not a straightforward thing. The way it's done in SART and ROOSTER is heuristic and there is no proof of convergence. Still, you can easily add it in this way if you want to but you'll have to modify the code. There is a wealth of literature on the topic if you want to read it. To illustrate this complexity, you can read the paper of Cyril Mory at the CT meeting last year. Simon On Thu, Aug 6, 2015 at 10:58 AM, Guangming Zang wrote: > Hi Simon, > thanks for the explanation in detail. > ?i can understand why? there is only post-processing for fdk algorithm now, > but why don't we do the non-negative checking during each ADMM iteration? > after all, in my opinion, in most of applications, only volume values that > between [0,positive infinite) make sense. > Regards > Guangming > > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > 2015-08-06 8:27 GMT+03:00 Simon Rit : > >> Hi, >> No there is no option to force the output volume to 0. This is not the >> same as sart where you might want to do it during the iterations. In the >> FDK case, it's only post-processing so there is not really a reason to put >> it in rtkfdk. >> The nonneg option is the minimum value of the intensity that you allow >> the Boellaard algorithm to reach after scatter correction. This does not >> prevent negative values in the volume because the ramp filter might create >> negative values from positive projections. >> Simon >> >> On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < >> guangming.zang at kaust.edu.sa> wrote: >> >>> Dear Simon and RTK community, >>> considering in rtksart ,we have --positivity to force the reconstructed >>> volume values to be positive(i guess, not tested yet), i was wondering if >>> we have any options and commands to have the same effect in algorithms fdk >>> and admmtv since --positivity can not be found? >>> the Boellaard scatter correction: --nonneg is what i am looking for? >>> Thanks in advance. >>> Guangming >>> *Guangming Zang (Alex)* >>> *King Abdullah University of Science and Technology(KAUST)* >>> *University of Chinese Academy of Sciences(UCAS)* >>> >>> >>> >>> >>> ------------------------------ >>> This message and its contents, including attachments are intended solely >>> for the original recipient. If you are not the intended recipient or have >>> received this message in error, please notify me immediately and delete >>> this message from your computer system. Any unauthorized use or >>> distribution is prohibited. Please consider the environment before printing >>> this email. >> >> >> > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julia.mascolo-fortin.1 at ulaval.ca Tue Aug 25 13:25:54 2015 From: julia.mascolo-fortin.1 at ulaval.ca (Julia Mascolo-Fortin) Date: Tue, 25 Aug 2015 17:25:54 +0000 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> References: , <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> Message-ID: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Hi, I'm working on a program that use ITK and the RTK module ITKCudaCommon. It works fine on my computer. However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw an error: RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : Cuda Error : all CUDA-capable devices are busy or unavailable terminate called after throwing an instance of 'itk::ExceptionObject' what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: Cuda Error : all CUDA-capable devices are busy or unavailable This error is obtained in this line in my code: float *d_Projections = *(float**)( m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); This error is weird because the program clearly state "Found 1 CUDA enabled device[s]" and I have been able to run another program on that cluster without any problem. If anyone has experience with the implementation on RTK program on a GPU cluster, your help would be appreciated. Julia Mascolo-Fortin From simon.rit at creatis.insa-lyon.fr Sun Aug 30 14:23:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Sun, 30 Aug 2015 20:23:19 +0200 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> References: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Message-ID: Hi, I have used it on a cluster node with 2 GPUs without any problem. Have you tried nvidia code to check if it's a problem with the ITKCudaCommon package or with your system? From this forum , it seems that this problem is independent of ITKCudaCommon... Simon On Tue, Aug 25, 2015 at 7:25 PM, Julia Mascolo-Fortin < julia.mascolo-fortin.1 at ulaval.ca> wrote: > Hi, > > I'm working on a program that use ITK and the RTK module ITKCudaCommon. It > works fine on my computer. > > However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw > an error: > > RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : > Cuda Error : all CUDA-capable devices are busy or unavailable > > terminate called after throwing an instance of 'itk::ExceptionObject' > what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: > Cuda Error : all CUDA-capable devices are busy or unavailable > > > This error is obtained in this line in my code: > > float *d_Projections = *(float**)( > m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); > > > This error is weird because the program clearly state "Found 1 CUDA > enabled device[s]" and I have been able to run another program on that > cluster without any problem. > > > If anyone has experience with the implementation on RTK program on a GPU > cluster, your help would be appreciated. > > Julia Mascolo-Fortin > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Mon Aug 3 05:34:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Mon, 3 Aug 2015 11:34:44 +0200 Subject: [Rtk-users] Limit of the Image Reader Message-ID: Dear rtk users/developers, What is the largest volume an image reader can take? Although this is more an itk question, I hope someone here may give me a hint. The reader is defined as: itk::ImageFileReader> An runtime error occurred when I was trying to read a volume of 6e9 at FloatingPoint Thank you. Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Mon Aug 3 05:55:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 3 Aug 2015 11:55:19 +0200 Subject: [Rtk-users] Limit of the Image Reader In-Reply-To: References: Message-ID: Hi Louie, I think it depends on your computer RAM, there is no theoretical limit as far as I know. 6e9 floats is 24 GB of RAM. Simon On Mon, Aug 3, 2015 at 11:34 AM, ghostcz wrote: > Dear rtk users/developers, > > > > What is the largest volume an image reader can take? > > Although this is more an itk question, I hope someone here may give me a > hint. > > The reader is defined as: > > itk::ImageFileReader> > > An runtime error occurred when I was trying to read a volume of > 6e9 at FloatingPoint > > > > Thank you. > > > > Best regards, > > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 04:49:21 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 10:49:21 +0200 Subject: [Rtk-users] CUFFT error Message-ID: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 06:09:04 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 12:09:04 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi, >From this page , you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory This is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > Dear rtk users/developers, > > I was testing the rtkfdk.exe application. > The program ran into an error and caught an exception saying: > ? > itk::ExceptionObject (00000000002EEA60) > Location: "unknown" > File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu > Line: 97 > Description: itk::ERROR: CUFFT ERROR #2? > To save you a trip to the documentation, Line: 97 is here: > ? > if(fftDimension.z==1) > result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, > CUFFT_R2C); > else > result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, > inputDimension.x, CUFFT_R2C); > CUFFT_CHECK_ERROR(result); > ? > > This occurred when --spacing=0.04623, while the program works just fine if > I use --spacing=0.05. > Is there anyone can help me with this? > > Best regards, > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 07:05:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 13:05:44 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, >From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 07:27:54 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 13:27:54 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > Thank you. > I kept the dimension to the same value. I think reducing the spacing will > need less rows in the projections, because the physical length will reduce > with the spacing. > Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. > Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin > is always updated with ?0.5*spacing*(size-1); > > Best regards, > Louie > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 12:09 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Hi, > From this page, you have > > CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory > > This is not suprising that you have a GPU memory issue when decreasing the > spacing because a finer volume spacing might require more rows of the > projections for the reconstruction and therefore you can end up with being > out of memory. Try processing one projection at a time with --subsetsize 1. > If it's still too large, you'll have to change your --dimension to process > a smaller volume in the y direction. > Simon > > On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > >> Dear rtk users/developers, >> >> I was testing the rtkfdk.exe application. >> The program ran into an error and caught an exception saying: >> ? >> itk::ExceptionObject (00000000002EEA60) >> Location: "unknown" >> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >> Line: 97 >> Description: itk::ERROR: CUFFT ERROR #2? >> To save you a trip to the documentation, Line: 97 is here: >> ? >> if(fftDimension.z==1) >> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >> CUFFT_R2C); >> else >> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >> inputDimension.x, CUFFT_R2C); >> CUFFT_CHECK_ERROR(result); >> ? >> >> This occurred when --spacing=0.04623, while the program works just fine >> if I use --spacing=0.05. >> Is there anyone can help me with this? >> >> Best regards, >> Louie >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 09:00:30 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 15:00:30 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 10:43:28 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 16:43:28 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: > Hi > If I use spacing =0.4623 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 16805888 bytes > Used memory = 5351706624 bytes > Used memory = 99.687% > ----------------------------------------------then it crashed. > > If I use spacing =0.462 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 146837504 bytes > Used memory = 5221675008 bytes > Used memory = 97.2648% > ----------------------------------------------didn?t crash, but a near > miss. > > Yes, it looks like a memory problem. But why a small change in spacing > will increase the memory consumption? > > Best regards, > Louie > > > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 1:27 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Then I don't see what else could be the problem. If it's a GPU memory > issue, you'll see it by adding the following command > > { > > size_t free, used, total; > cudaMemGetInfo(&free, &total); > used = total - free; > > std::cout << std::endl; > std::cout << "------------- Device memory usage ------------" << > std::endl; > std::cout << "Total memory = " << total << " bytes" << std::endl; > std::cout << "Free memory = " << free << " bytes" << std::endl; > std::cout << "Used memory = " << used << " bytes" << std::endl; > std::cout << "Used memory = " << (used * 100.0 / total) << "%" << > std::endl; > std::cout << "----------------------------------------------" << > std::endl; > std::cout << std::endl; > } > > before the crashing command. If the memory is the issue, then I'm not sure > I understand why either, I quite agree with your comments. If it's not a > memory issue, then I don't know what's the problem... > Simon > > On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > >> Thank you. >> I kept the dimension to the same value. I think reducing the spacing will >> need less rows in the projections, because the physical length will reduce >> with the spacing. >> Interestingly, it also works if I use 0.0462 instead of 0.04623 as >> spacing. >> Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The >> origin is always updated with ?0.5*spacing*(size-1); >> >> Best regards, >> Louie >> >> *From:* Simon Rit >> *Sent:* Tuesday, August 04, 2015 12:09 PM >> *To:* ghostcz >> *Cc:* rtk-users at public.kitware.com >> *Subject:* Re: [Rtk-users] CUFFT error >> >> Hi, >> From this page, you have >> >> CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory >> >> This is not suprising that you have a GPU memory issue when decreasing >> the spacing because a finer volume spacing might require more rows of the >> projections for the reconstruction and therefore you can end up with being >> out of memory. Try processing one projection at a time with --subsetsize 1. >> If it's still too large, you'll have to change your --dimension to process >> a smaller volume in the y direction. >> Simon >> >> On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: >> >>> Dear rtk users/developers, >>> >>> I was testing the rtkfdk.exe application. >>> The program ran into an error and caught an exception saying: >>> ? >>> itk::ExceptionObject (00000000002EEA60) >>> Location: "unknown" >>> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >>> Line: 97 >>> Description: itk::ERROR: CUFFT ERROR #2? >>> To save you a trip to the documentation, Line: 97 is here: >>> ? >>> if(fftDimension.z==1) >>> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >>> CUFFT_R2C); >>> else >>> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >>> inputDimension.x, CUFFT_R2C); >>> CUFFT_CHECK_ERROR(result); >>> ? >>> >>> This occurred when --spacing=0.04623, while the program works just fine >>> if I use --spacing=0.05. >>> Is there anyone can help me with this? >>> >>> Best regards, >>> Louie >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 10:50:18 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 16:50:18 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: sure thing... From: Simon Rit Sent: Tuesday, August 04, 2015 4:43 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Wed Aug 5 20:00:35 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 03:00:35 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? Message-ID: Dear Simon and RTK community, considering in rtksart ,we have --positivity to force the reconstructed volume values to be positive(i guess, not tested yet), i was wondering if we have any options and commands to have the same effect in algorithms fdk and admmtv since --positivity can not be found? the Boellaard scatter correction: --nonneg is what i am looking for? Thanks in advance. Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 01:27:11 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 07:27:11 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, No there is no option to force the output volume to 0. This is not the same as sart where you might want to do it during the iterations. In the FDK case, it's only post-processing so there is not really a reason to put it in rtkfdk. The nonneg option is the minimum value of the intensity that you allow the Boellaard algorithm to reach after scatter correction. This does not prevent negative values in the volume because the ramp filter might create negative values from positive projections. Simon On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang wrote: > Dear Simon and RTK community, > considering in rtksart ,we have --positivity to force the reconstructed > volume values to be positive(i guess, not tested yet), i was wondering if > we have any options and commands to have the same effect in algorithms fdk > and admmtv since --positivity can not be found? > the Boellaard scatter correction: --nonneg is what i am looking for? > Thanks in advance. > Guangming > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 04:34:39 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 10:34:39 +0200 Subject: [Rtk-users] RTK user meeting on image quality in static CBCT In-Reply-To: References: Message-ID: Dear RTK users, I have written a summary of the discussions during the meeting here http://wiki.openrtk.org/index.php/RTK/ImageQuality This page will be updated with new developments in the future. Regards, Simon On Tue, Jun 16, 2015 at 10:14 AM, Simon Rit wrote: > Hi, > The consensus date is Friday July 31, 2015. Save the date! > The meeting will be at the L?on B?rard center in Lyon, I'll soon > provide more details on the organization. > Simon > > On Wed, Jun 10, 2015 at 10:12 AM, Simon Rit > wrote: > > Dear RTK users and developers, > > We are a few users to face the same problem of poor image quality in > > cone-beam CT due to photon statistics, detector effects (lag, glare, > ...), > > beam hardening and/or scatter. RTK has basic solutions, there are other > > solutions being implemented and we would like better solutions > implemented. > > I would like to invite those that want to contribute to this topic to a > > one-day meeting in Lyon the last week of July. > > > > Goals: > > - present and discuss existing RTK solutions, > > - present and discuss solutions being implemented in RTK, > > - propose the development of new solutions and share the work. > > > > Place: Lyon, France (exact location to be announced) > > > > Time: last week of July, day to be determined, please complete foodle if > > you're interested. > > > > Cost: free but you'll have to organize your travel and hotel plans (I'll > > send suggestions later). > > > > If there is a specific algorithm that you would like to discuss, please > send > > me an email with the reference. I will put together a list of references > to > > read before the meeting. > > I hope to see you all at the end of July. > > Simon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Thu Aug 6 04:58:42 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 11:58:42 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi Simon, thanks for the explanation in detail. ?i can understand why? there is only post-processing for fdk algorithm now, but why don't we do the non-negative checking during each ADMM iteration? after all, in my opinion, in most of applications, only volume values that between [0,positive infinite) make sense. Regards Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* 2015-08-06 8:27 GMT+03:00 Simon Rit : > Hi, > No there is no option to force the output volume to 0. This is not the > same as sart where you might want to do it during the iterations. In the > FDK case, it's only post-processing so there is not really a reason to put > it in rtkfdk. > The nonneg option is the minimum value of the intensity that you allow the > Boellaard algorithm to reach after scatter correction. This does not > prevent negative values in the volume because the ramp filter might create > negative values from positive projections. > Simon > > On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < > guangming.zang at kaust.edu.sa> wrote: > >> Dear Simon and RTK community, >> considering in rtksart ,we have --positivity to force the reconstructed >> volume values to be positive(i guess, not tested yet), i was wondering if >> we have any options and commands to have the same effect in algorithms fdk >> and admmtv since --positivity can not be found? >> the Boellaard scatter correction: --nonneg is what i am looking for? >> Thanks in advance. >> Guangming >> *Guangming Zang (Alex)* >> *King Abdullah University of Science and Technology(KAUST)* >> *University of Chinese Academy of Sciences(UCAS)* >> >> >> >> >> ------------------------------ >> This message and its contents, including attachments are intended solely >> for the original recipient. If you are not the intended recipient or have >> received this message in error, please notify me immediately and delete >> this message from your computer system. Any unauthorized use or >> distribution is prohibited. Please consider the environment before printing >> this email. > > > -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 08:37:41 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 14:37:41 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, I haven't implemented the ADMM algorithm but adding a constraint such as positivity in iterative reconstruction is not a straightforward thing. The way it's done in SART and ROOSTER is heuristic and there is no proof of convergence. Still, you can easily add it in this way if you want to but you'll have to modify the code. There is a wealth of literature on the topic if you want to read it. To illustrate this complexity, you can read the paper of Cyril Mory at the CT meeting last year. Simon On Thu, Aug 6, 2015 at 10:58 AM, Guangming Zang wrote: > Hi Simon, > thanks for the explanation in detail. > ?i can understand why? there is only post-processing for fdk algorithm now, > but why don't we do the non-negative checking during each ADMM iteration? > after all, in my opinion, in most of applications, only volume values that > between [0,positive infinite) make sense. > Regards > Guangming > > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > 2015-08-06 8:27 GMT+03:00 Simon Rit : > >> Hi, >> No there is no option to force the output volume to 0. This is not the >> same as sart where you might want to do it during the iterations. In the >> FDK case, it's only post-processing so there is not really a reason to put >> it in rtkfdk. >> The nonneg option is the minimum value of the intensity that you allow >> the Boellaard algorithm to reach after scatter correction. This does not >> prevent negative values in the volume because the ramp filter might create >> negative values from positive projections. >> Simon >> >> On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < >> guangming.zang at kaust.edu.sa> wrote: >> >>> Dear Simon and RTK community, >>> considering in rtksart ,we have --positivity to force the reconstructed >>> volume values to be positive(i guess, not tested yet), i was wondering if >>> we have any options and commands to have the same effect in algorithms fdk >>> and admmtv since --positivity can not be found? >>> the Boellaard scatter correction: --nonneg is what i am looking for? >>> Thanks in advance. >>> Guangming >>> *Guangming Zang (Alex)* >>> *King Abdullah University of Science and Technology(KAUST)* >>> *University of Chinese Academy of Sciences(UCAS)* >>> >>> >>> >>> >>> ------------------------------ >>> This message and its contents, including attachments are intended solely >>> for the original recipient. If you are not the intended recipient or have >>> received this message in error, please notify me immediately and delete >>> this message from your computer system. Any unauthorized use or >>> distribution is prohibited. Please consider the environment before printing >>> this email. >> >> >> > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julia.mascolo-fortin.1 at ulaval.ca Tue Aug 25 13:25:54 2015 From: julia.mascolo-fortin.1 at ulaval.ca (Julia Mascolo-Fortin) Date: Tue, 25 Aug 2015 17:25:54 +0000 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> References: , <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> Message-ID: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Hi, I'm working on a program that use ITK and the RTK module ITKCudaCommon. It works fine on my computer. However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw an error: RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : Cuda Error : all CUDA-capable devices are busy or unavailable terminate called after throwing an instance of 'itk::ExceptionObject' what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: Cuda Error : all CUDA-capable devices are busy or unavailable This error is obtained in this line in my code: float *d_Projections = *(float**)( m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); This error is weird because the program clearly state "Found 1 CUDA enabled device[s]" and I have been able to run another program on that cluster without any problem. If anyone has experience with the implementation on RTK program on a GPU cluster, your help would be appreciated. Julia Mascolo-Fortin From simon.rit at creatis.insa-lyon.fr Sun Aug 30 14:23:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Sun, 30 Aug 2015 20:23:19 +0200 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> References: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Message-ID: Hi, I have used it on a cluster node with 2 GPUs without any problem. Have you tried nvidia code to check if it's a problem with the ITKCudaCommon package or with your system? From this forum , it seems that this problem is independent of ITKCudaCommon... Simon On Tue, Aug 25, 2015 at 7:25 PM, Julia Mascolo-Fortin < julia.mascolo-fortin.1 at ulaval.ca> wrote: > Hi, > > I'm working on a program that use ITK and the RTK module ITKCudaCommon. It > works fine on my computer. > > However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw > an error: > > RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : > Cuda Error : all CUDA-capable devices are busy or unavailable > > terminate called after throwing an instance of 'itk::ExceptionObject' > what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: > Cuda Error : all CUDA-capable devices are busy or unavailable > > > This error is obtained in this line in my code: > > float *d_Projections = *(float**)( > m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); > > > This error is weird because the program clearly state "Found 1 CUDA > enabled device[s]" and I have been able to run another program on that > cluster without any problem. > > > If anyone has experience with the implementation on RTK program on a GPU > cluster, your help would be appreciated. > > Julia Mascolo-Fortin > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Mon Aug 3 05:34:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Mon, 3 Aug 2015 11:34:44 +0200 Subject: [Rtk-users] Limit of the Image Reader Message-ID: Dear rtk users/developers, What is the largest volume an image reader can take? Although this is more an itk question, I hope someone here may give me a hint. The reader is defined as: itk::ImageFileReader> An runtime error occurred when I was trying to read a volume of 6e9 at FloatingPoint Thank you. Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Mon Aug 3 05:55:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 3 Aug 2015 11:55:19 +0200 Subject: [Rtk-users] Limit of the Image Reader In-Reply-To: References: Message-ID: Hi Louie, I think it depends on your computer RAM, there is no theoretical limit as far as I know. 6e9 floats is 24 GB of RAM. Simon On Mon, Aug 3, 2015 at 11:34 AM, ghostcz wrote: > Dear rtk users/developers, > > > > What is the largest volume an image reader can take? > > Although this is more an itk question, I hope someone here may give me a > hint. > > The reader is defined as: > > itk::ImageFileReader> > > An runtime error occurred when I was trying to read a volume of > 6e9 at FloatingPoint > > > > Thank you. > > > > Best regards, > > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 04:49:21 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 10:49:21 +0200 Subject: [Rtk-users] CUFFT error Message-ID: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 06:09:04 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 12:09:04 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi, >From this page , you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory This is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > Dear rtk users/developers, > > I was testing the rtkfdk.exe application. > The program ran into an error and caught an exception saying: > ? > itk::ExceptionObject (00000000002EEA60) > Location: "unknown" > File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu > Line: 97 > Description: itk::ERROR: CUFFT ERROR #2? > To save you a trip to the documentation, Line: 97 is here: > ? > if(fftDimension.z==1) > result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, > CUFFT_R2C); > else > result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, > inputDimension.x, CUFFT_R2C); > CUFFT_CHECK_ERROR(result); > ? > > This occurred when --spacing=0.04623, while the program works just fine if > I use --spacing=0.05. > Is there anyone can help me with this? > > Best regards, > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 07:05:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 13:05:44 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, >From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 07:27:54 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 13:27:54 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > Thank you. > I kept the dimension to the same value. I think reducing the spacing will > need less rows in the projections, because the physical length will reduce > with the spacing. > Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. > Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin > is always updated with ?0.5*spacing*(size-1); > > Best regards, > Louie > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 12:09 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Hi, > From this page, you have > > CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory > > This is not suprising that you have a GPU memory issue when decreasing the > spacing because a finer volume spacing might require more rows of the > projections for the reconstruction and therefore you can end up with being > out of memory. Try processing one projection at a time with --subsetsize 1. > If it's still too large, you'll have to change your --dimension to process > a smaller volume in the y direction. > Simon > > On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > >> Dear rtk users/developers, >> >> I was testing the rtkfdk.exe application. >> The program ran into an error and caught an exception saying: >> ? >> itk::ExceptionObject (00000000002EEA60) >> Location: "unknown" >> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >> Line: 97 >> Description: itk::ERROR: CUFFT ERROR #2? >> To save you a trip to the documentation, Line: 97 is here: >> ? >> if(fftDimension.z==1) >> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >> CUFFT_R2C); >> else >> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >> inputDimension.x, CUFFT_R2C); >> CUFFT_CHECK_ERROR(result); >> ? >> >> This occurred when --spacing=0.04623, while the program works just fine >> if I use --spacing=0.05. >> Is there anyone can help me with this? >> >> Best regards, >> Louie >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 09:00:30 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 15:00:30 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 10:43:28 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 16:43:28 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: > Hi > If I use spacing =0.4623 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 16805888 bytes > Used memory = 5351706624 bytes > Used memory = 99.687% > ----------------------------------------------then it crashed. > > If I use spacing =0.462 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 146837504 bytes > Used memory = 5221675008 bytes > Used memory = 97.2648% > ----------------------------------------------didn?t crash, but a near > miss. > > Yes, it looks like a memory problem. But why a small change in spacing > will increase the memory consumption? > > Best regards, > Louie > > > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 1:27 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Then I don't see what else could be the problem. If it's a GPU memory > issue, you'll see it by adding the following command > > { > > size_t free, used, total; > cudaMemGetInfo(&free, &total); > used = total - free; > > std::cout << std::endl; > std::cout << "------------- Device memory usage ------------" << > std::endl; > std::cout << "Total memory = " << total << " bytes" << std::endl; > std::cout << "Free memory = " << free << " bytes" << std::endl; > std::cout << "Used memory = " << used << " bytes" << std::endl; > std::cout << "Used memory = " << (used * 100.0 / total) << "%" << > std::endl; > std::cout << "----------------------------------------------" << > std::endl; > std::cout << std::endl; > } > > before the crashing command. If the memory is the issue, then I'm not sure > I understand why either, I quite agree with your comments. If it's not a > memory issue, then I don't know what's the problem... > Simon > > On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > >> Thank you. >> I kept the dimension to the same value. I think reducing the spacing will >> need less rows in the projections, because the physical length will reduce >> with the spacing. >> Interestingly, it also works if I use 0.0462 instead of 0.04623 as >> spacing. >> Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The >> origin is always updated with ?0.5*spacing*(size-1); >> >> Best regards, >> Louie >> >> *From:* Simon Rit >> *Sent:* Tuesday, August 04, 2015 12:09 PM >> *To:* ghostcz >> *Cc:* rtk-users at public.kitware.com >> *Subject:* Re: [Rtk-users] CUFFT error >> >> Hi, >> From this page, you have >> >> CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory >> >> This is not suprising that you have a GPU memory issue when decreasing >> the spacing because a finer volume spacing might require more rows of the >> projections for the reconstruction and therefore you can end up with being >> out of memory. Try processing one projection at a time with --subsetsize 1. >> If it's still too large, you'll have to change your --dimension to process >> a smaller volume in the y direction. >> Simon >> >> On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: >> >>> Dear rtk users/developers, >>> >>> I was testing the rtkfdk.exe application. >>> The program ran into an error and caught an exception saying: >>> ? >>> itk::ExceptionObject (00000000002EEA60) >>> Location: "unknown" >>> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >>> Line: 97 >>> Description: itk::ERROR: CUFFT ERROR #2? >>> To save you a trip to the documentation, Line: 97 is here: >>> ? >>> if(fftDimension.z==1) >>> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >>> CUFFT_R2C); >>> else >>> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >>> inputDimension.x, CUFFT_R2C); >>> CUFFT_CHECK_ERROR(result); >>> ? >>> >>> This occurred when --spacing=0.04623, while the program works just fine >>> if I use --spacing=0.05. >>> Is there anyone can help me with this? >>> >>> Best regards, >>> Louie >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 10:50:18 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 16:50:18 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: sure thing... From: Simon Rit Sent: Tuesday, August 04, 2015 4:43 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Wed Aug 5 20:00:35 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 03:00:35 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? Message-ID: Dear Simon and RTK community, considering in rtksart ,we have --positivity to force the reconstructed volume values to be positive(i guess, not tested yet), i was wondering if we have any options and commands to have the same effect in algorithms fdk and admmtv since --positivity can not be found? the Boellaard scatter correction: --nonneg is what i am looking for? Thanks in advance. Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 01:27:11 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 07:27:11 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, No there is no option to force the output volume to 0. This is not the same as sart where you might want to do it during the iterations. In the FDK case, it's only post-processing so there is not really a reason to put it in rtkfdk. The nonneg option is the minimum value of the intensity that you allow the Boellaard algorithm to reach after scatter correction. This does not prevent negative values in the volume because the ramp filter might create negative values from positive projections. Simon On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang wrote: > Dear Simon and RTK community, > considering in rtksart ,we have --positivity to force the reconstructed > volume values to be positive(i guess, not tested yet), i was wondering if > we have any options and commands to have the same effect in algorithms fdk > and admmtv since --positivity can not be found? > the Boellaard scatter correction: --nonneg is what i am looking for? > Thanks in advance. > Guangming > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 04:34:39 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 10:34:39 +0200 Subject: [Rtk-users] RTK user meeting on image quality in static CBCT In-Reply-To: References: Message-ID: Dear RTK users, I have written a summary of the discussions during the meeting here http://wiki.openrtk.org/index.php/RTK/ImageQuality This page will be updated with new developments in the future. Regards, Simon On Tue, Jun 16, 2015 at 10:14 AM, Simon Rit wrote: > Hi, > The consensus date is Friday July 31, 2015. Save the date! > The meeting will be at the L?on B?rard center in Lyon, I'll soon > provide more details on the organization. > Simon > > On Wed, Jun 10, 2015 at 10:12 AM, Simon Rit > wrote: > > Dear RTK users and developers, > > We are a few users to face the same problem of poor image quality in > > cone-beam CT due to photon statistics, detector effects (lag, glare, > ...), > > beam hardening and/or scatter. RTK has basic solutions, there are other > > solutions being implemented and we would like better solutions > implemented. > > I would like to invite those that want to contribute to this topic to a > > one-day meeting in Lyon the last week of July. > > > > Goals: > > - present and discuss existing RTK solutions, > > - present and discuss solutions being implemented in RTK, > > - propose the development of new solutions and share the work. > > > > Place: Lyon, France (exact location to be announced) > > > > Time: last week of July, day to be determined, please complete foodle if > > you're interested. > > > > Cost: free but you'll have to organize your travel and hotel plans (I'll > > send suggestions later). > > > > If there is a specific algorithm that you would like to discuss, please > send > > me an email with the reference. I will put together a list of references > to > > read before the meeting. > > I hope to see you all at the end of July. > > Simon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Thu Aug 6 04:58:42 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 11:58:42 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi Simon, thanks for the explanation in detail. ?i can understand why? there is only post-processing for fdk algorithm now, but why don't we do the non-negative checking during each ADMM iteration? after all, in my opinion, in most of applications, only volume values that between [0,positive infinite) make sense. Regards Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* 2015-08-06 8:27 GMT+03:00 Simon Rit : > Hi, > No there is no option to force the output volume to 0. This is not the > same as sart where you might want to do it during the iterations. In the > FDK case, it's only post-processing so there is not really a reason to put > it in rtkfdk. > The nonneg option is the minimum value of the intensity that you allow the > Boellaard algorithm to reach after scatter correction. This does not > prevent negative values in the volume because the ramp filter might create > negative values from positive projections. > Simon > > On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < > guangming.zang at kaust.edu.sa> wrote: > >> Dear Simon and RTK community, >> considering in rtksart ,we have --positivity to force the reconstructed >> volume values to be positive(i guess, not tested yet), i was wondering if >> we have any options and commands to have the same effect in algorithms fdk >> and admmtv since --positivity can not be found? >> the Boellaard scatter correction: --nonneg is what i am looking for? >> Thanks in advance. >> Guangming >> *Guangming Zang (Alex)* >> *King Abdullah University of Science and Technology(KAUST)* >> *University of Chinese Academy of Sciences(UCAS)* >> >> >> >> >> ------------------------------ >> This message and its contents, including attachments are intended solely >> for the original recipient. If you are not the intended recipient or have >> received this message in error, please notify me immediately and delete >> this message from your computer system. Any unauthorized use or >> distribution is prohibited. Please consider the environment before printing >> this email. > > > -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 08:37:41 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 14:37:41 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, I haven't implemented the ADMM algorithm but adding a constraint such as positivity in iterative reconstruction is not a straightforward thing. The way it's done in SART and ROOSTER is heuristic and there is no proof of convergence. Still, you can easily add it in this way if you want to but you'll have to modify the code. There is a wealth of literature on the topic if you want to read it. To illustrate this complexity, you can read the paper of Cyril Mory at the CT meeting last year. Simon On Thu, Aug 6, 2015 at 10:58 AM, Guangming Zang wrote: > Hi Simon, > thanks for the explanation in detail. > ?i can understand why? there is only post-processing for fdk algorithm now, > but why don't we do the non-negative checking during each ADMM iteration? > after all, in my opinion, in most of applications, only volume values that > between [0,positive infinite) make sense. > Regards > Guangming > > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > 2015-08-06 8:27 GMT+03:00 Simon Rit : > >> Hi, >> No there is no option to force the output volume to 0. This is not the >> same as sart where you might want to do it during the iterations. In the >> FDK case, it's only post-processing so there is not really a reason to put >> it in rtkfdk. >> The nonneg option is the minimum value of the intensity that you allow >> the Boellaard algorithm to reach after scatter correction. This does not >> prevent negative values in the volume because the ramp filter might create >> negative values from positive projections. >> Simon >> >> On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < >> guangming.zang at kaust.edu.sa> wrote: >> >>> Dear Simon and RTK community, >>> considering in rtksart ,we have --positivity to force the reconstructed >>> volume values to be positive(i guess, not tested yet), i was wondering if >>> we have any options and commands to have the same effect in algorithms fdk >>> and admmtv since --positivity can not be found? >>> the Boellaard scatter correction: --nonneg is what i am looking for? >>> Thanks in advance. >>> Guangming >>> *Guangming Zang (Alex)* >>> *King Abdullah University of Science and Technology(KAUST)* >>> *University of Chinese Academy of Sciences(UCAS)* >>> >>> >>> >>> >>> ------------------------------ >>> This message and its contents, including attachments are intended solely >>> for the original recipient. If you are not the intended recipient or have >>> received this message in error, please notify me immediately and delete >>> this message from your computer system. Any unauthorized use or >>> distribution is prohibited. Please consider the environment before printing >>> this email. >> >> >> > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julia.mascolo-fortin.1 at ulaval.ca Tue Aug 25 13:25:54 2015 From: julia.mascolo-fortin.1 at ulaval.ca (Julia Mascolo-Fortin) Date: Tue, 25 Aug 2015 17:25:54 +0000 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> References: , <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> Message-ID: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Hi, I'm working on a program that use ITK and the RTK module ITKCudaCommon. It works fine on my computer. However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw an error: RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : Cuda Error : all CUDA-capable devices are busy or unavailable terminate called after throwing an instance of 'itk::ExceptionObject' what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: Cuda Error : all CUDA-capable devices are busy or unavailable This error is obtained in this line in my code: float *d_Projections = *(float**)( m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); This error is weird because the program clearly state "Found 1 CUDA enabled device[s]" and I have been able to run another program on that cluster without any problem. If anyone has experience with the implementation on RTK program on a GPU cluster, your help would be appreciated. Julia Mascolo-Fortin From simon.rit at creatis.insa-lyon.fr Sun Aug 30 14:23:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Sun, 30 Aug 2015 20:23:19 +0200 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> References: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Message-ID: Hi, I have used it on a cluster node with 2 GPUs without any problem. Have you tried nvidia code to check if it's a problem with the ITKCudaCommon package or with your system? From this forum , it seems that this problem is independent of ITKCudaCommon... Simon On Tue, Aug 25, 2015 at 7:25 PM, Julia Mascolo-Fortin < julia.mascolo-fortin.1 at ulaval.ca> wrote: > Hi, > > I'm working on a program that use ITK and the RTK module ITKCudaCommon. It > works fine on my computer. > > However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw > an error: > > RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : > Cuda Error : all CUDA-capable devices are busy or unavailable > > terminate called after throwing an instance of 'itk::ExceptionObject' > what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: > Cuda Error : all CUDA-capable devices are busy or unavailable > > > This error is obtained in this line in my code: > > float *d_Projections = *(float**)( > m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); > > > This error is weird because the program clearly state "Found 1 CUDA > enabled device[s]" and I have been able to run another program on that > cluster without any problem. > > > If anyone has experience with the implementation on RTK program on a GPU > cluster, your help would be appreciated. > > Julia Mascolo-Fortin > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Mon Aug 3 05:34:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Mon, 3 Aug 2015 11:34:44 +0200 Subject: [Rtk-users] Limit of the Image Reader Message-ID: Dear rtk users/developers, What is the largest volume an image reader can take? Although this is more an itk question, I hope someone here may give me a hint. The reader is defined as: itk::ImageFileReader> An runtime error occurred when I was trying to read a volume of 6e9 at FloatingPoint Thank you. Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Mon Aug 3 05:55:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 3 Aug 2015 11:55:19 +0200 Subject: [Rtk-users] Limit of the Image Reader In-Reply-To: References: Message-ID: Hi Louie, I think it depends on your computer RAM, there is no theoretical limit as far as I know. 6e9 floats is 24 GB of RAM. Simon On Mon, Aug 3, 2015 at 11:34 AM, ghostcz wrote: > Dear rtk users/developers, > > > > What is the largest volume an image reader can take? > > Although this is more an itk question, I hope someone here may give me a > hint. > > The reader is defined as: > > itk::ImageFileReader> > > An runtime error occurred when I was trying to read a volume of > 6e9 at FloatingPoint > > > > Thank you. > > > > Best regards, > > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 04:49:21 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 10:49:21 +0200 Subject: [Rtk-users] CUFFT error Message-ID: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 06:09:04 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 12:09:04 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi, >From this page , you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory This is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > Dear rtk users/developers, > > I was testing the rtkfdk.exe application. > The program ran into an error and caught an exception saying: > ? > itk::ExceptionObject (00000000002EEA60) > Location: "unknown" > File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu > Line: 97 > Description: itk::ERROR: CUFFT ERROR #2? > To save you a trip to the documentation, Line: 97 is here: > ? > if(fftDimension.z==1) > result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, > CUFFT_R2C); > else > result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, > inputDimension.x, CUFFT_R2C); > CUFFT_CHECK_ERROR(result); > ? > > This occurred when --spacing=0.04623, while the program works just fine if > I use --spacing=0.05. > Is there anyone can help me with this? > > Best regards, > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 07:05:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 13:05:44 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, >From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 07:27:54 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 13:27:54 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > Thank you. > I kept the dimension to the same value. I think reducing the spacing will > need less rows in the projections, because the physical length will reduce > with the spacing. > Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. > Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin > is always updated with ?0.5*spacing*(size-1); > > Best regards, > Louie > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 12:09 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Hi, > From this page, you have > > CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory > > This is not suprising that you have a GPU memory issue when decreasing the > spacing because a finer volume spacing might require more rows of the > projections for the reconstruction and therefore you can end up with being > out of memory. Try processing one projection at a time with --subsetsize 1. > If it's still too large, you'll have to change your --dimension to process > a smaller volume in the y direction. > Simon > > On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > >> Dear rtk users/developers, >> >> I was testing the rtkfdk.exe application. >> The program ran into an error and caught an exception saying: >> ? >> itk::ExceptionObject (00000000002EEA60) >> Location: "unknown" >> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >> Line: 97 >> Description: itk::ERROR: CUFFT ERROR #2? >> To save you a trip to the documentation, Line: 97 is here: >> ? >> if(fftDimension.z==1) >> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >> CUFFT_R2C); >> else >> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >> inputDimension.x, CUFFT_R2C); >> CUFFT_CHECK_ERROR(result); >> ? >> >> This occurred when --spacing=0.04623, while the program works just fine >> if I use --spacing=0.05. >> Is there anyone can help me with this? >> >> Best regards, >> Louie >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 09:00:30 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 15:00:30 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 10:43:28 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 16:43:28 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: > Hi > If I use spacing =0.4623 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 16805888 bytes > Used memory = 5351706624 bytes > Used memory = 99.687% > ----------------------------------------------then it crashed. > > If I use spacing =0.462 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 146837504 bytes > Used memory = 5221675008 bytes > Used memory = 97.2648% > ----------------------------------------------didn?t crash, but a near > miss. > > Yes, it looks like a memory problem. But why a small change in spacing > will increase the memory consumption? > > Best regards, > Louie > > > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 1:27 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Then I don't see what else could be the problem. If it's a GPU memory > issue, you'll see it by adding the following command > > { > > size_t free, used, total; > cudaMemGetInfo(&free, &total); > used = total - free; > > std::cout << std::endl; > std::cout << "------------- Device memory usage ------------" << > std::endl; > std::cout << "Total memory = " << total << " bytes" << std::endl; > std::cout << "Free memory = " << free << " bytes" << std::endl; > std::cout << "Used memory = " << used << " bytes" << std::endl; > std::cout << "Used memory = " << (used * 100.0 / total) << "%" << > std::endl; > std::cout << "----------------------------------------------" << > std::endl; > std::cout << std::endl; > } > > before the crashing command. If the memory is the issue, then I'm not sure > I understand why either, I quite agree with your comments. If it's not a > memory issue, then I don't know what's the problem... > Simon > > On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > >> Thank you. >> I kept the dimension to the same value. I think reducing the spacing will >> need less rows in the projections, because the physical length will reduce >> with the spacing. >> Interestingly, it also works if I use 0.0462 instead of 0.04623 as >> spacing. >> Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The >> origin is always updated with ?0.5*spacing*(size-1); >> >> Best regards, >> Louie >> >> *From:* Simon Rit >> *Sent:* Tuesday, August 04, 2015 12:09 PM >> *To:* ghostcz >> *Cc:* rtk-users at public.kitware.com >> *Subject:* Re: [Rtk-users] CUFFT error >> >> Hi, >> From this page, you have >> >> CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory >> >> This is not suprising that you have a GPU memory issue when decreasing >> the spacing because a finer volume spacing might require more rows of the >> projections for the reconstruction and therefore you can end up with being >> out of memory. Try processing one projection at a time with --subsetsize 1. >> If it's still too large, you'll have to change your --dimension to process >> a smaller volume in the y direction. >> Simon >> >> On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: >> >>> Dear rtk users/developers, >>> >>> I was testing the rtkfdk.exe application. >>> The program ran into an error and caught an exception saying: >>> ? >>> itk::ExceptionObject (00000000002EEA60) >>> Location: "unknown" >>> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >>> Line: 97 >>> Description: itk::ERROR: CUFFT ERROR #2? >>> To save you a trip to the documentation, Line: 97 is here: >>> ? >>> if(fftDimension.z==1) >>> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >>> CUFFT_R2C); >>> else >>> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >>> inputDimension.x, CUFFT_R2C); >>> CUFFT_CHECK_ERROR(result); >>> ? >>> >>> This occurred when --spacing=0.04623, while the program works just fine >>> if I use --spacing=0.05. >>> Is there anyone can help me with this? >>> >>> Best regards, >>> Louie >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 10:50:18 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 16:50:18 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: sure thing... From: Simon Rit Sent: Tuesday, August 04, 2015 4:43 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Wed Aug 5 20:00:35 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 03:00:35 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? Message-ID: Dear Simon and RTK community, considering in rtksart ,we have --positivity to force the reconstructed volume values to be positive(i guess, not tested yet), i was wondering if we have any options and commands to have the same effect in algorithms fdk and admmtv since --positivity can not be found? the Boellaard scatter correction: --nonneg is what i am looking for? Thanks in advance. Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 01:27:11 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 07:27:11 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, No there is no option to force the output volume to 0. This is not the same as sart where you might want to do it during the iterations. In the FDK case, it's only post-processing so there is not really a reason to put it in rtkfdk. The nonneg option is the minimum value of the intensity that you allow the Boellaard algorithm to reach after scatter correction. This does not prevent negative values in the volume because the ramp filter might create negative values from positive projections. Simon On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang wrote: > Dear Simon and RTK community, > considering in rtksart ,we have --positivity to force the reconstructed > volume values to be positive(i guess, not tested yet), i was wondering if > we have any options and commands to have the same effect in algorithms fdk > and admmtv since --positivity can not be found? > the Boellaard scatter correction: --nonneg is what i am looking for? > Thanks in advance. > Guangming > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 04:34:39 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 10:34:39 +0200 Subject: [Rtk-users] RTK user meeting on image quality in static CBCT In-Reply-To: References: Message-ID: Dear RTK users, I have written a summary of the discussions during the meeting here http://wiki.openrtk.org/index.php/RTK/ImageQuality This page will be updated with new developments in the future. Regards, Simon On Tue, Jun 16, 2015 at 10:14 AM, Simon Rit wrote: > Hi, > The consensus date is Friday July 31, 2015. Save the date! > The meeting will be at the L?on B?rard center in Lyon, I'll soon > provide more details on the organization. > Simon > > On Wed, Jun 10, 2015 at 10:12 AM, Simon Rit > wrote: > > Dear RTK users and developers, > > We are a few users to face the same problem of poor image quality in > > cone-beam CT due to photon statistics, detector effects (lag, glare, > ...), > > beam hardening and/or scatter. RTK has basic solutions, there are other > > solutions being implemented and we would like better solutions > implemented. > > I would like to invite those that want to contribute to this topic to a > > one-day meeting in Lyon the last week of July. > > > > Goals: > > - present and discuss existing RTK solutions, > > - present and discuss solutions being implemented in RTK, > > - propose the development of new solutions and share the work. > > > > Place: Lyon, France (exact location to be announced) > > > > Time: last week of July, day to be determined, please complete foodle if > > you're interested. > > > > Cost: free but you'll have to organize your travel and hotel plans (I'll > > send suggestions later). > > > > If there is a specific algorithm that you would like to discuss, please > send > > me an email with the reference. I will put together a list of references > to > > read before the meeting. > > I hope to see you all at the end of July. > > Simon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Thu Aug 6 04:58:42 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 11:58:42 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi Simon, thanks for the explanation in detail. ?i can understand why? there is only post-processing for fdk algorithm now, but why don't we do the non-negative checking during each ADMM iteration? after all, in my opinion, in most of applications, only volume values that between [0,positive infinite) make sense. Regards Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* 2015-08-06 8:27 GMT+03:00 Simon Rit : > Hi, > No there is no option to force the output volume to 0. This is not the > same as sart where you might want to do it during the iterations. In the > FDK case, it's only post-processing so there is not really a reason to put > it in rtkfdk. > The nonneg option is the minimum value of the intensity that you allow the > Boellaard algorithm to reach after scatter correction. This does not > prevent negative values in the volume because the ramp filter might create > negative values from positive projections. > Simon > > On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < > guangming.zang at kaust.edu.sa> wrote: > >> Dear Simon and RTK community, >> considering in rtksart ,we have --positivity to force the reconstructed >> volume values to be positive(i guess, not tested yet), i was wondering if >> we have any options and commands to have the same effect in algorithms fdk >> and admmtv since --positivity can not be found? >> the Boellaard scatter correction: --nonneg is what i am looking for? >> Thanks in advance. >> Guangming >> *Guangming Zang (Alex)* >> *King Abdullah University of Science and Technology(KAUST)* >> *University of Chinese Academy of Sciences(UCAS)* >> >> >> >> >> ------------------------------ >> This message and its contents, including attachments are intended solely >> for the original recipient. If you are not the intended recipient or have >> received this message in error, please notify me immediately and delete >> this message from your computer system. Any unauthorized use or >> distribution is prohibited. Please consider the environment before printing >> this email. > > > -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 08:37:41 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 14:37:41 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, I haven't implemented the ADMM algorithm but adding a constraint such as positivity in iterative reconstruction is not a straightforward thing. The way it's done in SART and ROOSTER is heuristic and there is no proof of convergence. Still, you can easily add it in this way if you want to but you'll have to modify the code. There is a wealth of literature on the topic if you want to read it. To illustrate this complexity, you can read the paper of Cyril Mory at the CT meeting last year. Simon On Thu, Aug 6, 2015 at 10:58 AM, Guangming Zang wrote: > Hi Simon, > thanks for the explanation in detail. > ?i can understand why? there is only post-processing for fdk algorithm now, > but why don't we do the non-negative checking during each ADMM iteration? > after all, in my opinion, in most of applications, only volume values that > between [0,positive infinite) make sense. > Regards > Guangming > > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > 2015-08-06 8:27 GMT+03:00 Simon Rit : > >> Hi, >> No there is no option to force the output volume to 0. This is not the >> same as sart where you might want to do it during the iterations. In the >> FDK case, it's only post-processing so there is not really a reason to put >> it in rtkfdk. >> The nonneg option is the minimum value of the intensity that you allow >> the Boellaard algorithm to reach after scatter correction. This does not >> prevent negative values in the volume because the ramp filter might create >> negative values from positive projections. >> Simon >> >> On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < >> guangming.zang at kaust.edu.sa> wrote: >> >>> Dear Simon and RTK community, >>> considering in rtksart ,we have --positivity to force the reconstructed >>> volume values to be positive(i guess, not tested yet), i was wondering if >>> we have any options and commands to have the same effect in algorithms fdk >>> and admmtv since --positivity can not be found? >>> the Boellaard scatter correction: --nonneg is what i am looking for? >>> Thanks in advance. >>> Guangming >>> *Guangming Zang (Alex)* >>> *King Abdullah University of Science and Technology(KAUST)* >>> *University of Chinese Academy of Sciences(UCAS)* >>> >>> >>> >>> >>> ------------------------------ >>> This message and its contents, including attachments are intended solely >>> for the original recipient. If you are not the intended recipient or have >>> received this message in error, please notify me immediately and delete >>> this message from your computer system. Any unauthorized use or >>> distribution is prohibited. Please consider the environment before printing >>> this email. >> >> >> > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julia.mascolo-fortin.1 at ulaval.ca Tue Aug 25 13:25:54 2015 From: julia.mascolo-fortin.1 at ulaval.ca (Julia Mascolo-Fortin) Date: Tue, 25 Aug 2015 17:25:54 +0000 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> References: , <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> Message-ID: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Hi, I'm working on a program that use ITK and the RTK module ITKCudaCommon. It works fine on my computer. However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw an error: RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : Cuda Error : all CUDA-capable devices are busy or unavailable terminate called after throwing an instance of 'itk::ExceptionObject' what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: Cuda Error : all CUDA-capable devices are busy or unavailable This error is obtained in this line in my code: float *d_Projections = *(float**)( m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); This error is weird because the program clearly state "Found 1 CUDA enabled device[s]" and I have been able to run another program on that cluster without any problem. If anyone has experience with the implementation on RTK program on a GPU cluster, your help would be appreciated. Julia Mascolo-Fortin From simon.rit at creatis.insa-lyon.fr Sun Aug 30 14:23:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Sun, 30 Aug 2015 20:23:19 +0200 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> References: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Message-ID: Hi, I have used it on a cluster node with 2 GPUs without any problem. Have you tried nvidia code to check if it's a problem with the ITKCudaCommon package or with your system? From this forum , it seems that this problem is independent of ITKCudaCommon... Simon On Tue, Aug 25, 2015 at 7:25 PM, Julia Mascolo-Fortin < julia.mascolo-fortin.1 at ulaval.ca> wrote: > Hi, > > I'm working on a program that use ITK and the RTK module ITKCudaCommon. It > works fine on my computer. > > However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw > an error: > > RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : > Cuda Error : all CUDA-capable devices are busy or unavailable > > terminate called after throwing an instance of 'itk::ExceptionObject' > what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: > Cuda Error : all CUDA-capable devices are busy or unavailable > > > This error is obtained in this line in my code: > > float *d_Projections = *(float**)( > m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); > > > This error is weird because the program clearly state "Found 1 CUDA > enabled device[s]" and I have been able to run another program on that > cluster without any problem. > > > If anyone has experience with the implementation on RTK program on a GPU > cluster, your help would be appreciated. > > Julia Mascolo-Fortin > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Mon Aug 3 05:34:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Mon, 3 Aug 2015 11:34:44 +0200 Subject: [Rtk-users] Limit of the Image Reader Message-ID: Dear rtk users/developers, What is the largest volume an image reader can take? Although this is more an itk question, I hope someone here may give me a hint. The reader is defined as: itk::ImageFileReader> An runtime error occurred when I was trying to read a volume of 6e9 at FloatingPoint Thank you. Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Mon Aug 3 05:55:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 3 Aug 2015 11:55:19 +0200 Subject: [Rtk-users] Limit of the Image Reader In-Reply-To: References: Message-ID: Hi Louie, I think it depends on your computer RAM, there is no theoretical limit as far as I know. 6e9 floats is 24 GB of RAM. Simon On Mon, Aug 3, 2015 at 11:34 AM, ghostcz wrote: > Dear rtk users/developers, > > > > What is the largest volume an image reader can take? > > Although this is more an itk question, I hope someone here may give me a > hint. > > The reader is defined as: > > itk::ImageFileReader> > > An runtime error occurred when I was trying to read a volume of > 6e9 at FloatingPoint > > > > Thank you. > > > > Best regards, > > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 04:49:21 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 10:49:21 +0200 Subject: [Rtk-users] CUFFT error Message-ID: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 06:09:04 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 12:09:04 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi, >From this page , you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory This is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > Dear rtk users/developers, > > I was testing the rtkfdk.exe application. > The program ran into an error and caught an exception saying: > ? > itk::ExceptionObject (00000000002EEA60) > Location: "unknown" > File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu > Line: 97 > Description: itk::ERROR: CUFFT ERROR #2? > To save you a trip to the documentation, Line: 97 is here: > ? > if(fftDimension.z==1) > result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, > CUFFT_R2C); > else > result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, > inputDimension.x, CUFFT_R2C); > CUFFT_CHECK_ERROR(result); > ? > > This occurred when --spacing=0.04623, while the program works just fine if > I use --spacing=0.05. > Is there anyone can help me with this? > > Best regards, > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 07:05:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 13:05:44 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, >From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 07:27:54 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 13:27:54 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > Thank you. > I kept the dimension to the same value. I think reducing the spacing will > need less rows in the projections, because the physical length will reduce > with the spacing. > Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. > Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin > is always updated with ?0.5*spacing*(size-1); > > Best regards, > Louie > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 12:09 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Hi, > From this page, you have > > CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory > > This is not suprising that you have a GPU memory issue when decreasing the > spacing because a finer volume spacing might require more rows of the > projections for the reconstruction and therefore you can end up with being > out of memory. Try processing one projection at a time with --subsetsize 1. > If it's still too large, you'll have to change your --dimension to process > a smaller volume in the y direction. > Simon > > On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > >> Dear rtk users/developers, >> >> I was testing the rtkfdk.exe application. >> The program ran into an error and caught an exception saying: >> ? >> itk::ExceptionObject (00000000002EEA60) >> Location: "unknown" >> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >> Line: 97 >> Description: itk::ERROR: CUFFT ERROR #2? >> To save you a trip to the documentation, Line: 97 is here: >> ? >> if(fftDimension.z==1) >> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >> CUFFT_R2C); >> else >> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >> inputDimension.x, CUFFT_R2C); >> CUFFT_CHECK_ERROR(result); >> ? >> >> This occurred when --spacing=0.04623, while the program works just fine >> if I use --spacing=0.05. >> Is there anyone can help me with this? >> >> Best regards, >> Louie >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 09:00:30 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 15:00:30 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 10:43:28 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 16:43:28 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: > Hi > If I use spacing =0.4623 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 16805888 bytes > Used memory = 5351706624 bytes > Used memory = 99.687% > ----------------------------------------------then it crashed. > > If I use spacing =0.462 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 146837504 bytes > Used memory = 5221675008 bytes > Used memory = 97.2648% > ----------------------------------------------didn?t crash, but a near > miss. > > Yes, it looks like a memory problem. But why a small change in spacing > will increase the memory consumption? > > Best regards, > Louie > > > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 1:27 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Then I don't see what else could be the problem. If it's a GPU memory > issue, you'll see it by adding the following command > > { > > size_t free, used, total; > cudaMemGetInfo(&free, &total); > used = total - free; > > std::cout << std::endl; > std::cout << "------------- Device memory usage ------------" << > std::endl; > std::cout << "Total memory = " << total << " bytes" << std::endl; > std::cout << "Free memory = " << free << " bytes" << std::endl; > std::cout << "Used memory = " << used << " bytes" << std::endl; > std::cout << "Used memory = " << (used * 100.0 / total) << "%" << > std::endl; > std::cout << "----------------------------------------------" << > std::endl; > std::cout << std::endl; > } > > before the crashing command. If the memory is the issue, then I'm not sure > I understand why either, I quite agree with your comments. If it's not a > memory issue, then I don't know what's the problem... > Simon > > On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > >> Thank you. >> I kept the dimension to the same value. I think reducing the spacing will >> need less rows in the projections, because the physical length will reduce >> with the spacing. >> Interestingly, it also works if I use 0.0462 instead of 0.04623 as >> spacing. >> Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The >> origin is always updated with ?0.5*spacing*(size-1); >> >> Best regards, >> Louie >> >> *From:* Simon Rit >> *Sent:* Tuesday, August 04, 2015 12:09 PM >> *To:* ghostcz >> *Cc:* rtk-users at public.kitware.com >> *Subject:* Re: [Rtk-users] CUFFT error >> >> Hi, >> From this page, you have >> >> CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory >> >> This is not suprising that you have a GPU memory issue when decreasing >> the spacing because a finer volume spacing might require more rows of the >> projections for the reconstruction and therefore you can end up with being >> out of memory. Try processing one projection at a time with --subsetsize 1. >> If it's still too large, you'll have to change your --dimension to process >> a smaller volume in the y direction. >> Simon >> >> On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: >> >>> Dear rtk users/developers, >>> >>> I was testing the rtkfdk.exe application. >>> The program ran into an error and caught an exception saying: >>> ? >>> itk::ExceptionObject (00000000002EEA60) >>> Location: "unknown" >>> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >>> Line: 97 >>> Description: itk::ERROR: CUFFT ERROR #2? >>> To save you a trip to the documentation, Line: 97 is here: >>> ? >>> if(fftDimension.z==1) >>> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >>> CUFFT_R2C); >>> else >>> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >>> inputDimension.x, CUFFT_R2C); >>> CUFFT_CHECK_ERROR(result); >>> ? >>> >>> This occurred when --spacing=0.04623, while the program works just fine >>> if I use --spacing=0.05. >>> Is there anyone can help me with this? >>> >>> Best regards, >>> Louie >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 10:50:18 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 16:50:18 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: sure thing... From: Simon Rit Sent: Tuesday, August 04, 2015 4:43 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Wed Aug 5 20:00:35 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 03:00:35 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? Message-ID: Dear Simon and RTK community, considering in rtksart ,we have --positivity to force the reconstructed volume values to be positive(i guess, not tested yet), i was wondering if we have any options and commands to have the same effect in algorithms fdk and admmtv since --positivity can not be found? the Boellaard scatter correction: --nonneg is what i am looking for? Thanks in advance. Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 01:27:11 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 07:27:11 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, No there is no option to force the output volume to 0. This is not the same as sart where you might want to do it during the iterations. In the FDK case, it's only post-processing so there is not really a reason to put it in rtkfdk. The nonneg option is the minimum value of the intensity that you allow the Boellaard algorithm to reach after scatter correction. This does not prevent negative values in the volume because the ramp filter might create negative values from positive projections. Simon On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang wrote: > Dear Simon and RTK community, > considering in rtksart ,we have --positivity to force the reconstructed > volume values to be positive(i guess, not tested yet), i was wondering if > we have any options and commands to have the same effect in algorithms fdk > and admmtv since --positivity can not be found? > the Boellaard scatter correction: --nonneg is what i am looking for? > Thanks in advance. > Guangming > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 04:34:39 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 10:34:39 +0200 Subject: [Rtk-users] RTK user meeting on image quality in static CBCT In-Reply-To: References: Message-ID: Dear RTK users, I have written a summary of the discussions during the meeting here http://wiki.openrtk.org/index.php/RTK/ImageQuality This page will be updated with new developments in the future. Regards, Simon On Tue, Jun 16, 2015 at 10:14 AM, Simon Rit wrote: > Hi, > The consensus date is Friday July 31, 2015. Save the date! > The meeting will be at the L?on B?rard center in Lyon, I'll soon > provide more details on the organization. > Simon > > On Wed, Jun 10, 2015 at 10:12 AM, Simon Rit > wrote: > > Dear RTK users and developers, > > We are a few users to face the same problem of poor image quality in > > cone-beam CT due to photon statistics, detector effects (lag, glare, > ...), > > beam hardening and/or scatter. RTK has basic solutions, there are other > > solutions being implemented and we would like better solutions > implemented. > > I would like to invite those that want to contribute to this topic to a > > one-day meeting in Lyon the last week of July. > > > > Goals: > > - present and discuss existing RTK solutions, > > - present and discuss solutions being implemented in RTK, > > - propose the development of new solutions and share the work. > > > > Place: Lyon, France (exact location to be announced) > > > > Time: last week of July, day to be determined, please complete foodle if > > you're interested. > > > > Cost: free but you'll have to organize your travel and hotel plans (I'll > > send suggestions later). > > > > If there is a specific algorithm that you would like to discuss, please > send > > me an email with the reference. I will put together a list of references > to > > read before the meeting. > > I hope to see you all at the end of July. > > Simon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Thu Aug 6 04:58:42 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 11:58:42 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi Simon, thanks for the explanation in detail. ?i can understand why? there is only post-processing for fdk algorithm now, but why don't we do the non-negative checking during each ADMM iteration? after all, in my opinion, in most of applications, only volume values that between [0,positive infinite) make sense. Regards Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* 2015-08-06 8:27 GMT+03:00 Simon Rit : > Hi, > No there is no option to force the output volume to 0. This is not the > same as sart where you might want to do it during the iterations. In the > FDK case, it's only post-processing so there is not really a reason to put > it in rtkfdk. > The nonneg option is the minimum value of the intensity that you allow the > Boellaard algorithm to reach after scatter correction. This does not > prevent negative values in the volume because the ramp filter might create > negative values from positive projections. > Simon > > On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < > guangming.zang at kaust.edu.sa> wrote: > >> Dear Simon and RTK community, >> considering in rtksart ,we have --positivity to force the reconstructed >> volume values to be positive(i guess, not tested yet), i was wondering if >> we have any options and commands to have the same effect in algorithms fdk >> and admmtv since --positivity can not be found? >> the Boellaard scatter correction: --nonneg is what i am looking for? >> Thanks in advance. >> Guangming >> *Guangming Zang (Alex)* >> *King Abdullah University of Science and Technology(KAUST)* >> *University of Chinese Academy of Sciences(UCAS)* >> >> >> >> >> ------------------------------ >> This message and its contents, including attachments are intended solely >> for the original recipient. If you are not the intended recipient or have >> received this message in error, please notify me immediately and delete >> this message from your computer system. Any unauthorized use or >> distribution is prohibited. Please consider the environment before printing >> this email. > > > -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 08:37:41 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 14:37:41 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, I haven't implemented the ADMM algorithm but adding a constraint such as positivity in iterative reconstruction is not a straightforward thing. The way it's done in SART and ROOSTER is heuristic and there is no proof of convergence. Still, you can easily add it in this way if you want to but you'll have to modify the code. There is a wealth of literature on the topic if you want to read it. To illustrate this complexity, you can read the paper of Cyril Mory at the CT meeting last year. Simon On Thu, Aug 6, 2015 at 10:58 AM, Guangming Zang wrote: > Hi Simon, > thanks for the explanation in detail. > ?i can understand why? there is only post-processing for fdk algorithm now, > but why don't we do the non-negative checking during each ADMM iteration? > after all, in my opinion, in most of applications, only volume values that > between [0,positive infinite) make sense. > Regards > Guangming > > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > 2015-08-06 8:27 GMT+03:00 Simon Rit : > >> Hi, >> No there is no option to force the output volume to 0. This is not the >> same as sart where you might want to do it during the iterations. In the >> FDK case, it's only post-processing so there is not really a reason to put >> it in rtkfdk. >> The nonneg option is the minimum value of the intensity that you allow >> the Boellaard algorithm to reach after scatter correction. This does not >> prevent negative values in the volume because the ramp filter might create >> negative values from positive projections. >> Simon >> >> On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < >> guangming.zang at kaust.edu.sa> wrote: >> >>> Dear Simon and RTK community, >>> considering in rtksart ,we have --positivity to force the reconstructed >>> volume values to be positive(i guess, not tested yet), i was wondering if >>> we have any options and commands to have the same effect in algorithms fdk >>> and admmtv since --positivity can not be found? >>> the Boellaard scatter correction: --nonneg is what i am looking for? >>> Thanks in advance. >>> Guangming >>> *Guangming Zang (Alex)* >>> *King Abdullah University of Science and Technology(KAUST)* >>> *University of Chinese Academy of Sciences(UCAS)* >>> >>> >>> >>> >>> ------------------------------ >>> This message and its contents, including attachments are intended solely >>> for the original recipient. If you are not the intended recipient or have >>> received this message in error, please notify me immediately and delete >>> this message from your computer system. Any unauthorized use or >>> distribution is prohibited. Please consider the environment before printing >>> this email. >> >> >> > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julia.mascolo-fortin.1 at ulaval.ca Tue Aug 25 13:25:54 2015 From: julia.mascolo-fortin.1 at ulaval.ca (Julia Mascolo-Fortin) Date: Tue, 25 Aug 2015 17:25:54 +0000 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> References: , <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> Message-ID: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Hi, I'm working on a program that use ITK and the RTK module ITKCudaCommon. It works fine on my computer. However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw an error: RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : Cuda Error : all CUDA-capable devices are busy or unavailable terminate called after throwing an instance of 'itk::ExceptionObject' what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: Cuda Error : all CUDA-capable devices are busy or unavailable This error is obtained in this line in my code: float *d_Projections = *(float**)( m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); This error is weird because the program clearly state "Found 1 CUDA enabled device[s]" and I have been able to run another program on that cluster without any problem. If anyone has experience with the implementation on RTK program on a GPU cluster, your help would be appreciated. Julia Mascolo-Fortin From simon.rit at creatis.insa-lyon.fr Sun Aug 30 14:23:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Sun, 30 Aug 2015 20:23:19 +0200 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> References: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Message-ID: Hi, I have used it on a cluster node with 2 GPUs without any problem. Have you tried nvidia code to check if it's a problem with the ITKCudaCommon package or with your system? From this forum , it seems that this problem is independent of ITKCudaCommon... Simon On Tue, Aug 25, 2015 at 7:25 PM, Julia Mascolo-Fortin < julia.mascolo-fortin.1 at ulaval.ca> wrote: > Hi, > > I'm working on a program that use ITK and the RTK module ITKCudaCommon. It > works fine on my computer. > > However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw > an error: > > RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : > Cuda Error : all CUDA-capable devices are busy or unavailable > > terminate called after throwing an instance of 'itk::ExceptionObject' > what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: > Cuda Error : all CUDA-capable devices are busy or unavailable > > > This error is obtained in this line in my code: > > float *d_Projections = *(float**)( > m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); > > > This error is weird because the program clearly state "Found 1 CUDA > enabled device[s]" and I have been able to run another program on that > cluster without any problem. > > > If anyone has experience with the implementation on RTK program on a GPU > cluster, your help would be appreciated. > > Julia Mascolo-Fortin > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Mon Aug 3 05:34:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Mon, 3 Aug 2015 11:34:44 +0200 Subject: [Rtk-users] Limit of the Image Reader Message-ID: Dear rtk users/developers, What is the largest volume an image reader can take? Although this is more an itk question, I hope someone here may give me a hint. The reader is defined as: itk::ImageFileReader> An runtime error occurred when I was trying to read a volume of 6e9 at FloatingPoint Thank you. Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Mon Aug 3 05:55:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Mon, 3 Aug 2015 11:55:19 +0200 Subject: [Rtk-users] Limit of the Image Reader In-Reply-To: References: Message-ID: Hi Louie, I think it depends on your computer RAM, there is no theoretical limit as far as I know. 6e9 floats is 24 GB of RAM. Simon On Mon, Aug 3, 2015 at 11:34 AM, ghostcz wrote: > Dear rtk users/developers, > > > > What is the largest volume an image reader can take? > > Although this is more an itk question, I hope someone here may give me a > hint. > > The reader is defined as: > > itk::ImageFileReader> > > An runtime error occurred when I was trying to read a volume of > 6e9 at FloatingPoint > > > > Thank you. > > > > Best regards, > > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 04:49:21 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 10:49:21 +0200 Subject: [Rtk-users] CUFFT error Message-ID: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 06:09:04 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 12:09:04 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi, >From this page , you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory This is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > Dear rtk users/developers, > > I was testing the rtkfdk.exe application. > The program ran into an error and caught an exception saying: > ? > itk::ExceptionObject (00000000002EEA60) > Location: "unknown" > File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu > Line: 97 > Description: itk::ERROR: CUFFT ERROR #2? > To save you a trip to the documentation, Line: 97 is here: > ? > if(fftDimension.z==1) > result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, > CUFFT_R2C); > else > result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, > inputDimension.x, CUFFT_R2C); > CUFFT_CHECK_ERROR(result); > ? > > This occurred when --spacing=0.04623, while the program works just fine if > I use --spacing=0.05. > Is there anyone can help me with this? > > Best regards, > Louie > > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 07:05:44 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 13:05:44 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, >From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 07:27:54 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 13:27:54 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > Thank you. > I kept the dimension to the same value. I think reducing the spacing will > need less rows in the projections, because the physical length will reduce > with the spacing. > Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. > Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin > is always updated with ?0.5*spacing*(size-1); > > Best regards, > Louie > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 12:09 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Hi, > From this page, you have > > CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory > > This is not suprising that you have a GPU memory issue when decreasing the > spacing because a finer volume spacing might require more rows of the > projections for the reconstruction and therefore you can end up with being > out of memory. Try processing one projection at a time with --subsetsize 1. > If it's still too large, you'll have to change your --dimension to process > a smaller volume in the y direction. > Simon > > On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: > >> Dear rtk users/developers, >> >> I was testing the rtkfdk.exe application. >> The program ran into an error and caught an exception saying: >> ? >> itk::ExceptionObject (00000000002EEA60) >> Location: "unknown" >> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >> Line: 97 >> Description: itk::ERROR: CUFFT ERROR #2? >> To save you a trip to the documentation, Line: 97 is here: >> ? >> if(fftDimension.z==1) >> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >> CUFFT_R2C); >> else >> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >> inputDimension.x, CUFFT_R2C); >> CUFFT_CHECK_ERROR(result); >> ? >> >> This occurred when --spacing=0.04623, while the program works just fine >> if I use --spacing=0.05. >> Is there anyone can help me with this? >> >> Best regards, >> Louie >> >> _______________________________________________ >> Rtk-users mailing list >> Rtk-users at public.kitware.com >> http://public.kitware.com/mailman/listinfo/rtk-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 09:00:30 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 15:00:30 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Tue Aug 4 10:43:28 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Tue, 4 Aug 2015 16:43:28 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: > Hi > If I use spacing =0.4623 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 16805888 bytes > Used memory = 5351706624 bytes > Used memory = 99.687% > ----------------------------------------------then it crashed. > > If I use spacing =0.462 , size=[800 2000 1000] > ------------- Device memory usage ------------ > Total memory = 5368512512 bytes > Free memory = 146837504 bytes > Used memory = 5221675008 bytes > Used memory = 97.2648% > ----------------------------------------------didn?t crash, but a near > miss. > > Yes, it looks like a memory problem. But why a small change in spacing > will increase the memory consumption? > > Best regards, > Louie > > > > *From:* Simon Rit > *Sent:* Tuesday, August 04, 2015 1:27 PM > *To:* ghostcz > *Cc:* rtk-users at public.kitware.com > *Subject:* Re: [Rtk-users] CUFFT error > > Then I don't see what else could be the problem. If it's a GPU memory > issue, you'll see it by adding the following command > > { > > size_t free, used, total; > cudaMemGetInfo(&free, &total); > used = total - free; > > std::cout << std::endl; > std::cout << "------------- Device memory usage ------------" << > std::endl; > std::cout << "Total memory = " << total << " bytes" << std::endl; > std::cout << "Free memory = " << free << " bytes" << std::endl; > std::cout << "Used memory = " << used << " bytes" << std::endl; > std::cout << "Used memory = " << (used * 100.0 / total) << "%" << > std::endl; > std::cout << "----------------------------------------------" << > std::endl; > std::cout << std::endl; > } > > before the crashing command. If the memory is the issue, then I'm not sure > I understand why either, I quite agree with your comments. If it's not a > memory issue, then I don't know what's the problem... > Simon > > On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: > >> Thank you. >> I kept the dimension to the same value. I think reducing the spacing will >> need less rows in the projections, because the physical length will reduce >> with the spacing. >> Interestingly, it also works if I use 0.0462 instead of 0.04623 as >> spacing. >> Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The >> origin is always updated with ?0.5*spacing*(size-1); >> >> Best regards, >> Louie >> >> *From:* Simon Rit >> *Sent:* Tuesday, August 04, 2015 12:09 PM >> *To:* ghostcz >> *Cc:* rtk-users at public.kitware.com >> *Subject:* Re: [Rtk-users] CUFFT error >> >> Hi, >> From this page, you have >> >> CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memory >> >> This is not suprising that you have a GPU memory issue when decreasing >> the spacing because a finer volume spacing might require more rows of the >> projections for the reconstruction and therefore you can end up with being >> out of memory. Try processing one projection at a time with --subsetsize 1. >> If it's still too large, you'll have to change your --dimension to process >> a smaller volume in the y direction. >> Simon >> >> On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: >> >>> Dear rtk users/developers, >>> >>> I was testing the rtkfdk.exe application. >>> The program ran into an error and caught an exception saying: >>> ? >>> itk::ExceptionObject (00000000002EEA60) >>> Location: "unknown" >>> File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu >>> Line: 97 >>> Description: itk::ERROR: CUFFT ERROR #2? >>> To save you a trip to the documentation, Line: 97 is here: >>> ? >>> if(fftDimension.z==1) >>> result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, >>> CUFFT_R2C); >>> else >>> result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, >>> inputDimension.x, CUFFT_R2C); >>> CUFFT_CHECK_ERROR(result); >>> ? >>> >>> This occurred when --spacing=0.04623, while the program works just fine >>> if I use --spacing=0.05. >>> Is there anyone can help me with this? >>> >>> Best regards, >>> Louie >>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users at public.kitware.com >>> http://public.kitware.com/mailman/listinfo/rtk-users >>> >>> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ghostcz at hotmail.com Tue Aug 4 10:50:18 2015 From: ghostcz at hotmail.com (ghostcz) Date: Tue, 4 Aug 2015 16:50:18 +0200 Subject: [Rtk-users] CUFFT error In-Reply-To: References: Message-ID: sure thing... From: Simon Rit Sent: Tuesday, August 04, 2015 4:43 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error That's a very good question! I have no idea but let us know if you find out... Simon On Tue, Aug 4, 2015 at 3:00 PM, ghostcz wrote: Hi If I use spacing =0.4623 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 16805888 bytes Used memory = 5351706624 bytes Used memory = 99.687% ----------------------------------------------then it crashed. If I use spacing =0.462 , size=[800 2000 1000] ------------- Device memory usage ------------ Total memory = 5368512512 bytes Free memory = 146837504 bytes Used memory = 5221675008 bytes Used memory = 97.2648% ----------------------------------------------didn?t crash, but a near miss. Yes, it looks like a memory problem. But why a small change in spacing will increase the memory consumption? Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 1:27 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Then I don't see what else could be the problem. If it's a GPU memory issue, you'll see it by adding the following command { size_t free, used, total; cudaMemGetInfo(&free, &total); used = total - free; std::cout << std::endl; std::cout << "------------- Device memory usage ------------" << std::endl; std::cout << "Total memory = " << total << " bytes" << std::endl; std::cout << "Free memory = " << free << " bytes" << std::endl; std::cout << "Used memory = " << used << " bytes" << std::endl; std::cout << "Used memory = " << (used * 100.0 / total) << "%" << std::endl; std::cout << "----------------------------------------------" << std::endl; std::cout << std::endl; } before the crashing command. If the memory is the issue, then I'm not sure I understand why either, I quite agree with your comments. If it's not a memory issue, then I don't know what's the problem... Simon On Tue, Aug 4, 2015 at 1:05 PM, ghostcz wrote: Thank you. I kept the dimension to the same value. I think reducing the spacing will need less rows in the projections, because the physical length will reduce with the spacing. Interestingly, it also works if I use 0.0462 instead of 0.04623 as spacing. Yes, I use ?subsetsize=1 and ?division=2 while ?lowmem enabled. The origin is always updated with ?0.5*spacing*(size-1); Best regards, Louie From: Simon Rit Sent: Tuesday, August 04, 2015 12:09 PM To: ghostcz Cc: rtk-users at public.kitware.com Subject: Re: [Rtk-users] CUFFT error Hi, From this page, you have CUFFT_ALLOC_FAILED = 2, // cuFFT failed to allocate GPU or CPU memoryThis is not suprising that you have a GPU memory issue when decreasing the spacing because a finer volume spacing might require more rows of the projections for the reconstruction and therefore you can end up with being out of memory. Try processing one projection at a time with --subsetsize 1. If it's still too large, you'll have to change your --dimension to process a smaller volume in the y direction. Simon On Tue, Aug 4, 2015 at 10:49 AM, ghostcz wrote: Dear rtk users/developers, I was testing the rtkfdk.exe application. The program ran into an error and caught an exception saying: ? itk::ExceptionObject (00000000002EEA60) Location: "unknown" File: C:/Users/liy/root/RTK/code/rtkCudaFFTRampImageFilter.cu Line: 97 Description: itk::ERROR: CUFFT ERROR #2? To save you a trip to the documentation, Line: 97 is here: ? if(fftDimension.z==1) result = cufftPlan2d(&fftFwd, inputDimension.y, inputDimension.x, CUFFT_R2C); else result = cufftPlan3d(&fftFwd, inputDimension.z, inputDimension.y, inputDimension.x, CUFFT_R2C); CUFFT_CHECK_ERROR(result); ? This occurred when --spacing=0.04623, while the program works just fine if I use --spacing=0.05. Is there anyone can help me with this? Best regards, Louie _______________________________________________ Rtk-users mailing list Rtk-users at public.kitware.com http://public.kitware.com/mailman/listinfo/rtk-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Wed Aug 5 20:00:35 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 03:00:35 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? Message-ID: Dear Simon and RTK community, considering in rtksart ,we have --positivity to force the reconstructed volume values to be positive(i guess, not tested yet), i was wondering if we have any options and commands to have the same effect in algorithms fdk and admmtv since --positivity can not be found? the Boellaard scatter correction: --nonneg is what i am looking for? Thanks in advance. Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 01:27:11 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 07:27:11 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, No there is no option to force the output volume to 0. This is not the same as sart where you might want to do it during the iterations. In the FDK case, it's only post-processing so there is not really a reason to put it in rtkfdk. The nonneg option is the minimum value of the intensity that you allow the Boellaard algorithm to reach after scatter correction. This does not prevent negative values in the volume because the ramp filter might create negative values from positive projections. Simon On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang wrote: > Dear Simon and RTK community, > considering in rtksart ,we have --positivity to force the reconstructed > volume values to be positive(i guess, not tested yet), i was wondering if > we have any options and commands to have the same effect in algorithms fdk > and admmtv since --positivity can not be found? > the Boellaard scatter correction: --nonneg is what i am looking for? > Thanks in advance. > Guangming > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 04:34:39 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 10:34:39 +0200 Subject: [Rtk-users] RTK user meeting on image quality in static CBCT In-Reply-To: References: Message-ID: Dear RTK users, I have written a summary of the discussions during the meeting here http://wiki.openrtk.org/index.php/RTK/ImageQuality This page will be updated with new developments in the future. Regards, Simon On Tue, Jun 16, 2015 at 10:14 AM, Simon Rit wrote: > Hi, > The consensus date is Friday July 31, 2015. Save the date! > The meeting will be at the L?on B?rard center in Lyon, I'll soon > provide more details on the organization. > Simon > > On Wed, Jun 10, 2015 at 10:12 AM, Simon Rit > wrote: > > Dear RTK users and developers, > > We are a few users to face the same problem of poor image quality in > > cone-beam CT due to photon statistics, detector effects (lag, glare, > ...), > > beam hardening and/or scatter. RTK has basic solutions, there are other > > solutions being implemented and we would like better solutions > implemented. > > I would like to invite those that want to contribute to this topic to a > > one-day meeting in Lyon the last week of July. > > > > Goals: > > - present and discuss existing RTK solutions, > > - present and discuss solutions being implemented in RTK, > > - propose the development of new solutions and share the work. > > > > Place: Lyon, France (exact location to be announced) > > > > Time: last week of July, day to be determined, please complete foodle if > > you're interested. > > > > Cost: free but you'll have to organize your travel and hotel plans (I'll > > send suggestions later). > > > > If there is a specific algorithm that you would like to discuss, please > send > > me an email with the reference. I will put together a list of references > to > > read before the meeting. > > I hope to see you all at the end of July. > > Simon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From guangming.zang at kaust.edu.sa Thu Aug 6 04:58:42 2015 From: guangming.zang at kaust.edu.sa (Guangming Zang) Date: Thu, 6 Aug 2015 11:58:42 +0300 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi Simon, thanks for the explanation in detail. ?i can understand why? there is only post-processing for fdk algorithm now, but why don't we do the non-negative checking during each ADMM iteration? after all, in my opinion, in most of applications, only volume values that between [0,positive infinite) make sense. Regards Guangming *Guangming Zang (Alex)* *King Abdullah University of Science and Technology(KAUST)* *University of Chinese Academy of Sciences(UCAS)* 2015-08-06 8:27 GMT+03:00 Simon Rit : > Hi, > No there is no option to force the output volume to 0. This is not the > same as sart where you might want to do it during the iterations. In the > FDK case, it's only post-processing so there is not really a reason to put > it in rtkfdk. > The nonneg option is the minimum value of the intensity that you allow the > Boellaard algorithm to reach after scatter correction. This does not > prevent negative values in the volume because the ramp filter might create > negative values from positive projections. > Simon > > On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < > guangming.zang at kaust.edu.sa> wrote: > >> Dear Simon and RTK community, >> considering in rtksart ,we have --positivity to force the reconstructed >> volume values to be positive(i guess, not tested yet), i was wondering if >> we have any options and commands to have the same effect in algorithms fdk >> and admmtv since --positivity can not be found? >> the Boellaard scatter correction: --nonneg is what i am looking for? >> Thanks in advance. >> Guangming >> *Guangming Zang (Alex)* >> *King Abdullah University of Science and Technology(KAUST)* >> *University of Chinese Academy of Sciences(UCAS)* >> >> >> >> >> ------------------------------ >> This message and its contents, including attachments are intended solely >> for the original recipient. If you are not the intended recipient or have >> received this message in error, please notify me immediately and delete >> this message from your computer system. Any unauthorized use or >> distribution is prohibited. Please consider the environment before printing >> this email. > > > -- ------------------------------ This message and its contents, including attachments are intended solely for the original recipient. If you are not the intended recipient or have received this message in error, please notify me immediately and delete this message from your computer system. Any unauthorized use or distribution is prohibited. Please consider the environment before printing this email. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simon.rit at creatis.insa-lyon.fr Thu Aug 6 08:37:41 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Thu, 6 Aug 2015 14:37:41 +0200 Subject: [Rtk-users] Can i force the voxel values of volume be constructed to be positive? In-Reply-To: References: Message-ID: Hi, I haven't implemented the ADMM algorithm but adding a constraint such as positivity in iterative reconstruction is not a straightforward thing. The way it's done in SART and ROOSTER is heuristic and there is no proof of convergence. Still, you can easily add it in this way if you want to but you'll have to modify the code. There is a wealth of literature on the topic if you want to read it. To illustrate this complexity, you can read the paper of Cyril Mory at the CT meeting last year. Simon On Thu, Aug 6, 2015 at 10:58 AM, Guangming Zang wrote: > Hi Simon, > thanks for the explanation in detail. > ?i can understand why? there is only post-processing for fdk algorithm now, > but why don't we do the non-negative checking during each ADMM iteration? > after all, in my opinion, in most of applications, only volume values that > between [0,positive infinite) make sense. > Regards > Guangming > > *Guangming Zang (Alex)* > *King Abdullah University of Science and Technology(KAUST)* > *University of Chinese Academy of Sciences(UCAS)* > > > > > 2015-08-06 8:27 GMT+03:00 Simon Rit : > >> Hi, >> No there is no option to force the output volume to 0. This is not the >> same as sart where you might want to do it during the iterations. In the >> FDK case, it's only post-processing so there is not really a reason to put >> it in rtkfdk. >> The nonneg option is the minimum value of the intensity that you allow >> the Boellaard algorithm to reach after scatter correction. This does not >> prevent negative values in the volume because the ramp filter might create >> negative values from positive projections. >> Simon >> >> On Thu, Aug 6, 2015 at 2:00 AM, Guangming Zang < >> guangming.zang at kaust.edu.sa> wrote: >> >>> Dear Simon and RTK community, >>> considering in rtksart ,we have --positivity to force the reconstructed >>> volume values to be positive(i guess, not tested yet), i was wondering if >>> we have any options and commands to have the same effect in algorithms fdk >>> and admmtv since --positivity can not be found? >>> the Boellaard scatter correction: --nonneg is what i am looking for? >>> Thanks in advance. >>> Guangming >>> *Guangming Zang (Alex)* >>> *King Abdullah University of Science and Technology(KAUST)* >>> *University of Chinese Academy of Sciences(UCAS)* >>> >>> >>> >>> >>> ------------------------------ >>> This message and its contents, including attachments are intended solely >>> for the original recipient. If you are not the intended recipient or have >>> received this message in error, please notify me immediately and delete >>> this message from your computer system. Any unauthorized use or >>> distribution is prohibited. Please consider the environment before printing >>> this email. >> >> >> > > ------------------------------ > This message and its contents, including attachments are intended solely > for the original recipient. If you are not the intended recipient or have > received this message in error, please notify me immediately and delete > this message from your computer system. Any unauthorized use or > distribution is prohibited. Please consider the environment before printing > this email. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From julia.mascolo-fortin.1 at ulaval.ca Tue Aug 25 13:25:54 2015 From: julia.mascolo-fortin.1 at ulaval.ca (Julia Mascolo-Fortin) Date: Tue, 25 Aug 2015 17:25:54 +0000 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> References: , <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> Message-ID: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Hi, I'm working on a program that use ITK and the RTK module ITKCudaCommon. It works fine on my computer. However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw an error: RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : Cuda Error : all CUDA-capable devices are busy or unavailable terminate called after throwing an instance of 'itk::ExceptionObject' what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: Cuda Error : all CUDA-capable devices are busy or unavailable This error is obtained in this line in my code: float *d_Projections = *(float**)( m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); This error is weird because the program clearly state "Found 1 CUDA enabled device[s]" and I have been able to run another program on that cluster without any problem. If anyone has experience with the implementation on RTK program on a GPU cluster, your help would be appreciated. Julia Mascolo-Fortin From simon.rit at creatis.insa-lyon.fr Sun Aug 30 14:23:19 2015 From: simon.rit at creatis.insa-lyon.fr (Simon Rit) Date: Sun, 30 Aug 2015 20:23:19 +0200 Subject: [Rtk-users] RTK on a GPU cluster In-Reply-To: <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> References: <7D6AC078C6120348BBBA81A076369E6287C7D43BBB@EXCH-MBX-C.ulaval.ca> <79f93740b03c4ddfa87648d79b11b472@ul-exc-pr-mbx16.ulaval.ca> Message-ID: Hi, I have used it on a cluster node with 2 GPUs without any problem. Have you tried nvidia code to check if it's a problem with the ITKCudaCommon package or with your system? From this forum , it seems that this problem is independent of ITKCudaCommon... Simon On Tue, Aug 25, 2015 at 7:25 PM, Julia Mascolo-Fortin < julia.mascolo-fortin.1 at ulaval.ca> wrote: > Hi, > > I'm working on a program that use ITK and the RTK module ITKCudaCommon. It > works fine on my computer. > > However, I'm trying to run it on a GPU cluster and the ITKCudaCommun throw > an error: > > RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54 @ unknown : > Cuda Error : all CUDA-capable devices are busy or unavailable > > terminate called after throwing an instance of 'itk::ExceptionObject' > what(): RTK/utilities/ITKCudaCommon/include/itkCudaDataManager.h:54: > Cuda Error : all CUDA-capable devices are busy or unavailable > > > This error is obtained in this line in my code: > > float *d_Projections = *(float**)( > m_Projections->GetCudaDataManager()->GetGPUBufferPointer() ); > > > This error is weird because the program clearly state "Found 1 CUDA > enabled device[s]" and I have been able to run another program on that > cluster without any problem. > > > If anyone has experience with the implementation on RTK program on a GPU > cluster, your help would be appreciated. > > Julia Mascolo-Fortin > _______________________________________________ > Rtk-users mailing list > Rtk-users at public.kitware.com > http://public.kitware.com/mailman/listinfo/rtk-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: