CUDA架构

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE         本来一直都想把自己对CUDA架构的理解写出来,但是一方面自己是个懒人,不太愿意动笔,另一方面又感觉不太好组织语言,今天终于借着这个第四期有奖讨论的机会,把我对CUDA 架构的理解写下来吧!

    至于题目中提到的有人将CUDA架构和x86的一样理解,这一定是错误的,如果说把GPU的架构和x86架构类比,这还有点道理。

         要理解CUDA架构,个人认为应当先理解CUDACUDAcompute unit device architecture的简称,它统一了NVIDIA用于通用计算的GPU的编程模式,同时引入的共享存储器也是一大特色,大大提高了速度。有时我们说CUDA是指软件,有时又是指硬件,更多时是指CUDA C语言,因此本文将分三个部分简略的说明。

         从软件的角度上说,CUDA软件栈包含两个层次,一个是驱动层的API,这类函数以cu开关,一个是运行层的API,以cuda开头,运行层API是建立在驱动层API之上的,是对驱动层API的封装,这种封装方便了使用,但是同时也牺牲了灵活性。一般而言,我们的开发都是优先使用运行时API。要提到的是:NVIDIA自身也提供了一些建立在这两者之上的库,供大家使用。

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE

从另外一个方面说,CUDA的软件架构也应当包含这一系列的语言支持。当然这只是个人观点,欢迎大家讨论。

         从硬件的角度看,CUDA架构应当包含TPC--&gtSM--&gtSP结构及它们的关系。各种存储器及其组织,以及硬件对线程的创建、执行、调度等,本人博客将会专门细说这个问题,所以也就不详细说了。

         CUDA C语言的角度看,CUDA的架构包括函数修饰符,变量修饰符,以及一些内置函数等,这方面内容本人的博客将会详细说明,因此,此处就不多说了。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23057064/viewspace-624392/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23057064/viewspace-624392/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值