CUDA程序结构+在设备上执行线程
- 上一节中,我们介绍了一个简单的CUDA C程序
- 本节将用一个简单的双变量加法程序来解释与CUDA编译编程相关的重要概念,如内核调用,从主机到设备传递函数到内核函数、内核参数的配置、利用数据并行行需要的CUDA API,以及发生在主机和设备上的内存分配
- 在配置内核参数时,块和线程以什么顺序来启动和结束它们的执行
1. CUDA C中的双变量加法程序
- 首先编写一个核函数用于两个变量相加,并将结果返回给指针所示的内存位置
- 然后分别定义主机变量与设备变量,并给设备变量分配内存
- 设置合适的块和线程数并调用核函数传参
- 将CUDA的计算结果拷贝到主机内存,并释放设备内存
- 代码如下:
#include <iostream>
#include <cuda.h>