CUDA编程(一):背景与安装

来源:互联网 发布:阿里云是基于openstack 编辑:程序博客网 时间:2024/06/05 05:08

:背景

1.GPU在高性能计算领域达到了很高的地位

2.超级计算机和桌面计算正在向着异构计算发展-人们试图通过将CPUGPU技术混合在一起来实现更高的性能.

3.无论是在HPC行业还是在桌面电脑领域,GPU编程已经成为主流.

4.内存速度和时钟速度的比率是限制CPUGPU吞吐量的一个重要的因素.大多数应用程序属于”内存受限型”.

5.尽管设置了缓存,但是并不是所有的数据都刚刚好能够在缓存上面能够找的到,所以,最终还是要在内存上面来找,因此并不能够发挥CPU全部的水平.(当处理器从缓存中而不是主存中取来一条指令或者一个数据时,称为缓存命中.)

6.我们要关注一个问题,那就是程序中能够并行运行的代码占有多大的比例呢?可能达到的最大加速比受限于程序中串行代码的数量.即使你有无限的计算能力,要是并行任务运行的时间趋向于0,那么还是要付出运行串行代码的时间.所以,一开始考虑是不是能够把大量的任务并行化是很重要的.

7.每个图形卡由若干个流处理簇(SM)组成,每个SM配备8个或者更多的流处理器(SP).

8.GPU卡大致可以看成是一种加速卡或者是一种协处理器卡.目前,一个GPU卡必须与基于CPU的主机相连才能够工作.

9.GPU的总体性能主要是由其具有的SP的数量,全局内存的带宽程序员利用并行架构的充分程度等因素决定.

10.CUDA架构

CUDA架构包含一个统一的着色器流水线,使得执行通用计算的程序能够对芯片上的每个数学逻辑单元(ALU)进行排.这些ALU能够进行浮点数的运算,还能够任意的读写内存,同时还能够访问共享内存.都是为了GPU不仅仅能够执行传统的图形计算,还能够高效地执行通用计算.




一个GPU内有许多的流处理器簇(Streamling Multiprocessors:SM),他们就类似于CPU的核.

这些SM与共享存储(一级缓存)连接在一起,然后又与相当于SM之间互联开关的二级缓存相连接.

数据先是存储在全局存储中,然后被主机取出并且使用.

流出一部分自己处理外,主机将剩余的数据通过PCI-E互联开关直接送到另外一个GPU的存储空间.

                                        
                                                        

:安装

首先得知道自己的显卡是英伟达的而且支持cuda

1.Windows

1.进入官网:https://developer.nvidia.com/cuda-downloads
                                                                     

2.到页面下方看到下图所示的下载选项

      根据你的系统的环境下载相应的安装包。

                                                                      
3.安装,直接鼠标点击就行,很简单.

0 1
原创粉丝点击