Hi, Now I fix the problem. It seems like before this I have issues with loading the rtkcuda libraries. My runtime argument failed to tell the program to load them. Thanks a lot for your help. Tao
Simon Rit <simon....@creatis.insa-lyon.fr> 於 2019年1月30日 週三 下午4:22寫道: > I don't see what has changed since this commit... > For Tao, I would suggest to try a minimal example in one separate main > just to be sure that this is indeed this line that causes the problem and > not some bad memory management before. I really don't see what is the issue > here since you are using CUDA code from the same RTK version. > > On Wed, Jan 30, 2019 at 6:17 PM Chao Wu <wucha...@gmail.com> wrote: > >> L.S., >> >> I encouter recently the "Cuda Error # 3" with a Quadro P4000 when running >> rtkfdk, but I am not sure if the cause is the same as Tao's problem. >> CUDA_CHECK() marks Driver API error with a "#" whereas Runtime API error >> with a ":", so it is CUresult 3 (CUDA_ERROR_NOT_INITIALIZED). >> Indeed when I add CUDA_CHECK to cuInit(0) in itkCudaContextManager.cxx I >> already got an CUresult 100 (CUDA_ERROR_NO_DEVICE) here. >> In the same itkCudaContextManager.cxx file, itk::CudaGetAvailableDevices >> (which calls Runtime API) works well, so only Driver API doesn't work >> properly. >> The same build works fine with a Tesla P40. >> >> I don't have time to investigate further but I found on my computer a >> previous build based on commit 5717b6d02675ee10f03200038566f06dfcc2ad19 in >> May 2018 doesn't have this issue with the Quadro card. >> So I guess it shouldn't be the problem of the card or the driver, but a >> problem induced by a later commit. >> >> Best regards, >> Chao >> >> Andreas Andersen <andreasg...@gmail.com> 于2019年1月30日周三 下午5:33写道: >> >>> I've encountered the "Cuda Error # 3" issue two times. >>> As far as I remember, both were caused by the GPU being unreachable at >>> runtime: >>> * A missing or outdated (relative to CUDA version) nVidia driver >>> * The code running within a non-native environment. >>> The second point can also be triggered if the binary is located on >>> remote storage. >>> >>> However, both of these cases were on Windows, and by the path >>> "/home/tsun/bin/" I would guess you're on some Linux distro. >>> >>> /Andreas >>> >>> __________________________________ >>> >>> Andreas Gravgaard Andersen >>> >>> Department of Oncology, >>> >>> Aarhus University Hospital >>> >>> Nørrebrogade 44, >>> >>> 8000, Aarhus C >>> >>> Mail: agravga...@protonmail.com >>> >>> Cell: +45 3165 8140 >>> >>> >>> On Wed, 30 Jan 2019 at 17:29, Simon Rit <simon....@creatis.insa-lyon.fr> >>> wrote: >>> >>>> Can you send the code if you want us to help? >>>> >>>> On Wed, Jan 30, 2019 at 5:21 PM tao sun <colddie...@gmail.com> wrote: >>>> >>>>> No I am not using that. But the error was thrown before GRAFT() >>>>> function was called. It happens when I initialized the backprojector: >>>>> bp = rtk::CudaRayCastBackProjectionImageFilter::New(). >>>>> >>>>> Tao >>>>> >>>>> Simon Rit <simon....@creatis.insa-lyon.fr> 於 2019年1月30日 週三 上午11:13寫道: >>>>> >>>>>> Are you using the HEAD version of the git ? Because I recently >>>>>> corrected a bug in the Graft function (commit >>>>>> b2d73642ce171ba9890af2c107a1a31f923454b5). >>>>>> Simon >>>>>> >>>>>> On Wed, Jan 30, 2019 at 5:05 PM tao sun <colddie...@gmail.com> wrote: >>>>>> >>>>>>> Hi Simon, >>>>>>> >>>>>>> CUDA_HAVE_GPU is on. So is CUDA_FOUND. I can run examples like >>>>>>> rtkfdk with gpu on without any problem though, >>>>>>> By the way I am using CUDA 9.2.88. >>>>>>> >>>>>>> Tao >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Simon Rit <simon....@creatis.insa-lyon.fr> 於 2019年1月30日 週三 上午1:25寫道: >>>>>>> >>>>>>>> Hi, >>>>>>>> No, not really. In my experience, this occurs mainly when you don't >>>>>>>> have a GPU properly configured for CUDA. Can you check the value of >>>>>>>> CUDA_HAVE_GPU in cmake ? If it's OFF, then this is indeed the problem. >>>>>>>> Simon >>>>>>>> >>>>>>>> On Wed, Jan 30, 2019 at 1:23 AM tao sun <colddie...@gmail.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi again, >>>>>>>>> >>>>>>>>> Finally I got time to work on this. I was able to compile the >>>>>>>>> program this time using the Graft() function. However, there's a >>>>>>>>> runtime >>>>>>>>> error when I run the program: >>>>>>>>> >>>>>>>>> >>>>>>>>> /home/tsun/bin/RTK-1.4.0/utilities/ITKCudaCommon/src/itkCudaDataManager.cxx:38 >>>>>>>>> @ unknown : Cuda Error #3 >>>>>>>>> terminate called after throwing an instance of >>>>>>>>> 'itk::ExceptionObject' >>>>>>>>> what(): >>>>>>>>> /home/tsun/bin/RTK-1.4.0/utilities/ITKCudaCommon/src/itkCudaDataManager.cxx:38: >>>>>>>>> Cuda Error # 3 >>>>>>>>> Aborted >>>>>>>>> >>>>>>>>> It happens when a new gpu backprojector is created: >>>>>>>>> bp = rtk::CudaRayCastBackProjectionImageFilter::New(); >>>>>>>>> >>>>>>>>> Any insights for this? >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Tao >>>>>>>>> >>>>>>>>> tao sun <colddie...@gmail.com> 於 2019年1月19日 週六 下午8:51寫道: >>>>>>>>> >>>>>>>>>> Thank you all! I will give a try using your solutions. >>>>>>>>>> Tao >>>>>>>>>> >>>>>>>>>> Simon Rit <simon....@creatis.insa-lyon.fr> 於 2019年1月17日 週四 >>>>>>>>>> 上午12:26寫道: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> That's one solution. Two other: >>>>>>>>>>> - graft the output to a Cuda image >>>>>>>>>>> itk::CudaImage<float, 3>::Pointer cuImg = itk::CudaImage<float, >>>>>>>>>>> 3>::New(); >>>>>>>>>>> cuImg->Graft(projectionReader->GetOutput()) >>>>>>>>>>> - use the rtk::ImportImageFilter which is templated over image >>>>>>>>>>> type to allow precisely this (I used it in Gate here >>>>>>>>>>> <https://github.com/OpenGATE/Gate/blob/develop/source/digits_hits/src/GateFixedForcedDetectionActor.cc#L1583> >>>>>>>>>>> ). >>>>>>>>>>> Best regards, >>>>>>>>>>> Simon >>>>>>>>>>> >>>>>>>>>>> On Wed, Jan 16, 2019 at 11:06 PM Andreas Andersen < >>>>>>>>>>> andreasg...@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Tao, >>>>>>>>>>>> >>>>>>>>>>>> I think you want the CastImageFilter >>>>>>>>>>>> <https://itk.org/Doxygen/html/classitk_1_1CastImageFilter.html> >>>>>>>>>>>> from ITK. >>>>>>>>>>>> >>>>>>>>>>>> Something like this: >>>>>>>>>>>> using castToImageType = itk::CastImageFilter< >>>>>>>>>>>> itk:::Image<float,3>, itk::CudaImage<float,3>>; >>>>>>>>>>>> typename castToImageType::Pointer castfilter = >>>>>>>>>>>> castToImageType::New(); >>>>>>>>>>>> castfilter->SetInput(projectionReader->GetOutput()); >>>>>>>>>>>> castfilter->Update(); >>>>>>>>>>>> auto cuda_image = castfilter->GetOutput(); >>>>>>>>>>>> >>>>>>>>>>>> Best regards Andreas >>>>>>>>>>>> >>>>>>>>>>>> __________________________________ >>>>>>>>>>>> >>>>>>>>>>>> Andreas Gravgaard Andersen >>>>>>>>>>>> >>>>>>>>>>>> Department of Oncology, >>>>>>>>>>>> >>>>>>>>>>>> Aarhus University Hospital >>>>>>>>>>>> >>>>>>>>>>>> Nørrebrogade 44, >>>>>>>>>>>> >>>>>>>>>>>> 8000, Aarhus C >>>>>>>>>>>> >>>>>>>>>>>> Mail: agravga...@protonmail.com >>>>>>>>>>>> >>>>>>>>>>>> Cell: +45 3165 8140 >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Wed, 16 Jan 2019 at 22:59, tao sun <colddie...@gmail.com> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi, >>>>>>>>>>>>> >>>>>>>>>>>>> I have read in some image using itk::ImportImageFilter. >>>>>>>>>>>>> ImportFilterType::Pointer projectionReader = >>>>>>>>>>>>> ImportFilterType::New(); >>>>>>>>>>>>> ... >>>>>>>>>>>>> projectionReader->Update(); >>>>>>>>>>>>> >>>>>>>>>>>>> The type of the image is itk:::Image<float,3>. I wonder if >>>>>>>>>>>>> there is any way I can cast it to itk::CudaImage<float,3>? >>>>>>>>>>>>> In rtkforwardprojections.cxx the imageReaderType is defined as >>>>>>>>>>>>> CudaImageType so there is no such problem. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks, >>>>>>>>>>>>> Tao >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> Rtk-users mailing list >>>>>>>>>>>>> Rtk-users@public.kitware.com >>>>>>>>>>>>> https://public.kitware.com/mailman/listinfo/rtk-users >>>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> Rtk-users mailing list >>>>>>>>>>>> Rtk-users@public.kitware.com >>>>>>>>>>>> https://public.kitware.com/mailman/listinfo/rtk-users >>>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>> Rtk-users mailing list >>>>>>>>> Rtk-users@public.kitware.com >>>>>>>>> https://public.kitware.com/mailman/listinfo/rtk-users >>>>>>>>> >>>>>>>> _______________________________________________ >>>> Rtk-users mailing list >>>> Rtk-users@public.kitware.com >>>> https://public.kitware.com/mailman/listinfo/rtk-users >>>> >>> _______________________________________________ >>> Rtk-users mailing list >>> Rtk-users@public.kitware.com >>> https://public.kitware.com/mailman/listinfo/rtk-users >>> >> _______________________________________________ > Rtk-users mailing list > Rtk-users@public.kitware.com > https://public.kitware.com/mailman/listinfo/rtk-users >
_______________________________________________ Rtk-users mailing list Rtk-users@public.kitware.com https://public.kitware.com/mailman/listinfo/rtk-users