File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed
Notes/001-modern-computing Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change 11
22# 从显卡到GPGPU
33
4- 当代的显卡功能早已经不局限于画面的渲染,而是变成一个通用的计算平台,称为GPGPU,即General Purpose GPU。GPGPU与传统的显卡与CPU有什么区别呢?
4+ ** 三种不同的任务 **
55
66其实可以认为存在三种不同的任务:
771 . 控制,主要处理if else逻辑,将人类规则应用于软件中。
882 . 通用计算,主要是各类算法,如排序、搜索、视频编解码等。
993 . 专用计算,如3D渲染、视频编解码等。
1010
11+ ** CPU无法满足日益增长的计算需求** :
1112通用计算和专用计算有重叠的部分,控制和通用计算也有重叠的部分。传统的CPU同时具备控制和计算能力,无论是控制还是普通计算,还是专用计算,CPU都能处理。但时至今日,CPU越来越沦落为单纯的控制器件,而通用计算和专用计算都越来越多的交给GPU、NPU等来处理。出现这个趋势的原因包括:
12131 . 能效,CPU的通长较长,能效不好,同样的计算任务,专用计算部件往往更省电,这对于电池较小的手机和耗电量巨大的数据中心都比较重要。
13142 . 性能,CPU的计算能力提升主要途径是提高频率和多核,这两方面都存在限制。首先频率无法无限提升,现在CPU频率达到5GHz已经相当困难。其次核心数目的提升也比较难,因为CPU比较复杂,每增加一个核就会大量增加芯片面积,这会导致功耗增加,也会导致芯片的良率下降。
15+ 基于以上原因,大量的计算需求CPU无法承接,从而只能流向其他计算部件。比如说硬件加速器或GPU。
16+
17+ ** 硬件加速器研发滞后**
18+
19+ 硬件加速器是一个非常专用的设备,它仅能执行固定的算法。比如说某些芯片上有zip压缩的硬件加速器,这个加速器只能进行zip压缩,别的什么事件都干不了。然后软件提出的计算需求是非常快速的。需要一个设备来满足快速提出的计算需求。
20+
21+
22+ 当代的显卡功能早已经不局限于画面的渲染,而是变成一个通用的计算平台,称为GPGPU,即General Purpose GPU。GPGPU与传统的显卡与CPU有什么区别呢?
1423
15- 基于以上原因,大量的计算需求CPU无法承接,从而只能流向其他计算部件。比如说硬件加速器或GPU。硬件加速器是一个非常专用的
24+ ### GPU的通用计算能力
1625
26+ 使用GPU做通用计算的尝试开始得很早。早在1999年,就有要尝试通过着色器程度来计算科学问题。
1727# OpenGL
1828
1929 下面一一段简单的OpenCL代码,用于绘制一个三角形:
You can’t perform that action at this time.
0 commit comments