device function scope Error: Calls are not supported (found no


When I call a device function defined in another file, I got the following error:

Error: Calls are not supported (found non-inlined call to _Z9tCalv)

I have declared the function like this in this file:

extern device void tCal();

After I moved the definition of this function to the same file, it passed.

So, nvcc doesn’t support extern device funtion definition? Or I missed something here?

Thank you for your help.


device functions are always inlined. If it is defined in another file, it cannot be.



Thank you for your reply.