gpu可以代替cpu吗?cpu和gpu有什么区别?

gpu可以代替cpu吗?cpu和gpu有什么区别?

       显卡涨价风波让普通大众了解到了“挖矿”这个行业,如今挖矿大都是用显卡(gpu)来挖的,这时很多朋友可能会好奇,既然gpu可以用来挖矿,那gpu可以代替cpu吗?gpu和cpu又有什么区别呢?         一、gpu可以代替cpu吗?        这款可以明确的告诉你:GPU是替代不了CPU的,同样,CPU也替代不了GPU。如果形象点理解,GPU就像一群蚂蚁,这些蚂蚁都做着同样的事,而CPU就像一头大象,这头大象做着各种不同的事。

       从根本上说CPU和GPU它们的目的不同,且有不同侧重点,也有着不同的性能特性,在某些工作中CPU执行得更快,另一工作中或许GPU能更好。当你需要对大量数据做同样的事情时,GPU更合适,当你需要对同一数据做很多事情时,CPU正好。        然而在实际应用中,后一种情形更多,也就是CPU更为灵活能胜任更多的任务。GPU能做什么?关于图形方面的以及大型矩阵运算,如机器学习算法、挖矿、某些编码等,GPU会有所帮助。         二、gpu和cpu的区别        简单地说,CPU擅长分支预测等复杂操作,GPU擅长对大量数据进行简单操作。一个是复杂的劳动,一个是大量的工作。        其实GPU可以看作是一种专用的CPU,专为单指令在大块数据上工作而设计,这些数据都是进行相同的操作,要知道处理一大块数据比处理一个一个数据更有效,执行指令开销也会大大降低,因为要处理大块数据,意味着需要更多的晶体管来并行工作。

       CPU呢,它的目的是尽可能快地在单个数据上执行单个指令。由于它只需要使用单个数据单条指令,因此所需的晶体管数量要少得多,但它需要更大的指令集,更复杂的ALU(算术逻辑单元),更好的分支预测,更好的虚拟化架构、更低的延迟等等。        另外,像我们的操作系统Windows,它是为x86处理器编写的,它需要做的任务执行的进程,在CPU上肯定更为高效,你想每个线程的任务并不相同,基本上难以并行化,完全发挥不了GPU的长处。        那么,可以预见在未来,随着CPU进一步强化处理数据块的能力,我们将看到CPU和GPU架构之间的融合,而且,随着制造技术的进步和芯片的缩小,GPU也可以承担更复杂的指令。CPU与GPU间的分工虽然还是大有不同,但彼此间的交集无疑会更多。         总结:gpu可以代替cpu吗?        gpu和cpu是无法互相替代的,因为它们有着各自不同的分工,gpu在一些特定的任务上可能会比cpu的效率高很多(这也就是为什么挖矿要用gpu的原因),但是gpu不可能像cpu那样可能处理各种各样的信息。就好比人和机器人一样,很多时候机器人在一些特定的工作上比人的效率高很多,但是机器人永远不会像人一样去思考问题。

推荐阅读