《基于CUDA的并⾏程序设计》学习笔记(三)——上
第3章 CUDA编程基础
3.1 CUDA并⾏新思维
CUDA并⾏编程新思维的出现,不仅成功地利⽤了新⼀代GPU的硬件架构优势,同时克服了GPGPU(general purpose computing GPU)编程的缺点,为程序员定义了⼀个最⼩的C语⾔扩展包,这使得熟悉标准编程语⾔(如 C、FORTRAN 等语⾔)的程序员可以轻松掌握CUDA 编程⽅法。
名为CUDA C的C语⾔拓展包包含3个主要的抽象概念:
(1) 线程组的层次结构;
(2) 共享存储器;
(3) 栅栏同步。
这些抽象概念提供了在粗粒度数据并⾏和任务并⾏中进⾏细粒度数据并⾏计算,提⾼了线程的并⾏度。
每⼀个粗粒度并⾏问题可以被划分为能够被多个块内线程独⽴并⾏处理的粗粒度⼦问题,⽽这每⼀个粗粒度⼦问题⼜可以被分割为同步并⾏协作处理的线程任务。每⼀个块都可以被调度到任意⼀个处理器核⼼,以任意的顺序并⾏或串⾏执⾏,这使得已编译好的CUDA程序能够在任意核⼼的GPU上执⾏,如下图所⽰,这些特性实现了CUDA并⾏编程模型的⾃动可扩展性。
3.2 CUDA的安装与配置
本节主要介绍CUDA在Windows中的配置。
3.2.1 系统需求
(1) 兼容CUDA的GPU硬件。
(2) GPU设备的驱动程序。
(3) Windows 7及以上。
(4) Microsoft Visual Studio 2013及以上。
(5) CUDA软件,即我们常说的CUDA Toolkit。
下⾯两个表格展⽰了当前⽀持CUDA 9.0的操作系统及编译器。
表1. ⽀持CUDA 9.0 的操作系统
Operating System Native x86_64Cross (x86_32 on x86_64) Windows 10YES YES
Windows 8.1YES YES
Windows 7YES YES Windows Server 2016YES NO
Windows Server 2012 R2YES NO
表2. ⽀持CUDA 9.0 的编译器
Compiler IDE Native x86_64Cross (x86_32 on x86_64)
Visual C++ 15.0Visual Studio 2017YES NO
Visual C++ 14.0Visual Studio 2015YES NO
Visual C++ 14.0Visual Studio Community 2015YES NO
Visual C++ 12.0Visual Studio 2013YES YES
Visual C++ 11.0Visual Studio 2012YES YES
Visual C++ 10.0 DEPRECATED Visual Studio 2010YES YES
3.2.2 验证GPU是否⽀持CUDA
可以通过Windows的设备管理器查看显⽰适配器⼀项,你可以到你的显卡的产商和型号。然后对照附录1查看你的GPU是否⽀持CUDA。
如何查看设备管理器?
(1) 打开命令提⽰符
(2) 运⾏下⾯的命令⾏:control /name Microsoft.DeviceManager
3.2.3 下载并安装CUDA软件
Network安装
安装了⼀个最⼩的安装程序,稍后下载安装所需的软件包。只有在安装程序的选择阶段中选择的包被下载。这个安装程序对于那些想要最⼩化下载时间的⽤户是很有⽤的。
Full安装
⼀个包含CUDA⼯具包的所有组件的安装程序,不需要任何进⼀步的下载。这个安装程序对于缺乏⽹络访问和企业部署的系统⾮常有⽤。vs编程软件
CUDA⼯具包安装了CUDA驱动程序和⽤于创建、构建和运⾏CUDA应⽤程序的⼯具,以及库、头⽂件、CUDA⽰例源代码和其他资源。
3.2.4 安装CUDA软件
注意:必须为CUDA安装驱动程序和toolkit。如果您还没有安装⼀个独⽴的驱动程序,请从NVIDIA CUDA⼯具包安装驱动程序。
注意:如果安装开始后Windows更新开始,安装可能会失败。等到Windows更新完成后再重新安装。
这⾥我们将介绍的是本地安装,CUDA版本号为7.5。
(1) 双击下载好的CUDA Toolkit。
(2) 程序会⾃动检验CUDA和系统的兼容性,兼容的会出现这个画⾯,点击同意并继续。
(3) ⼀般选则精简安装,点击下⼀步。
(4) 在安装的过程中程序会删除上⼀版本的⼀些驱动,再安装当前的版本。中间可能会弹出⼀些对话框,
点击安装即可。
(5) 安装完后屏幕的分辨率可能会⽐较低,显⽰不正常。重启即可解决。
3.2.5 验证CUDA是否正确安装

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。