一、在一个CUDA程序中,基本的主机端代码主要完成以下功能:
- 启动CUDA,使用多卡时应加上设备号,或使用cudaSetDevice()设置GPU设备。
- 为输入数据分配内存空间。
- 初始化输入数据。
- 为GPU分配显存,用于存放输入数据。
- 将内存中的输入数据拷贝到显存。
- 为GPU分配显存,用于存放输出数据。
- 调用device端的kernel进行计算,将结果写到显存中的对应区域。
- 为CPU分配内存,用于存放GPU传回来的输出数据。
- 将显存中的结果回读到内存。
- 使用CPU对数据进行其他处理。
- 释放内存和显存空间。
- 推出KUDA。
二、最简单的设备端代码主要完成以下功能:
- 从显存读数据到GPU片内。
- 对数据进行处理。
- 将处理后的数据写回显存。
浙公网安备 33010602011771号