CUDA intro

Programming Model

在这里插入图片描述
在这里插入图片描述
data dependency 数据依赖时: 同步化处理
CPU 与 cores(kernel中)出现数据依赖时
在这里插入图片描述
在这里插入图片描述
一次只有一个kernel在执行
在同一个kernel中每一个 thread执行相同的代码
GPU中的thread与CPU中的区别:
GPU中的threads 是Physical threads:
threads 经常需要做 context switching 上下文切换,需要数据代码在register 和memory之间进行交流
context switching在cpu中不是很频繁
GPU 中每一个core 中会有多个(8个)threads
很多threads共用一个core,优点:当某一个thread在做memory access时,这个core皆可以空出来给其他threads使用。由于core是共用的,所以GPU中活跃的threads远大于cores的数量
上一章GPU架构所讲: 每一个threads都有自己的local register ,这正好供threads存储部分数据代码,在做context switching时,就不需要做memory access
在这里插入图片描述
kenal function 中如何确定线程的位置:两个: blockID threadID ( unit ID 统一的ID)
在这里插入图片描述
注意_synothreads() 和一般的同步不同:可以判断是否是在同一个warp中(量身定制)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MPI实现在 computer 和computer之间传资料
那么GPU和GPU之间通过什么传资料呢?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ping住 data在host memory中的位置不能改变
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
简而言之: 在GPU中执行的kernel自己可以去launch 新的kernel
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值