c++ cuda加速学习笔记

news2024/11/16 9:46:48

1. 环境配置

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

搜索链接:https://www.nvidia.com/Download/index.aspx?lang=zh-cn

在这里插入图片描述

(2)怎么知道自己的的显卡类型
https://jingyan.baidu.com/article/2a13832888b2a7464a134fef.html
此电脑->管理->设备管理器->显卡适配器
nvidia属于英伟达GeForce系列驱动,选择它即可
在这里插入图片描述
(3)安装驱动,直接双击即可,然后选择默认的路径,一直点下一步,就可以晚餐默认的安装
在这里插入图片描述
(4)成功安装英伟达驱动后,win+R,输入cmd,进入命令行界面,输入nvdia-smi,即可查看nvidia驱动版本,以及最高支持的cuda版本。
在这里插入图片描述
(5)下载cuda
https://developer.nvidia.com/cuda-toolkit-archive
以及下载与之相对应的cudnn
https://developer.nvidia.com/cudnn

参考https://blog.csdn.net/qunsorber/article/details/122255530

2 cpu-gpu基本概念

在这里插入代码片


![在这里插入图片描述](https://img-blog.csdnimg.cn/7857d34feb3c48cbb5c2db3cdcf63aa3.png#pic_center)

1.流水线里的旁路,bypassing,两条指令相互依赖,前一条指令可以加一些别的支路,可以先执行后面的指令

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

3 并行处理


![在这里插入图片描述](https://img-blog.csdnimg.cn/99160135a83b4dfebe0e91351e685356.png#pic_center)

常见名词:
共享存储,指令处理的数据需要放在某个地方,数据是放在一起的
分布式存储:数据放在不同的地方
通信:执行指令之间发生的交互
同步:对于并行系统,多个指令段同时执行,破坏了并行系统的并行性,也即破坏了独立性
粒度:并行计算每个任务的大小
加速比:相同层次的计算系统的比较,cpu型号是否一致,型号是否一致
并行开销:完成并行计算所使用的开销,比如通信,存储
可扩展性:比如在一个四核系统,扩展到40个系统,他的效率是不是成倍的增长的
![在这里插入图片描述](https://img-blog.csdnimg.cn/37e4de94ba9a4c3ab3e71704d7f172aa.png#pic_center)

12.
共享存储模型:可能会导致取数据的路上的拥堵
消息传动模型:彼此独立的空间上的信息传递
![在这里插入图片描述](https://img-blog.csdnimg.cn/4673885df279431cb9e39ca2bc9ea2b1.png#pic_center)

13.加速比:P表示并行的部分
![在这里插入图片描述](https://img-blog.csdnimg.cn/02a2515a8d9a48b7baec5e544645ade0.png#pic_center)![在这里插入图片描述](https://img-blog.csdnimg.cn/8b55a407f5504ad0b2425ac70da04156.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/7250b4f7830a447ab52a8c9240ec62fc.png#pic_center)

4 GPU概述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/505890.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通过Modbus实现TTS语音全彩声光告警-博灵语音通知终端-网络语音报警灯

背景 目前PLC在工业领域应用广泛,在运行过程中可能会涉及到各种告警。 为了简单快速的实现语音声光告警,本文以大连英仕博科技出品的博灵语音通知终端为例,演示如何通过Modbus TCP协议实现声光告警推送。 播报效果演示 Modbus-博灵语音通知…

Google Play 政策更新重点回顾 (上) | 2023 年 4 月

Google Play 始终如一地为大家打造值得信赖的安全平台,支持大家走向成功。为了让您更及时更清晰地掌握 Google Play 最新政策,我们准备了两篇文章为您详细说明 2023 年 4 月的政策更新内容,以及深度解析。本文是第一篇内容,我们将…

日撸 Java 三百行day46

文章目录 说明day46 快速排序1.基本思路2. 代码 说明 闵老师的文章链接: 日撸 Java 三百行(总述)_minfanphd的博客-CSDN博客 自己也把手敲的代码放在了github上维护:https://github.com/fulisha-ok/sampledata day46 快速排序 …

计算机网络安全--期末

计算机网络安全绪论 计算机网络实体是什么 计算机网络中的关键设备,包括各类计算机、网络和通讯设备、存储数据的媒体、传输路线…等 典型的安全威胁有哪些 ★ ⋆ \bigstar\star ★⋆ 窃听(敏感信息被窃听)重传(被获取在传过来)伪造(伪造信息发送)篡…

kubeadm 部署Kubernetes 集群一主多从集群并完成pod部署

目录 搭建环境准备三台虚拟机: 环境条件限制: 一,关闭交换分区 二,禁用selinux 三,防火墙关闭 四,docker安装 五,设置IPv4 流量传递到 iptables 六,配置k8s的yum源 七&#…

vue3学习三 computed

vue3中的computed 也被封装成了一个组合api , 所以我们使用的时候&#xff0c; 要 import {computed} from “vue” 和vue2样&#xff0c; computed 是有两种书写方式 简写方式和全写方式 <template><div> firstname:<input v-model"firstname" /&g…

【专题连载】基于5G+机器视觉的芯片检测解决方案

基于5G机器视觉的芯片检测解决方案 背景 机器视觉的价值体现在它能为工业生产带来产量的增加和产品质量的提升&#xff0c;并同时降低生产成本&#xff0c;推动了工业生产的快速发展&#xff0c;使工业生产企业真正从中受益。为了进一步压缩生产成本&#xff0c;工业控制的产…

信号与槽机制一

一、信号与槽 1、什么是信号与槽&#xff1f; 信号和槽是用于对象之间的通信&#xff0c;它是Qt的核心机制&#xff0c;在Qt编程中有着广泛的应用。如果想学好Qt&#xff0c;一定要充分掌握信号的槽的概念与使用。 2、信号和槽的代码实例 在Qt中&#xff0c;发送对象、发送的信…

FPGA上的视觉 SLAM

在FPGA开发板上实现基于立体视觉的 SLAM。 绪论 SLAM&#xff08;同步定位和地图绘制&#xff09;在自动驾驶、AGV 和无人机等各种应用中引起了人们的广泛关注。尽管目前有很多优秀的 SLAM 项目可以参考&#xff0c;但是他们的复杂性&#xff08;高性能&#xff09;及依赖性&am…

体验洞察 | 原来它才是最受欢迎的CX指标?

一直以来&#xff0c;企业都在试图追踪他们能否在整个客户旅程中始终如一地提供卓越的客户体验&#xff08;Customer Experience&#xff0c;简称“CX”&#xff09;&#xff0c;并通过多个CX指标&#xff0c;如NPS&#xff08;净推荐值&#xff09;、CSAT&#xff08;客户满意…

简单讲讲UE中的PlayerCameraManager

我们在平时开发中&#xff0c;少不了编写一些逻辑去控制相机&#xff0c;例如俯视角镜头与各个特写镜头的过渡切换&#xff0c;因此了解一些PlayerCameraManager是有必要的。 PlayerCameraManager是UE自带的相机管理组件&#xff0c;本身比较简单&#xff0c;一般需要自行扩展…

长短期记忆网络LSTM(long short-term memory)

递归神经网络 递归神经网络可以解决这个问题。它们是带有循环的神经网络&#xff0c;允许信息保留一段时间。 在上图中&#xff0c;A 代表神经网络主体, xt 是网络输入&#xff0c;ht是网络输出&#xff0c;循环结构允许信息从当前输出传递到下一次的网络输入。 一个递归神经网…

强烈推荐:一款中文AI问答、创作、绘画工具

前言 相信很多人已经听过ChatGPT这款人工智能机器人了&#xff0c;它能够根据用户输入的内容&#xff0c;自动生成智能回复。它使用自然语言处理技术&#xff0c;通过学习大量的文本资料&#xff0c;能够模拟人类的对话行为。它是由OpenAI开发的&#xff0c;一家非常伟大的人工…

6个月的测试,来面试居然要15K,我一问连5K都不值

2023年4月份我入职了深圳某家创业公司&#xff0c;刚入职还是很兴奋的&#xff0c;到公司一看我傻了&#xff0c;公司除了我一个自动化测试&#xff0c;公司的测试人员就只有2个开发3个前端1个测试还有2个UI&#xff0c;在粗略了解公司的业务后才发现是一个从零开始的项目&…

HNU-计算机系统-讨论课6

完整讲解视频&#xff1a;野生Gprof会梦见存储器山嘛&#xff1f;_哔哩哔哩_bilibili 别忘了一键三连哦 题 3&#xff1a; 在“存储器层次结构”一章的 6.6 节从存储器山的角度具象化 了存储器性能描述。 &#xff08; 1 &#xff09; 请阅读教材 6.6.1 内容&#xff08…

从 Elasticsearch 到 Apache Doris,10 倍性价比的新一代日志存储分析平台|新版本揭秘

日志数据的处理与分析是最典型的大数据分析场景之一&#xff0c;过去业内以 Elasticsearch 和 Grafana Loki 为代表的两类架构难以同时兼顾高吞吐实时写入、低成本海量存储、实时文本检索的需求。Apache Doris 借鉴了信息检索的核心技术&#xff0c;在存储引擎上实现了面向 AP …

京东金融Android瘦身探索与实践

作者&#xff1a;京东科技 冯建华 一、背景 随着业务不断迭代更新&#xff0c;App的大小也在快速增加&#xff0c;2019年~2022年期间一度超过了117M&#xff0c;期间我们也做了部分优化如图1红色部分所示&#xff0c;但在做优化的同时面临着新的增量代码&#xff0c;包体积一直…

openEuler 社区 2023 年 4 月运作报告

概述 过去一个月&#xff0c;openEuler社区全员参与openEuler Developer Day 2023&#xff0c;通过SIG组开放工作会议完成了下个版本的规划。openEuler社区也参加了在新加坡举办的FOSSASIA SUMMIT。 在技术层面&#xff0c;社区不断推进创新&#xff0c;发布新项目&#xff0…

动态规划--01背包问题

01背包问题 背包问题题目最优解结构性质状态转移方程方程理解 递归实现核心思想代码实现用例测试 画表非递归实现核心思路代码实现画表展示 计算哪些物品放入算法思想代码实现 背包问题 题目 0-1背包问题:给定n种物品和一背包。物品的重量是w;,其价值为v; ,背包的容量为C。问…

科普文:国内ChatGPT怎么用,ChatGPT国内怎么用,关于ChatGPT你需要了解的内容应该都在这

在国内用了很长一段时间的ChatGPT&#xff0c;每次跟小白&#xff0c;哪怕是用ChatGPT的人交流的时候&#xff0c;都感觉解释不清&#xff0c;正好今天周末&#xff0c;给大家整理一篇关于ChatGPT的科普文&#xff0c;想要了解或使用ChatGPT的人&#xff0c;一定要看~~~&#x…