计算机图形学和动画设计的出现后,产生了第一批计算密集型工作负载,而 CPU 的设计初衷并非是处理这些工作负载。例如,视频游戏动画需要应用程序处理数据以显示数千个像素,每个像素都有自己的颜色、光强度和移动。当时 CPU 上的几何数学计算导致了性能问题。
硬件制造商开始认识到,卸载常见的面向多媒体的任务可以减轻 CPU 的压力并提高性能。如今,与 CPU 相比,图形处理单元(GPU)工作负载处理一些计算密集型应用(比如机器学习和人工智能)时更高效。
功能
CPU 和 GPU 之间的主要区别在于它们的功能。没有 CPU,服务器就无法运行。CPU 处理服务器上所有软件正常运行所需的所有任务。另一方面,GPU 支持 CPU 执行并发计算。GPU 可以更快地完成简单和重复的任务,因为它可以将任务分解成更小的部分然后并行完成。
设计
GPU 擅长通过多个核心或算术逻辑单元(ALU)进行并行处理。GPU 核心不如 CPU 核心强大,内存也更少。CPU 可以在不同的指令集之间快速切换,而 GPU 只是获取大量相同的指令并高速进行推送。因此,GPU 功能在并行计算中起着重要作用。
区别示例
为了更好地理解,请考虑以下类比。CPU 就像一家大型餐厅的主厨,他必须要确保给数百个汉堡翻面。即使主厨可以亲自做,但这并不是利用时间的最佳方式。在主厨完成这项简单但耗时的任务时,所有厨房中的操作都可能停止或延缓。为了避免这种情况,主厨可以让初级助手同时翻汉堡。GPU 更像是一个有十只手的初级助手,可以在 10 秒钟内翻 100 个汉堡。