- CPU VS GPU
- CPU(Central Processing Unit),中央处理器
- GPU(Graphics Processing Unit),图形处理单元
- GPU 的技术演变
- CUDA(Compute Unified Device Architecture)
- 显卡(Video Card)
- 显示芯片 VS 显卡
- 显卡结构
- Nvidia 显卡
- RT(Ray Tracing),光线追踪
- 扩展阅读
CPU VS GPU
CPU 和 GPU 之间的主要区别是它们在计算机系统中的用途。通常,
- CPU 可以处理完整的系统控制以及管理和通用任务。
- 相反,GPU 处理计算密集型任务,例如视频编辑或机器学习。
CPU(Central Processing Unit),中央处理器
CPU 是计算机的控制核心,是计算机的“大脑”,功能主要是解释计算机指令以及处理计算机软件中的数据。差不多所有的冯·诺伊曼 CPU 的运作原理可分为四个阶段:取指令、解码、执行和写回。从用户按下电源键开始,无论是简单的操作(如输入文字)还是复杂的任务(如运行大型程序),都需要 CPU 的参与,CPU 的性能对整个系统的响应速度和处理能力有直接影响。
具体来说,CPU 的主要职责包括:
- 运算: CPU 中的算术逻辑单元(ALU) 负责所有算术(如加减乘除)和逻辑运算(如与、或、非等),这是所有计算和决策的基础。
- 控制:控制单元(CU) 负责指挥系统中的各个组件协调工作。它从内存中提取指令、解码指令,并根据解码结果调度其他硬件(如内存、I/O 设备等)执行具体任务。
- 数据处理:CPU 负责处理系统和应用程序中的所有数据,包括数据存取、数据转移、格式转换等操作。它也可以在一定程度上并行处理多个任务(尤其是多核 CPU)。
- 指令执行:每当用户发出指令(例如按下一个键或启动一个程序),CPU 都会接收到相应的指令序列,并执行该序列以响应用户请求。
GPU(Graphics Processing Unit),图形处理单元
GPU 是一种可以高速进行数学计算的电子电路。图形渲染、机器学习(ML)和视频编辑等计算任务需要对大型数据集应用类似的数学运算。GPU 经过设计,可对多个数据值并行执行相同的操作。这可以提高许多计算密集型任务的处理效率。
每个 GPU 的工作方式略有不同,具体取决于其用途、制造商、芯片的细节以及用于协调 GPU 的软件。例如,Nvidia 的 CUDA 并行处理软件可让开发人员在考虑几乎所有通用并行处理应用程序的情况下对 GPU 进行专门编程。
GPU 可以是独立芯片,称为独立 GPU,也可以与其他计算硬件集成,称为集成 GPU(iGPU)。
- 独立 GPU:独立 GPU 以完全专用于手头任务的芯片形式存在。用于处理图形时,GPU 通常位于插入主板的图形卡上。在其他任务中,GPU 可能位于主板本身的另一张卡或槽上。
- 集成 GPU:制造商在称为 iGPU 的芯片上引入 CPU 和 GPU 的组合。这些用于 PC 的首批 iGPU 是 Intel 的 Celeron、Pentium 和 Core 系列。
GPU 的技术演变
- GPU 最初是为一项特定任务而设计的:控制图像显示。
- 三维成像项目涉及使用单个处理器在屏幕上生成单个像素,目标是在短时间内生成合并许多像素的图像。此项目被认为是 GPU 的起源。
- 1999 年,Nvidia 率先推出单芯片 GeForce 256 GPU。21 世纪 00 年代和 10 年代标志着一个成长时代,期间 GPU 融入了光线追踪、网格阴影和硬件曲面细分等功能。
- 2007 年,Nvidia 发布了 CUDA,这是在 GPU 上提供并行处理的软件层。
- 当 Nvidia 发布 CUDA 时,它向更广泛的受众开放 GPU 编程。然后,开发人员可以为各种不同的计算密集型实际应用编程 GPU 技术。GPU 计算开始变得更加主流化。
- GPU 是区块链和其他新兴应用的热门芯片。它们越来越多地用于人工智能和机器学习(AI/ML)。
CUDA(Compute Unified Device Architecture)
CUDA是 NVIDIA 推出的用于 GPU 加速计算的开发平台,广泛应用于 AI 领域。CUDA 架构通过让开发人员能够将 GPU 作为并行计算设备使用,为科学、工程等领域的研究人员提供了强大的计算能力。这一架构的显著特点在于不再依赖传统的图形 API(如 OpenGL 和 Direct3D)进行计算映射,而是提供了一个基于 C 语言的编程接口,使得有 C 语言基础的开发人员能够快速上手并开发 CUDA 应用。
- CUDA 的出现极大地降低了 GPU 计算的开发门槛,其开发环境不仅支持 C 语言,还逐步提供 FORTRAN、C++、Python 等多语言接口支持,适用于图形动画、科学计算、地质勘探、生物医药、物理模拟等需要大规模并行计算的领域。
- 2008 年推出的 CUDA SDK 2.0 进一步扩展了其功能,使得 CUDA 技术更加成熟,逐渐成为 AI 和高性能计算中不可或缺的工具之一。
显卡(Video Card)
显卡,是计算机中一个重要的组成部分,承担输出显示图形的任务。
- 显卡是插在主板上的扩展槽里的(现在一般是 PCI-E 插槽,此前还有 AGP、PCI、ISA 等插槽),主要负责把主机向显示器发出的显示信号转化为一般电器信号,使得显示器能明白电脑在让它做什么。
- 显卡的主要芯片叫“显示芯片”(Video Chipset)也叫 GPU 或 VPU(图形处理器或视觉处理器),是显卡的主要处理单元。显卡上也有和存储器相似的存储器,称为“显示内存 VRAM”,简称显存。
CPU是计算机运行的核心部件,如果计算机缺了 CPU,就无法运行,而显卡则并非必不可少。显卡对于图形显示和图形密集型任务(如游戏、图形设计)至关重要,但在没有图形需求的特定场景下,计算机在没有显卡的情况下仍能运行。
- 特别是在运行没有图形用户界面的命令行界面或远程操作系统时,服务器更多依赖于 CPU 的计算性能和多核架构,因此可以无需显卡正常运行。
- 通过 SSH 或远程桌面,用户可以从其他计算机连接并控制这台无显卡的计算机,执行各种任务。
进入 21 世纪后电脑游戏产业和新媒体对图像处理性能的市场需求是推进显卡技术发展和革新的主要推动力量,其中独立显卡以 Nvidia 和 AMD 之间的双头垄断为主要格局。随着计算性能的提升,显卡也开始被用在其它非图像处理的用途上,比如炒卖加密货币(所谓的“挖矿”)和 AI 强化学习(例如 ChatGPT)。
显示芯片 VS 显卡
-
AMD、Intel 和 Nvidia 是著名的 显示芯片(GPU) 生产商,而不是显卡的品牌。它们专注于生产和研发显示芯片,即显卡的核心组件,但并不直接制造或销售完整的显卡。
-
实际的显卡产品是由第三方厂商基于这些显示芯片来生产和销售的,例如华硕、微星、技嘉、七彩虹、影驰、索泰、蓝宝石等。用户通常看到的 Nvidia 显卡或 AMD 显卡,实际是这些厂商将 Nvidia 或 AMD 的显示芯片搭载到自家显卡上再进行销售的。
这种合作模式类似于汽车行业中的发动机制造商与汽车整车制造商之间的关系,显示芯片制造商(如 Nvidia、AMD)相当于生产发动机的厂家,而显卡品牌(如华硕、微星)则负责设计和生产整张显卡,添加散热、供电设计等元素,以确保最终产品的完整性和适用性。
显卡结构
- GPU 及风扇:GPU 是显卡的核心,负责大部分的图形计算任务,类似于计算机中的 CPU,它决定了显卡的渲染能力和图形处理速度。风扇专为 GPU 散热设计,确保 GPU 在高性能运作时不会过热,防止性能下降或硬件损坏。高端显卡通常会配备多个风扇或使用水冷散热以提高散热效果。
- 显存:显存的容量和性能决定了显卡能够处理的数据量和速度。显存越大,显卡在处理高分辨率或复杂图形时的表现越好。
- 电容:电容的质量会直接影响显卡的稳定性和画质,尤其在高负载或长时间使用的情况下,电容的耐用性和性能显得尤为重要。高质量的电容能够确保显卡在供电波动时仍能维持稳定,避免画面闪烁或显示异常。
- 显卡接口(即“金手指”):显卡接口用于连接显卡和主板,以便数据传输和信号交换。主流接口类型为 PCI Express(PCIe),提供更高的带宽和数据传输速率。PCI 和 AGP 接口已基本淘汰,目前几乎所有新款显卡都采用 PCIe 接口,以适应高速数据传输需求。
- 外设接口(或显示输出接口)用于连接显卡和显示设备,负责将图形信号传输到显示器上。新显卡一般配有一个 VGA(模拟信号)接口和一个或多个数字接口,如 DVI、HDMI 和 DisplayPort(DP)。HDMI 和 DP 接口支持高分辨率和高刷新率显示效果,逐渐成为主流接口。
- 桥接接口:用于实现多显卡并联,以增强图形处理性能,主要在多显卡配置(如 NVIDIA 的 SLI 或 AMD 的 CrossFire)中使用。通过桥接接口,多个显卡可以并行处理图形数据,适用于需要极高图形性能的场景,比如高端游戏、专业图形渲染或科学计算等。不过,随着单显卡性能提升,桥接技术的使用逐渐减少。
Nvidia 显卡
其一大特色是对 AI 生态的适应(CUDA)广泛应用于 AI 领域(beat AMD)。
参考博文:【显卡】AMD和Nvidia显卡系列&相关对比(A100 vs RTX4090)
英伟达(NVIDIA)是美国一家专业的计算机图形芯片制造商,英伟达显卡市场份额占据全球第一的位置,英伟达的显卡产品系列涵盖 GeForce、Quadro、Tesla、NVS、GRID 等,满足不同领域的应用需求。
- GeForce显卡:GeForce 显卡是英伟达公司推出的主流消费级显卡,其型号包括 GTX1050、GTX1050ti、GTX1060、GTX1070、GTX1080、GTX1080ti、RTX2060、RTX2070、RTX2080、RTX2080ti、RTX3080(90)、RTX4080(90)等。GeForce 显卡的主要功能是用于娱乐,比如游戏、影音、图形设计等,支持 VR 技术也是主流 GeForce 显卡的一大特色。
- Quadro 显卡:Quadro 显卡是英伟达公司推出的专业级显卡,其型号包括 Quadro K620、Quadro K1200、Quadro K2200、Quadro K4000、Quadro K4200、Quadro K5000、Quadro K5200、Quadro P400、Quadro P600、Quadro P1000、Quadro P2000、Quadro P4000、Quadro P5000、Quadro P6000 等。Quadro 显卡主要是针对设计、建模、视觉分析等专业领域,其优势在于高计算性能、低功耗、低延迟等,无论是专业的设计师还是专业的游戏玩家都可以通过 Quadro 显卡体验更好的绘图流畅度。
- Tesla 显卡:Tesla 显卡是英伟达公司推出的深度学习用显卡,其型号包括 Tesla K40、Tesla K80、Tesla P4、Tesla P40、Tesla P100、Tesla V100、Tesla T4、Tesla M40、Tesla M60、A40、A100、A800 等。Tesla 显卡的主要功能是用于超级计算机的深度学习,比如图像处理、语音识别、机器学习、物体检测等,相比 GeForce 显卡的性能更加强悍,可以支持更高的计算速度。
- NVS 显卡:NVS 显卡是英伟达公司推出的多屏显示用显卡,其型号包括 NVS 310、NVS 315、NVS 510、NVS 810、NVS 510M、NVS 810M 等。NVS 显卡的主要功能是用于多显示器的驱动,比如工程设计、金融分析、智能展示等,可以支持多达 8 个显示器的显示,而且支持 4K 分辨率,支持三明治拼接等,可以满足多显示器的高端需求。
- GRID 显卡:GRID 显卡是英伟达公司推出的虚拟化用显卡,其型号包括 GRID K1、GRID K2、GRID M60-1Q、GRID M60-2Q 等。GRID 显卡主要是针对虚拟化技术而设计的,可以支持虚拟桌面、虚拟机器学习等,可以支持多个用户同时访问一台服务器,而且支持虚拟桌面可以支持多屏显示,可以满足大规模的虚拟化部署。
RT(Ray Tracing),光线追踪
英伟达 GeForce显卡 20 系显卡之后使用了全新的 RTX 前缀,而其最大的亮点就是采用了光线追踪的技术。
伴随着每年显卡技术的升级,游戏画面也逐年提升。这次的 RTX 到底牛 X 在哪?其实也就是三个字:更真实。
拿两组游戏场景图前后对比,直观感受 RT 光线追踪技术对图像的影响。
参考:英伟达新显卡比电脑整机还贵!看完游戏画面才知道为啥值一万
《战地5》的游戏场景↓↓
觉得挺逼真是吧,有没有觉得哪里不对劲?
再看配上 RTX 20 系列显卡的新技术后的画面↓↓
That’s right. 就是光线的反射!
以前的显卡,做不到对光线的实时追踪。所以熊熊大火边上的汽车,并不能映出火光!这就是让你“总觉得哪儿不对劲,但又说不上来”的原因。
再来看下一张《地铁:离去》的游戏场景↓↓
乍一看是不是也觉得没什么大问题?
那再来看看 RTX 20 系列显卡的效果↓↓
问题还是出在光线上!因为这间屋子只有一扇小窗,光线根本不可能亮到让房间一览无余!
RTX 20 显卡对光线的渲染,就更接近真实世界。英伟达在发布会上还做了个更加直观的对比↓↓
看到球体的光线反射变化了没?没错,这就意味着连极为复杂的“眼神光”,RTX 20 显卡也能轻松模拟出来。
值得一提的是,英伟达的新显卡能做到这些,其实也是得益于人工智能的发展,也就是凭借着新显卡内的 AI 芯片,通过人工智能来“预测”光线效果。
扩展阅读
大模型训练为什么用A100不用4090