I am currently trying to use object oriented architecture in my application and nvcc ouputs the following error:
error: identifier “Typeinfo for nameOfMyMotherClass” is undefined in device code
error: identifier “Typeinfo for nameOfMyDaughterClass” is undefined in device code
The line of the error correspond to the following downcasting operation:
nameOfMyDaughterClass* daughterPtr = dynamic_cast<nameOfMyDaughterClass*>(motherPtr)
Which make me think that the compiler/runtime api is unable to keep track of the type informations (RTTI).
I must add that was previously using struct with inheritance, and non-safe C-style casting without any problem.
I was looking for RTTI feature in nvcc on the page http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html but I was not able to find wether nvcc or cuda_runtime_api were RTTI capable.
I might be completly wrong about what happened, if I do, please let me know, but I am style interest in the availability of dynamic_cast in cuda.
Thank you in advance