首页 > 学院 > 开发设计 > 正文

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

2019-11-08 18:35:47
字体:
来源:转载
供稿:网友

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.


上一篇:POJ 1753 Flip Game (枚举)

下一篇:redis,win,cmd

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表