i am porting a CUDA application to a Tegra X1 platform. I get the following error at runtime:

device 0 (NVIDIA Tegra X1)]  (Signal) - CUDA_EXCEPTION_8:Warp Invalid PC	
	CUDA Thread (0,0,0) Block (4,0,0)

What does this error mean? PC is Program Counter?

This error happens in a line of code where i just compare shared variable to a constant one…

Does anyone have an idea what could be the problem here?

Hi kain2609,

What does this error mean? PC is Program Counter?
Yes, it’s Program Counter.
This CUDA_EXCEPTION_8 : “Warp Invalid PC” means “This occurs when any thread within a warp advances its PC beyond the 40-bit address space.”

You could refer to CUDA programing guide:


Check to see if you’re writing outside the bounds of your arrays and if you’re using function pointers be careful.

Should it be impossible to reach this error in the absence of function pointers? If we’re over-writing our array boundaries, since the arrays are stored in a different segment of memory than the instructions, wouldn’t we need to smash the instruction stream another way? (Wondering if I’m hitting a compiler bug – this is on CUDA 9.0).

FWIW, cuda-memcheck (with default settings) doesn’t report any errors.