CUDA简介和环境

CUDA简介和环境

一、基于CUDA的异构并行计算

1、异构计算

GPU最初是被用来专门处理并行图形计算问题的,随着时间推移,GPU已经成为更加强大的处理器,在执行大规模并行计算中有着优越的性能和很高的效率。
CPU和GPU是两个独立的处理器,它们通过单个计算节点中的PCI-Exress总线相连。GPU不是一个独立运行的平台而是CPU的协助处理器。因此,CPU必须通过PCIe总线与基于CPU的主机相连进行操作。如图所示,这也就是为什么CPU所在的位置被称为主机端,而GPU所在的位置被称为设备端。

2、异构计算的实现

一个异构应用包括两个部分:主机代码和设备代码。
主机代码在CPU上运行,设备代码在GPU上运行。异构平台上执行的应用通常由COU初始化。在设备端加载计算密集型任务之前,CPU代码负责管理设备端的环境、代码和数据。
CPU和GPU的应用范围可以从两个方面来区分:并行级和数据规模。
CPU适合处理数据规模小、控制密集型任务,GPU适合处理数据规模大、包含数据并行的计算密集型任务。

3、CPU和GPU的区别

CPU:计算能力较小,复杂的控制逻辑,Cache占据了大量空间。
GPU:众多的计算单元,简单的控制逻辑,无大量Cache。

二、CUDA硬件环境

1、常用名词

(1)GPU架构:Tesla、Fermi、Kepler、Maxwell、Pascal、Volta、Turing、Ampere。
(2)显卡系列:Geforce、Quadro、Tesla、Jetson。
Geforce:主要用于游戏和娱乐,也用于科学计算。
Quadro:专业图形设计卡。
Tesla:服务器专用卡,用于大规模并行计算,适用于机器学习。
Jetson:用于AI自助机器。

2、GPU计算能力

https://developer.nvidia.com/cuda-gpus

三、CUDA软件环境

1、CUDA架构

CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。它提供了对其他编程语言的支持,如C/C++、Python、Fortran等。

1、CUDA软件体系

(1)CUDA函数库(CUDA Library)
CUFFT:利用CUDA进行快速傅里叶变换的库函数。
CUBLAS:线性代数方面的CUDA库。
CUDNN:利用CUDA进行深度卷积神经网络,深度学习常用。
Thrust:实现了众多基本并行算法的C++模板库。
CUSolver:线性代数方面的CUDA库。
CURAND:随机数生成有关的库。
更多库函数见:https://docs.nvidia.com/cuda/cuda-math-api/
(2)CUDA运行时API(Runtime API)
(3)CUDA驱动API(Driver API)
CUDA运行时API和CUDA驱动API提供了实现设备管理、上下文管理、存储器管理、代码块管理、执行控制、纹理索引管理与OpenGL和Direct3D的互操作性的应用接口。
a.驱动API是一种基于句柄的底层接口,大多数对象通过句柄被引用,其函数前缀均为cu。
b.运行时API对驱动API进行了一定的封装,隐藏了其部分实现细节,因此使用起来更为方便,简化了编程的过程,因此我们实际使用更多的时运行时API。
在这里插入图片描述

四、环境搭建步骤(基于ubuntu系统)

1、在终端输入以下命令确认NVIDIA驱动安装正确

nvidia-smi

在这里插入图片描述

2、CUDA安装
(1)根据上图显示的CUDA Version下载CUDA对应版本
下载地址:https://developer.nvidia.com/cuda-downloads?target_os=Linux
根据自己的操作系统选择对应的runfile
在这里插入图片描述
(2)安装步骤:
第一步:
执行 sh xxx.run
选择Continue,按Enter
在这里插入图片描述
输入accept
在这里插入图片描述
取消驱动安装
(选择Options可以修改CUDA Toolkit和CUDA Samples的安装路径)
在这里插入图片描述
安装成功
在这里插入图片描述
第二步:
配置环境变量
输入如下命令打开bashrc

sudo gedit ~/.bashrc 

在文件尾部加入:

export CPATH=/usr/local/cuda-xx/targets/x86_64-linux/include:$CPATH 
export PATH=/usr/local/cuda-xx/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-xx/lib64\
                         ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

cuda-xx的xx为安装的cuda版本号
点击保存并关闭文件。

第三步:
查看安装是否成功
输入

nvcc -V

在这里插入图片描述
出现如上版本信息即表示安装成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值