[Rtk-users] cast itk:::Image to itk::CudaImage

Andreas Andersen andreasga22 at gmail.com
Wed Jan 30 17:33:49 CET 2019


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:     agravgaard at protonmail.com

Cell:      +45 3165 8140


On Wed, 30 Jan 2019 at 17:29, Simon Rit <simon.rit at 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 <colddiesun at 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.rit at 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 <colddiesun at 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.rit at 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 <colddiesun at 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 <colddiesun at gmail.com> 於 2019年1月19日 週六 下午8:51寫道:
>>>>>>
>>>>>>> Thank you all! I will give a try using your solutions.
>>>>>>> Tao
>>>>>>>
>>>>>>> Simon Rit <simon.rit at 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 <
>>>>>>>> andreasga22 at 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:     agravgaard at protonmail.com
>>>>>>>>>
>>>>>>>>> Cell:      +45 3165 8140
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, 16 Jan 2019 at 22:59, tao sun <colddiesun at 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 at public.kitware.com
>>>>>>>>>> https://public.kitware.com/mailman/listinfo/rtk-users
>>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Rtk-users mailing list
>>>>>>>>> Rtk-users at public.kitware.com
>>>>>>>>> https://public.kitware.com/mailman/listinfo/rtk-users
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>> Rtk-users mailing list
>>>>>> Rtk-users at public.kitware.com
>>>>>> https://public.kitware.com/mailman/listinfo/rtk-users
>>>>>>
>>>>> _______________________________________________
> Rtk-users mailing list
> Rtk-users at public.kitware.com
> https://public.kitware.com/mailman/listinfo/rtk-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.creatis.insa-lyon.fr/pipermail/rtk-users/attachments/20190130/528c6ea0/attachment.htm>


More information about the Rtk-users mailing list