1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
/*
* @file_name HelloWorld.cu 后缀名称.cu
*/
#include
#include
//核函数声明,前面的关键字__global__
__global__
void
kernel(
void
) {
}
int
main(
void
) {
//核函数的调用,注意<<<1,1>>>,第一个1,代表线程格里只有一个线程块;第二个1,代表一个线程块里只有一个线程。
kernel<<<1,1>>>();
printf
(
"Hello, World!\n"
);
return
0;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include
#include
__global__
void
add(
int
a,
int
b,
int
*c ) {
*c = a + b;
}
int
main(
void
) {
int
c;
int
*dev_c;
//cudaMalloc()
cudaMalloc( (
void
**)&dev_c,
sizeof
(
int
) );
//核函数执行
add<<<1,1>>>( 2, 7, dev_c );
//cudaMemcpy()
cudaMemcpy( &c, dev_c,
sizeof
(
int
),cudaMemcpyDeviceToHost ) ;
printf
(
"2 + 7 = %d\n"
, c );
//cudaFree()
cudaFree( dev_c );
return
0;
}
|
1
2
3
4
5
6
7
8
9
10
|
cudaEvent_t start, stop;
cudaEventCreate( &start );
cudaEventCreate( &stop );
cudaEventRecord( start, 0 );
//do something
cudaEventRecord( stop, 0 );
float
elapsedTime;
cudaEventElapsedTime( &elapsedTime,start, stop );
cudaEventDestroy( start );
cudaEventDestroy( stop );
|