|
CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。
要理解CUDA架构,个人认为应当先理解CUDA,CUDA是compute unit device architecture的简称,它统一了NVIDIA用于通用计算的GPU的编程模式,同时引入的共享存储器也是一大特色,大大提高了速度。有时我们说CUDA是指软件,有时又是指硬件,更多时是指CUDA C语言,
从软件的角度上说,CUDA软件栈包含两个层次,一个是驱动层的API,这类函数以cu开关,一个是运行层的API,以cuda开头,运行层API是建立在驱动层API之上的,是对驱动层API的封装,这种封装方便了使用,但是同时也牺牲了灵活性。一般而言,我们的开发都是优先使用运行时API。
从硬件的角度看,CUDA架构应当包含TPC-->SM-->SP结构及它们的关系。各种存储器及其组织,以及硬件对线程的创建、执行、调度等.
CUDA C语言的角度看,CUDA的架构包括函数修饰符,变量修饰符,以及一些内置函数等. |
|