当前位置: 华文问答 > 数码

GPU填充显存的最快速度和CPU填充内存的最快速度比是不是快很多,具体快多少?

2021-10-16数码

「速度」二字其实就暴露了业余身份。但是业余没啥,术业有专攻。

如果只是填充几个字节,论速度很可能是CPU快。

但是如果是填充几十MB几GB这种量级,GPU快的可能性很大。

这里的「快」,指从开始写出第一个数据,到全部数据写入目标存储的时间。

造成这种差异的主要原因在于,通常CPU所使用的DDR,是按照高稳定、低迟延、低带宽设计的。现代CPU虽然有的时候也用来进行大数据的处理,但是更多时候是用于控制。单命令处理的数据量相对较小,因此不需要很高的带宽,但是要低延迟。

打个比方的话,就好像家里客厅到卧室的过道,不宽,但是距离短。

而GPU的应用场景主要是大量数据的相对简单的处理,而且是高并行处理。所以与GPU配对使用的GDDR,是按照高带宽、高延迟、相对低稳定性来设计的。

打个比方的话,就好像连接家和学校的马路。路宽,但是路远。

所以,如果只是写少量数据,那么这个时候延迟起绝对作用,延迟低的胜出,也就是CPU+DDR胜出。

但是如果要写大量数据,那么这个时候路宽的可以开大卡车,但是路窄的只能走人。延迟就不再是决定性因素,带宽变为瓶颈。从而GPU+GDDR胜出。

目前,桌面级别的CPU和内存的带宽,在小几十GB/s,这个量级。而GPU和显存之间的带宽,在几百GB/s这个量级。两者之间差不多有将近10倍的差别。

不过GPU为了支持并行,对于显存的分页以及对齐等等有诸多要求。如写出数据时不能很好满足这个要求,性能会飞速降低,以至于只有原本的1/10左右,都是可能的。