CUDA学习记录之-吉祥的博客

CUDA简介
CUDA和C对内存操作函数的对比表
这里写图片描述

GPU架构
软硬件构架图
这里写图片描述

GPU架构(Fermi、Kepler)
1.CUDA核的数量(包括ALU和FPU)=SM的数量×每个SM里面CUDA核的数量,例如:512个accelerator cores即所谓CUDA cores(包含ALU和FPU)16个SM,每个SM包含32个CUDA core。
2.每个SM由一下几部分组成:
执行单元(CUDA cores)
调度分配warp的单元
shared memory,register file,L1 cache
3.在不同架构的GPU中,每个SM同时处理的warp数是不一样的,如:Fermi(compute capability 2.x)每个SM同时可处理48个warp共计1536个thread;Kepler K20X(compute capability 3.5)每个SM可以同时调度64个warp共计2048个thread。

Warp解析
1.从逻辑上讲,所有thread是并行的,但是,从硬件上讲,实际上并不是所有的thread能够同一时刻执行。
2.warp是SMs中线程调度单位。将blocks分成warps在SMs执行如下图所示。下图3个block,每个block按照连续的32个线程分成一个个warp
这里写图片描述
3.一个warp中的线程必然在同一个block中。
4.一个warp包含32个并行thread,由此可见,warp是32个拥有关系的thread的集合。

Kernel性能调节
1.代码的功能:矩阵相加,逻辑上要处理的数据有16384个元素
2.结论:处理相同的问题,配置的block更多,device就会达到更多active warp,性能也就越好(耗时越少);较高的achieved Occupancy并不一定就意味着更好的性能,也就是说还有更多的因素影响着GPU的性能;较高的load throughput也不一定就有较高的性能。

Memory Model
1.GPU和CPU的存储结构基本一样,下图体现了速度和大小的变化趋势
这里写图片描述
2.存储器结构图:
这里写图片描述

Shared Memory
1.GPU上的memory有两种:
 On-board memory
 On-chip memory
2.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值