CUDA入门笔记(二)CUDA编程基础——CPU、GPU的关系

参考:

优达学城:https://classroom.udacity.com/courses/cs344/lessons/55120467/concepts/670611900923

CUDA Zone:https://www.nvidia.cn/object/cuda_education_cn_old.html

 

一、CPU与GPU的关系

1.计算机有两个不同的处理器,CPU(host)和GPU(device)

2.单纯的C语言编程(plain C program)只能让CPU工作

 

二、CUDA作用

1.CUDA:可以让代码在CPU和GPU上运行

图1.1 CUDA编程

 

2.CUDA:将GPU看作是CPU的协同处理器,并假设它们分别有各自的内存。

3.把你的程序分成小块,分别在CPU和GPU上运行,并分别为他们生成代码。

 

三、程序运行时CPU与GPU的关系

1.CPU和GPU的关系中,CPU占主导,它运行主程序,并向GPU发送指令,告诉GPU做什么。

*也就是说,无论是CPU向GPU发送数据还是GPU向CPU发送数据,都要CPU来控制/initiate。

 

2.运行时系统要做如下工作:

①将CPU中的数据送到GPU中

②将GPU的数据返回CPU

在C程序中,将数据从一个地方copy到另一个地方的命令叫Memcy;不难理解在gpu运算中,将数据传输来传输去叫做cudaMemcy。

③在GPU上分配存储

C程序中,分配存储的命令叫做Malloc;GPU运算中,就叫做cudaMalloc。

④调用kernel函数,即在GPU上并行运算的程序(行话中:The host launches kernels on the device.)

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值