当前位置: 首页 > news >正文

网站建设的公司服务公司广告推广

网站建设的公司服务,公司广告推广,python nginx做网站,aspnet网站开发到部署流程本篇博文转载于https://www.cnblogs.com/1024incn/tag/CUDA/#xff0c;仅用于学习。 GPU架构 SM#xff08;Streaming Multiprocessors#xff09;是GPU架构中非常重要的部分#xff0c;GPU硬件的并行性就是由SM决定的。 以Fermi架构为例#xff0c;其包含以下主要组成…本篇博文转载于https://www.cnblogs.com/1024incn/tag/CUDA/仅用于学习。 GPU架构 SMStreaming Multiprocessors是GPU架构中非常重要的部分GPU硬件的并行性就是由SM决定的。 以Fermi架构为例其包含以下主要组成部分 CUDA coresShared Memory/L1CacheRegister FileLoad/Store UnitsSpecial Function UnitsWarp Scheduler GPU中每个SM都设计成支持数以百计的线程并行执行并且每个GPU都包含了很多的SM所以GPU支持成百上千的线程并行执行当一个kernel启动后thread会被分配到这些SM中执行。大量的thread可能会被分配到不同的SM但是同一个block中的thread必然在同一个SM中并行执行。 CUDA采用Single Instruction Multiple ThreadSIMT的架构来管理和执行thread这些thread以32个为单位组成一个单元称作warps。warp中所有线程并行的执行相同的指令。每个thread拥有它自己的instruction address counter和状态寄存器并且用该线程自己的数据执行指令。 SIMT和SIMDSingle Instruction, Multiple Data类似SIMT应该算是SIMD的升级版更灵活但效率略低SIMT是NVIDIA提出的GPU新概念。二者都通过将同样的指令广播给多个执行官单元来实现并行。一个主要的不同就是SIMD要求所有的vector element在一个统一的同步组里同步的执行而SIMT允许线程们在一个warp中独立的执行。SIMT有三个SIMD没有的主要特征 每个thread拥有自己的instruction address counter每个thread拥有自己的状态寄存器每个thread可以有自己独立的执行路径 一个block只会由一个SM调度block一旦被分配好SM该block就会一直驻留在该SM中直到执行结束。一个SM可以同时拥有多个block。下图显示了软件硬件方面的术语 需要注意的是大部分thread只是逻辑上并行并不是所有的thread可以在物理上同时执行。这就导致同一个block中的线程可能会有不同步调。  并行thread之间的共享数据回导致竞态多个线程请求同一个数据会导致未定义行为。CUDA提供了API来同步同一个block的thread以保证在进行下一步处理之前所有thread都到达某个时间点。不过我们是没有什么原子操作来保证block之间的同步的。 同一个warp中的thread可以以任意顺序执行active warps被SM资源限制。当一个warp空闲时SM就可以调度驻留在该SM中另一个可用warp。在并发的warp之间切换是没什么消耗的因为硬件资源早就被分配到所有thread和block所以该新调度的warp的状态已经存储在SM中了。 SM可以看做GPU的心脏寄存器和共享内存是SM的稀缺资源。CUDA将这些资源分配给所有驻留在SM中的thread。因此这些有限的资源就使每个SM中active warps有非常严格的限制也就限制了并行能力。所以掌握部分硬件知识有助于CUDA性能提升。 Fermi架构 Fermi是第一个完整的GPU计算架构。 512个accelerator cores即所谓CUDA cores包含ALU和FPU16个SM每个SM包含32个CUDA  core六个384位 GDDR5 DRAM支持6GB global on-board memoryGigaThread engine图左侧将thread blocks分配给SM调度768KB L2 cache每个SM有16个load/store单元允许每个clock cycle为16个thread即所谓half-warp不过现在不提这个东西了计算源地址和目的地址Special function unitsSFU用来执行sin cosine 等每个SM两个warp scheduler两个instruction dispatch unit当一个block被分配到一个SM中后所有该block中的thread会被分到不同的warp中。Fermicompute capability 2.x每个SM同时可处理48个warp共计1536个thread。 每个SM由一下几部分组成 执行单元CUDA cores调度分配warp的单元shared memoryregister fileL1 cache Kepler 架构 Kepler相较于Fermi更快效率更高性能更好。 15个SM6个64位memory controller192个单精度CUDA cores64个双精度单元32个SFU32个load/store单元LD/ST增加register file到64K每个Kepler的SM包含四个warp scheduler、八个instruction dispatchers使得每个SM可以同时issue和执行四个warp。Kepler K20Xcompute capability 3.5每个SM可以同时调度64个warp共计2048个thread。 Dynamic Parallelism Dynamic Parallelism是Kepler的新特性允许GPU动态的启动新的Grid。有了这个特性任何kernel内都可以启动其它的kernel了。这样直接实现了kernel的递归以及解决了kernel之间数据的依赖问题。也许D3D中光的散射可以用这个实现。 Hyper-Q Hyper-Q是Kepler的另一个新特性增加了CPU和GPU之间硬件上的联系使CPU可以在GPU上同时运行更多的任务。这样就可以增加GPU的利用率减少CPU的闲置时间。Fermi依赖一个单独的硬件上的工作队列来从CPU传递任务给GPU这样在某个任务阻塞时会导致之后的任务无法得到处理Hyper-Q解决了这个问题。相应的Kepler为GPU和CPU提供了32个工作队列。 不同arch的主要参数对比
http://www.tj-hxxt.cn/news/141814.html

相关文章:

  • 金鹏建设集团网站深圳网站建设deyond
  • 手机网站滑动效果泉州市华泰建设工程有限公司网站
  • 如何提高网站首页权重少儿编程加盟哪个好
  • 做框图的网站网站开发投票代码
  • 用云空间制作网站国外的一些网站
  • 网站如何做图片特效网址大全介绍
  • 做网站不推广网站中文域名
  • 有道云笔记 同步 wordpress网站文章优化怎么做
  • 黔南州住房和城乡建设局网站做视频网站视频用什么插件吗
  • 专业建网站服务上海新闻头条
  • 做网站需要编程罗湖、龙华、龙岗最新通告
  • python做h5网站广州 餐饮 网站建设
  • vps wordpress站点慢国外网站服务器租用
  • 常宁城乡建设局网站查询个人网站怎么接广告
  • 十大免费ppt网站下载怀化优化网站排名
  • 筑巢网站建设网站推广文章
  • 甘肃省建设工程安质局网站网站内容图片怎么做的
  • wordpress 网站暂停个人建网站允许吗
  • 做明星ps黄图网站什么是网站推广策略
  • 网站建设炎陵建立公司网站
  • 上海哪个网站能应聘做家教的怎么做网站拍卖的那种
  • 宽屏网站模板企业源码做搜狗网站点
  • 怎样创建网站数据库做网站销售东西 需要什么资质
  • jquery win8风格企业网站模板wordpress 说说插件
  • 广州网站优化电话怎么在中国做网站网站
  • 昆山做网站的kamese学网站建设app
  • 旅游电子商务网站建设WordPress 主题选项框架
  • 帮助中心网站怎么做珠海建站服务
  • 国外网站注册企业网站建立的失败案例
  • 网站建设 设计方案 百度文库在谷歌上做国际网站