CPU、GPU、CUDA 的区别与联系 【转】

时间:2024-03-09 08:03:50

CPU:*处理器,主要为串行指令而优化(大白话:响应速度快)。
GPU:图形处理器,主要为大规模的并行运算而优化(大白话:能同时处理大规模数据计算)。

GPU也称显示芯片、显卡等。一般有集成(嵌在主板上)和非集成(可插拔)两种。后者自然需要一套软件来让CPU操作GPU。这个软件程序就叫显卡驱动。软件需要编译,自然高度依赖操作系统,因此即使同样型号的显卡在不同操作系统一般需要的驱动也不一样。

那CUDA又是什么? PS:发音是[Kju:dA]

话说在2007年之前,GPU由CPU操作,CPU把一些图形图像的计算任务交给GPU执行。程序员不需要与GPU打交道。随着GPU计算能力的发展,越来越多的计算场景由GPU完成效果会更好。但现有的程序无法直接*控制GPU的处理器。当然程序员也可以直接写代码与显卡驱动对接,从而直接控制GPU的处理器,但这样代码恐怕写起来要让人疯掉。

GPU由英伟达最初推出,目前为止自然也是它一家独大。但程序员不愿意与显卡驱动对接,英伟达很着急。

想要把自家产品的性能发挥到最高,英伟达当然会有动力提供一套软件接口来简化操作GPU的处理器。英伟达把这一套软件定义为CUDA(Compute Unified Device Architecture,统一计算架构)。大白话就是英伟达开发的一套软件,方便程序员直接操控自家的显示芯片