显卡的GPU是如何工作的什么它的算力如此强悍

显卡的原理看似复杂,其实一点也不简单。显卡里面最重要的就是这块芯片,被称为GPUGPU跟CPU类似,都是通过成百上千个针脚连接到PCB电路板的,但是就是这么一块小芯片,里面却集成了超过100亿个晶体管。如果将芯片放大到纳米级别,可以看到里面是一座座的高科技迷宫。与CPU只有少数几个核心不同的是,GPU的核心能达到几千甚至上万个。虽然GPU核心众多,但是它只擅长做相对简单的计算,尤其是大规模的并行计算。什么是并行计算呢?这是一张图片,图片有很多像素组成,GPU在渲染图片时,像素并不是一个接一个按顺序计算的,因为顺序计算会导致其他的核心不工作,都跑一边喝茶聊天去了,计算效率大大降低,所以GPU策略是谁抢到资源谁计算,计算之间相互独立,最终只要将图片组合在一起显示出来就可。可以了,现在我们来看一下GPU是如何展现它恐怖的计算实例的。这里有100个任务需要GPU进行处理,每个任务被称为一个线程。最理想的方法是这100个任务分配给100个核心一次处理。问题是GPU处理的任务太庞大了,如果需要处理100万个线程,就要使用100万个核心,这是不现实的。解决方案就是以线程为中心进行处理。这里有100万个线程任务对应一个拥有1000个核心的GPU。处理时,我们需要将100万个线程分别发送到核心的某个地方,分配过程异常复杂。为了方便,现在我们将核心分成10个处理单元,每个单元里面100个核心,然后再进行任务分配。这样虽然简单了一些,但是依旧还是很复杂。可以这样,我们将100万个现成任务也进行分组,每1000个任务一组,一共1000组,再进行分配的话就简单多了。但是有个问题,这里的每组任务里面有。1000个,而每个处理单元里面只有100个核心,还是不能一次处理掉每组任务,那怎么办呢?很简单,将1000组任务再进行分组,每100个任务打包在一起,分成10个包,一个包对应一个处理单元里面的100个核心,从而一对一进行处理。GPU就是以包为单位来处理任务的。目前市面上比较先进的显卡核心数量超过1万个,这些核心每128个分为一组核心组的任务也是每128个任务打包在一起,所以一个包可以分配给一组核心来执行。有个问题,当核心执行任务时,需要从内存中读取数据,这会产生一定的延迟,那GPU是如何解决延迟问题呢?回答这个问题前,如果你对这种知识动画感兴趣,可以下载左下角的精选APP进行学习,里面的合集广场都是3分钟以上的优质视频,感兴趣的可以下载一下,言归正传,CPU解决延迟问题是通过增加高速缓存来解决的。我们来看。看下GPU的解决方案。当核心组在执行一个任务包时,如果出现延迟,他并不会等待,而是立即执行下一个任务包,如果继续出现延迟,它又会立即跳到下一个。也就是说,GPU的核心会不停的进行运算,只要有活干,任劳任怨。GPU一开始主要是为了加速图形渲染而设计的,但是它大规模处理问题的能力刚好与现今高速发展的人工智能不谋而合。人工智能一个重要技术就是深度学习,学习过程需要输入大量的数据,然后对其进行并行运算,得出预期结果值,而这正是GPU所擅长的。所以GPU常用来训练AI模型。在实际应用中,最为人所熟知的就是比特币挖矿,比特币的开采方式是不断添加任意数字,直到得到规定的哈希值。这种挖矿的方式又是GPU极其擅长的,所以显卡在比特币挖掘中至关重要。

我司专注于 线路板ERP线路板生产系统线路板ERP系统线路在线下单系统线路板下单系统PCB下单系统PCB小批量系统

线路板厂家。多年来一直专于线路板生产,PCB生产系统,多层板生产系统等。


Latest Blog Post

02 May 2014

Donec id elit non mi porta gravida at eget metus amet int

02 May 2014

Donec id elit non mi porta gravida at eget metus amet int

02 May 2014

Donec id elit non mi porta gravida at eget metus amet int