当前位置 : 主页 > 编程语言 > c++ >

cuda-gdb for CUDA C

来源:互联网 收集:自由互联 发布时间:2021-06-23
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;
 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 }
fircuda.cu  nvcc -g -G fircuda.cu

-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

网友评论