Q: ERROR: INVALID_CONFIG: The engine plan file is generated on an incompatible device, expecting compute 7.5 got compute 6.1, please rebuild.
A: tensorrt 的序列化和反序列化操作只能在特定硬件上做,兩個操作需配套;

1 #include <iostream> 2 #include <stdio.h> 3 #include "book.h" 4 5 __global__ void add(int a, int b, int *c) { 6 *c = a + b; 7 } 8 9 __global__ void kernel() { 10 printf("tttt\n"); 11 } 12 13 int main(void) { 14 int c; 15 int *dev_c; 16 HANDLE_ERROR( cudaMalloc((void**)&dev_c, sizeof(int) ) ); 17 int count; 18 HANDLE_ERROR( cudaGetDeviceCount(&count) ); 19 printf("count: %d\n", count); 20 add<<<1,1>>>(2,7,dev_c); 21 HANDLE_ERROR( cudaMemcpy( &c, dev_c, sizeof(int), 22 cudaMemcpyDeviceToHost ) ); 23 printf("2 + 7 = %d\n", c); 24 cudaFree(dev_c); 25 return 0; 26 }
-g 表示將CPU代碼(host)編譯成可調式版本,-G表示將GPU代碼(kernel)編譯成可調式版本。
Breakpoint 2, add<<<(1,1,1),(1,1,1)>>> (a=2, b=7, c=0x7fffc7800000) at fircuda.cu:6 6 *c = a + b;
(cuda-gdb) p a
Python Exception <type 'exceptions.AttributeError'> 'gdb.Type' object has no attribute 'name':
Python Exception <type 'exceptions.AttributeError'> 'gdb.Type' object has no attribute 'name':
$1 = 2
...
(cuda-gdb) p *c
Python Exception <type 'exceptions.AttributeError'> 'gdb.Type' object has no attribute 'name':
Python Exception <type 'exceptions.AttributeError'> 'gdb.Type' object has no attribute 'name':
$6 = 9
HELP: https://docs.nvidia.com/cuda/cuda-gdb/#what-is-cuda-gdb