c++ cuda加速学习笔记

编程入门 行业动态 更新时间:2024-10-09 16:26:25

c++ cuda加速<a href=https://www.elefans.com/category/jswz/34/1770117.html style=学习笔记"/>

c++ cuda加速学习笔记

1. 环境配置

(1)显卡驱动下载官网,需要知道自己电脑的显卡类型

搜索链接:.aspx?lang=zh-cn

(2)怎么知道自己的的显卡类型
.html
此电脑->管理->设备管理器->显卡适配器
nvidia属于英伟达GeForce系列驱动,选择它即可

(3)安装驱动,直接双击即可,然后选择默认的路径,一直点下一步,就可以晚餐默认的安装

(4)成功安装英伟达驱动后,win+R,输入cmd,进入命令行界面,输入nvdia-smi,即可查看nvidia驱动版本,以及最高支持的cuda版本。

(5)下载cuda

以及下载与之相对应的cudnn

参考

2 cpu-gpu基本概念

在这里插入代码片![在这里插入图片描述](.png#pic_center)1.流水线里的旁路,bypassing,两条指令相互依赖,前一条指令可以加一些别的支路,可以先执行后面的指令2.停滞,有些情况,即使加旁路也没有用,只能等前一条指令运行结束
3.分支预测:Brandch Prediction,现代预测器的准确率大于90%
4.分支断定:不猜结果是什么,全做,把所有的可能性都做一遍
5.超标量 superscalar:增加流水线的宽度,峰值IPC为N,宽度增加会导致分支和调度开销的增加
6.指令调度,scheduling, 
![在这里插入图片描述](.png#pic_center)
上面的第一条指令和第三条指令同名了,可以对名字进行命名,那么这两条指令就可以同时执行了
![在这里插入图片描述](.png#pic_center)
7.乱序执行:这是一个重排指令,IPC是一个时钟周期所能执行的次数。乱序执行的IPC接近理想状态
8.cpu的存储器,存储器越大越慢
9.缓存:将数据放在尽可能要处理的数据接近的位置;时间临近性和空间临近性;
10.数据级的并行,是指同时有对个数据要处理多核:一个人做不完,就多个人做
![在这里插入图片描述](.png#pic_center)
单指令多数据
![在这里插入图片描述](.png#pic_center)
11.锁存:加锁,别人不能访问
缓存的一致性:一致性协议,谁的数据是对的
同一性:什么样的数据是对的
12 新摩尔定律:处理器越来越胖,单个性能已经达到极限,只能增加数量

3 并行处理


![在这里插入图片描述](.png#pic_center)常见名词:
共享存储,指令处理的数据需要放在某个地方,数据是放在一起的
分布式存储:数据放在不同的地方
通信:执行指令之间发生的交互
同步:对于并行系统,多个指令段同时执行,破坏了并行系统的并行性,也即破坏了独立性
粒度:并行计算每个任务的大小
加速比:相同层次的计算系统的比较,cpu型号是否一致,型号是否一致
并行开销:完成并行计算所使用的开销,比如通信,存储
可扩展性:比如在一个四核系统,扩展到40个系统,他的效率是不是成倍的增长的
![在这里插入图片描述](.png#pic_center)12.
共享存储模型:可能会导致取数据的路上的拥堵
消息传动模型:彼此独立的空间上的信息传递
![在这里插入图片描述](.png#pic_center)13.加速比:P表示并行的部分
![在这里插入图片描述](.png#pic_center)![在这里插入图片描述](.png#pic_center)
![在这里插入图片描述](.png#pic_center)

4 GPU概述

更多推荐

c++ cuda加速学习笔记

本文发布于:2024-03-12 18:30:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1732139.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:学习笔记   cuda

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!