一、在一个CUDA程序中,基本的主机端代码主要完成以下功能:

  • 启动CUDA,使用多卡时应加上设备号,或使用cudaSetDevice()设置GPU设备。
  • 为输入数据分配内存空间。
  • 初始化输入数据。
  • 为GPU分配显存,用于存放输入数据。
  • 将内存中的输入数据拷贝到显存。
  • 为GPU分配显存,用于存放输出数据。
  • 调用device端的kernel进行计算,将结果写到显存中的对应区域。
  • 为CPU分配内存,用于存放GPU传回来的输出数据。
  • 将显存中的结果回读到内存。
  • 使用CPU对数据进行其他处理。
  • 释放内存和显存空间。
  • 推出KUDA。

二、最简单的设备端代码主要完成以下功能:

  • 从显存读数据到GPU片内。
  • 对数据进行处理。
  • 将处理后的数据写回显存。
posted on 2019-01-22 20:08  IMWH  阅读(495)  评论(0)    收藏  举报