"Gpu API call (invalid device function) in call" Error

Hi all,

I am trying to run an program on GPU with cuda supported opencv libraries on PX2 AutoChauffeur. The compilation is ok but when I run the program there is an error:

OpenCV Error: Gpu API call (invalid device function) in call, file /opt/opencv/modules/cudev/include/opencv2/cudev/grid/detail/transform.hpp, line 318
terminate called after throwing an instance of 'cv::Exception'
  what():  /opt/opencv/modules/cudev/include/opencv2/cudev/grid/detail/transform.hpp:318: error: (-217) invalid device function in function call

Aborted (core dumped)

How should I deal with it?


Dear infyhyu7s,
Did you follow the opencv installation steps provided in FAQ.
Please check https://github.com/opencv/opencv/issues/4849 if this helps.
Also, is the same sample running on X86 machine using GPU?

Much appreciate your prompt reply.


When installing opencv I followed the instructions from the links above. Since my platfrom is PX2 AutoChauffeur, I set the cmake para -DCUDA_ARCH_BIN=6.2 according to the instruction.

I am going to reinstall opencv with the operation “Changed CUDA_GENERATION=AUTO and added 5.2 and 3.5 to CUDA_ARCH_BIN” stated in the link.

I didn’t test the code on another machine, if the environment is still buggy after reinstalling opencv I would like to bring it to another machine for a shot.