Skip to content

Commit 05bb3c8

Browse files
author
zhangfuwen
committed
vault backup: 2025-10-24 10:56:34
1 parent a590e4f commit 05bb3c8

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

Notes/001-modern-computing/024-OpenGL与OpenCL.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,17 @@
33

44
当代的显卡功能早已经不局限于画面的渲染,而是变成一个通用的计算平台,称为GPGPU,即General Purpose GPU。GPGPU与传统的显卡与CPU有什么区别呢?
55

6+
其实可以认为存在三种不同的任务:
7+
1. 控制,主要处理if else逻辑,将人类规则应用于软件中。
8+
2. 通用计算,主要是各类算法,如排序、搜索、视频编解码等。
9+
3. 专用计算,如3D渲染、视频编解码等。
10+
11+
通用计算和专用计算有重叠的部分,控制和通用计算也有重叠的部分。传统的CPU同时具备控制和计算能力,无论是控制还是普通计算,还是专用计算,CPU都能处理。但时至今日,CPU越来越沦落为单纯的控制器件,而通用计算和专用计算都越来越多的交给GPU、NPU等来处理。出现这个趋势的原因包括:
12+
1. 能效,CPU的通长较长,能效不好,同样的计算任务,专用计算部件往往更省电,这对于电池较小的手机和耗电量巨大的数据中心都比较重要。
13+
2. 性能,CPU的计算能力提升主要途径是提高频率和多核,这两方面都存在限制。首先频率无法无限提升,现在CPU频率达到5GHz已经相当困难。其次核心数目的提升也比较难,因为CPU比较复杂,每增加一个核就会大量增加芯片面积,这会导致功耗增加,也会导致芯片的良率下降。
14+
15+
基于以上原因,大量的计算需求CPU无法承接,从而只能流向其他计算部件。比如说硬件加速器或GPU。硬件加速器是一个非常专用的
16+
617
# OpenGL
718

819
下面一一段简单的OpenCL代码,用于绘制一个三角形:

0 commit comments

Comments
 (0)