为了回答这个问题,我们需要知道几个知识:
1、一个CPU通常只有 几个核
2、一个GPU通常有 几千个核 (为了容易理解,暂且可以把CPU的核和GPU的核看成是同一个东西)
3、通常,CPU的核 性能比GPU的核 性能要强得多
4、标题说到是在数据科学领域,其实主要就是指的矩阵计算。
5、我们可以将计算时间,不管是CPU还是GPU的计算时间,大概抽象成这样一个计算公式:
总 的 计 算 时 间 = 指 令 的 数 量 × 每 条 指 令 的 平 均 执 行 时 间 核 数 量 总的计算时间 = \frac{指令的数量 \times 每条指令的平均执行时间}{核数量} 总的计算时间=核数量指令的数量×每条指令的平均执行时间
6、不管是CPU还是GPU,总的指令的数量大概是相等的,那么它们之前的差异就主要有后面两个参数决定了
7、前面提到,GPU的核性能相比CPU来说要差许多,但是核的数量却远远大于CPU。
即(>>是远远大于):
G
P
U
的
核
性
能
>
C
P
U
,
但
是
核
的
数
量
>
>
C
P
U
GPU的核性能 > CPU,但是 核的数量 >> CPU
GPU的核性能>CPU,但是核的数量>>CPU
总 的 计 算 时 间 = 执 行 的 指 令 的 数 量 × 每 条 指 令 的 平 均 执 行 时 间 ↗ 核 数 量 ↗ ↗ = ↘ 总的计算时间 = \frac{执行的指令的数量 \times 每条指令的平均执行时间 ↗}{核数量↗↗} = ↘ 总的计算时间=核数量↗↗执行的指令的数量×每条指令的平均执行时间↗=↘
GPU核数量差异 >> 核性能差异,总的计算时间就要少许多了
(以上皆为个人查阅资料,为方便自己理解得出,有不符之处,多多指教)