图片 19

[py]你真的了解多核处理器吗? 了解多线程

这些改进多半是为了跟进其他公司在GPU内核上的发展。而英特尔独有的部分与其他公司的GPU内核技术上还存在着许多差距。英特尔在其9月举办的英特尔信息技术峰会IDF)上已做过简要的说明,从其说明看来,传统英特尔图形的弱点还是显而易见的。而NVIDIA和AMD的GPU的优势也是相当明显的。

越来越多的人搞爬虫,设计到多线程爬取,
还有一些机器学习的一些模块也需要这玩意, 感觉自己不会逼格不高.
抽时间赶紧玩一玩这东西, 希望提高对软件的认知和归属感,不要太傻.

OpenCL:无人能模仿 很难被超越

Bridge的图形核心性能。而增强的主要部分,总体上是现在的GPU核心化。换句话说,随着NVIDIA和AMD逐…

cpu内部架构参考

图片 1

你真的了解多核处理器吗?
图片 2

图片 3

 
国际TOP500组织TOP500.org在网站上公布了最新全球超级计算机TOP500强排行榜,由国防科学技术大学研制,部署在国家超级计算天津中心,中国千万亿次超级计算机“天河一号”位居第一位,实测运算速度可以达到每秒2570万亿次

图片 4 Sandy
Bridge处理器图形核心

2.多核并不一定高能

从理论上来说,多核的性能肯定要比单核高很多。不过软件的发展远远跟不上硬件发展的速度,这样多核CPU在实际应用中就无法发挥其应用的功效,比如现在四核CPU已经非常的普及,但是针对四核优化的应用软件寥寥可数。即使你已经用上八核的CPU,在运行很多软件时仍然不会感到速度有多快得提升。因此我们并不要唯核是从,多核的不一定是最优的。“够用就好”永远是大家装机时选择硬件的唯一原则。另外由于架构、主频的不同,多核也并不一定比少核性能高。

多核不一定高能,的原理跟人多不一定力量大,是一个道理。
图片 5

OpenCL:奠定了异构计算的基础

相比之前,英特尔这次将大幅度增强Sandy
Bridge的图形核心性能。而增强的主要部分,总体上是现在的”GPU核心”化。换句话说,随着NVIDIA和AMD逐渐都朝着GPU内核的方向发展,英特尔也开始朝着相同方向迈进。不管是英特尔过去的特有架构,还是和其他公司合作的众多架构都将面临着巨大的改变。

1.双核≠双性能

多核不一定会使你的手机或电脑速度更快,但它将提高你的PC的整体性能,这是一个有所不同的细微的技术特色。多核处理器的性能提升并不是简单CPU核心的倍数,因为受到两(多)个核之间共享资源的拖累。比如双核性能只是单核的1.4~1.8倍,实际情况取决于具体的应用。

图片 6
一个核拼命干活,拼命转啊转啊,其他核在看,最后温度不断上升然后蓝屏了。。。。

上图是个笑话,不过你可以用任务管理器可以看到并不是每个核的负载时均匀分配的。

图片 7

这是为什么一个核转啊转啊,最后蓝屏的原因。

图片 8

2006年出现了双核心多核心**多核心,也叫多微处理器核心是将两个或更多的独立处理器封装在一起的方案,通常在一个集成电路(IC)中双核心设备只有两个独立的微处理器一般说来,多核心微处理器允许一个计算设备在不需要将多核心包括在独立物理封装时执行某些形式的线程级并发处理(Thread-Level
Parallelism,TLP)这种形式的TLP通常被认为是芯片级多处理
在游戏中你必须要使用驱动程序来利用第二颗核心。**

简而言之,就是特别重视低成本化,英特尔的CPU已是普遍销售了,但图形核心还没达到此种程度。这是因为其性能效率以及程序通用性都比较弱。与此相反的是,Sandy
Bridge的图形核心比较注重GPU性能和电源效率之间的成本比,更多的考虑了通用性。

4. 什么是双核、双芯和超线程

双(多)核:是指拥有两(或多个)物理核心(又称为内核),各种CPU核心都具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元,各个核心通过超传输技术让CPU内核直接跟外部I/O相连,集成内存控制器技术,使得每个内核都有自己的高速缓存可资遣用,都有自己的专用车道直通I/O,没有资源争抢的问题。

双(多)芯:仅仅将两(或多个)完整的CPU封装在一起,连接到同一个前端总线上。由于总线的限制,两个核心必然会产生总线争抢,影响性能,而且这样的核心越多,越容易加剧处理器争用前端总线带宽,成为提升系统性能的瓶颈,这是CPU架构引发的先天故障,因此这种双(多)芯实际上是“假多核”。双芯有些像是北京郊区开发的大型社区一样,多个社区利用同一条城市快速路,人们出行(数据处理)肯定要遇到堵车的问题。双核则是为不同小区开发专用车道,每个小区出行并不交叉(数据可以并行处理),并不会发生堵车现象。

HT技术(即超线程技术):HT技术是在处理器实现2个逻辑处理器(注意不是物理处理器),是充分利用处理器资源,类似虚拟CPU,让系统误认为是双核处理器。而双核心处理器是集成2个物理核心,是实际意义上的双核心处理器。举个形象例子来说,前者好像是一个能用双手同时炒菜的厨师,但一次只能把一碟菜放到桌面;而双核心处理器好比2个厨师炒两个菜,并同时把两个菜送到桌面。

显卡对DirectX的支持程度影响可用的DirectCompute版本:

Sandy
Bridge图形核心的目标在于,将较高的3D图形性能和面向通用计算功能,以及有效进行媒体处理组合为一体。具体来说,(1)固定在处理器上的功能单元组合保证了3D图形的有效实现,(2)补充面向通用计算和媒体处理的指令和功能,(3)
由此强化媒体处理的固定功能单元。这些的改进将从新一代Sandy Bridge开始。

5.多任务与多线程

多任务是指系统可以同时执行多个任务,比如你可以一边下载、一边听歌,Windows可以很好支持多任务的运行,这和多核CPU并没有多大关系。多线程则是指系统可以针对某项操作,调用多个CPU进行并行处理。比如支持多线程的PS,在批处理多个操作(如滤镜、抠图)时,系统就会调用多路CPU并行处理这些操作以提高操作效率。

 
异构计算近年来得到更多关注,主要是因为通过提升CPU时钟频率和内核数量而提高计算能力的传统方式遇到了散热和能耗瓶颈而与此同时,GPU等专用计算单元虽然工作频率较低,具有更多的内核数和并行计算能力,总体性能-芯片面积比和性能-功耗比都很高,却远远没有得到充分利用

3.多核不仅是CPU

为了充分发挥CPU功效和减少用户支出,现在越来越多CPU集成GPU功能,比如Intel就在Sandy
Bridge把GPU核心整合进了CPU当中,其GPU核心的图形核心性能大幅度的提升。

多核化是无奈之举:以前,半导体工艺的发展可以带来“一举三得”的效果,包括提高晶体管速度、降低功耗和缩小芯片面积。但是,当制造工艺发展到90nm或65nm时,泄漏电流的问题凸显,沿用以往的内部架构来提高频率的方法难以奏效。为了在不提高工作频率的条件下实现性能的提升,只能增加CPU内核的数量。

在有许多客户机要求进行并行处理的服务器中,多核架构容易获得比较好的效果。但是,问题发生在根据用户的要求运行应用软件的客户机里。由于可能同时运行的软件数量有限,即使可以将各个软件分割以后并行执行,但软件中必须串行执行的部分仍然会妨碍处理性能的提升。许多相关人士认为,在目前这种架构的PC中,4~8个内核可能是多核处理器能够获得较好性能提升效果的极限。

集成多个不同类型的内核:另一方面,提供新体验的高级用户接口、动态及静态图像分析等新的应用软件的不断出现,对处理器的处理性能提出了更高的要求。如果处理器仅在目前以CPU内核为主的架构上继续发展,这些新应用可能将无法实现。

2007年9月,英特尔公司董事会名誉主席Gordon
Moore在英特尔秋季技术峰会上表示:“众所周知,摩尔定律在物理上是有极限的。大约10年或15年以后,摩尔定律将会遇到根本性障碍,而退出历史舞台。”反过来说,Moore认为,半导体工艺的发展很可能还会像以前那样再延续10年左右。在把工艺发展当作技术推动力的同时,为了越过横亘在多核架构前面的壁垒,处理器应该采用什么样的内部架构呢?

业界想到的方案是采用异构处理器架构,即将不同类型的内核集成在一起。在这种架构中,CPU内核所不擅长的浮点运算及信号处理工作,将由集成在同一块芯片上的其它可编程内核执行。相关人士认为,集成多个不同类型内核的异构多核架构将成为今后处理器的主流架构。
从同构到异构通用处理器将实现SoC化:Nvidia公司的总裁兼CEO指出:“目前,图形芯片具有的浮点运算性能已经大大超越了处理器。如果能够灵活运用,随着图形芯片的发展,将会涌现出各种各样新的应用。”在占据PC及服务器主流地位的x86处理器中,围绕GPU(图形处理单元)展开的相关研发工作突然活跃起来。

GPU的集成和通用化取得进展:围绕GPU的研发方向主要有两个。首先,是将GPU内核集成到处理器芯片上。AMD公司在2006年7月收购了加拿大的GPU生产商ATI科技公司,并提出了将ATI公司的GPU内核集成到处理器上的Fusion处理器方案。另外,英特尔公司在2007年4月明确表示,正在开发矢量处理器Larrabee(开发代号),其中集成了许多专用于浮点运算的CPU内核。

另一个研发方向是,利用GPU擅长对浮点运算进行并行处理的特点,将其用作矢量处理器。这就是面向通用计算领域的GPGPU(General
Purpose Computing on
GPU),NVIDIA公司从2006年下半年已陆续推出相关的硬件产品及软件开发工具(见图1)。

赛灵思推了一款新器件的时候,估计英特尔老大科再奇惊得要从椅子上掉下来了。

这个新器件是啥?这就是赛灵思今年在大年初五发布的基于16nm FinFET
3D晶体管的FPGA新品—Zynq UltraScale MPSoC

看看它的内部结构:

  • 1、 四核A53处理器 CPU
  • 2、 一个GPU Mali-400MP
  • 3、 一个Cortex-R5 CPU
  • 4、 电源管理单元,AMS单元
  • 5、 H.265(HEVC)视频编解码器
  • 6、 安全模块
  • 7、 UltraScale FPGA 单元;

这其实就是一款异构处理器,如前所述,它是一款ASIC就级的异构处理器!而且是64位,采用16nm
FinFET工艺的处理器!而且是采用FPGA实现硬加速的处理器!

Intel收购Altera,说明Intel坐不住了。一场大戏即将开幕。拭目以待。

 
而我们再反观GPU,其结构要简单的多。GPU的任务是加速3D像素的计算因此我们在显卡中可以看到数以百计的流处理器单元或者是CUDA核心。而在整个计算过程中,GPU承担的逻辑计算任务非常小同时它有着更宽的显存带宽,有着更高速的显存。所以在GPU芯片中,也就无需更大容量的片上缓存机制。

计算的发展历程:从32bit到异构计算(下)

 
2003年出现了x86-64,有时会简称为“x64”
,是64位微处理器架构及其相应指令集的一种,也是Intel
x86架构的延伸产品“x86-64”1999由AMD设计,AMD首次公开64位集以扩充给IA-32,称为x86-64(后来改名为AMD64)其后也为英特尔所采用,现时英特尔称之为“Intel
64”,在之前曾使用过Clackamas Technology
(CT)IA-32e及EM64T。外界多使用”x86-64″或”x64″去称呼此64位架构,从而保持中立,不偏袒任何厂商

 
在整个芯片接近50%的面积上,是GPU的部分一颗处理芯片同时包含了CPU和GPU的部分,这可以说是非常典型的异构计算架构。同时,在芯片的两边我们也可以看到高度集成的4个PCIe总线控制器,还有一个128bit位宽的DDR3内存控制器

PPU (Physics Processing Unit)

图片 9

  虽然我们也认为Sandy
Bridge在集成GPU性能方面是不错的入门选择,但是至少在2011年,Llano桌面APU仍然是懂行玩家最该做出的选择值得注意的在这些测试里,测试方随后还为Core
i5 2500K
GPU安装了最新的2372驱动程序,结果证明大部分的结果仍然没有改变,不过在少数领域英特尔发掘出了更多的潜力无论如何,在GPU测试里,AMD的Llano桌面APU
A8-3850发挥出了令人印象深刻的性能。

异构计算要求CPU和GPU协同运算

计算的发展历程:从32bit到异构计算(上)

 
“天河一号”耗资6亿元,连接了上万个美国英特尔和Nvidia公司制造的CPU和GPU,属异构混合架构在过去一年里,天河一号进行了大升级,目前的配置是14336颗英特尔六核至强X5670
2.93GHz CPU和7168颗Nvidia Tesla M2050
GPU和2048颗自主研发的八核飞腾FT-1000
CPU处理内核数突破20万颗,是去年24576颗的8.25倍

 
PhysX设计用途是利用具备数百个内核的强大处理器来进行硬件加速加上GPU超强的并行处理能力,PhysX将使物理加速处理能力呈指数倍增长并将您的游戏体验提升至一个全新的水平,在游戏中呈现丰富多彩身临其境的物理学游戏环境。

双剑岂可合璧:什么是异构计算?

 
相比OpenGL丰富的功能和体系化的SDK来说,DirectCompute仅仅是以一个简单的API存于世上,显然不能赢得更多厂商的关注由此微软又酝酿了C++
AMP……且看下文分解。

图片 10

 
通过上文的分析,我们可以看到CPU的在处理时,适合作所有工作,各个方面都比较平均逻辑处理能力要比GPU快,但是对于数学计算方面,其速度不如具有海量处理核心的GPU快。而GPU方面,数学计算性能强大,大规模并行处理机制强大,但是逻辑处理能力不足,仅仅能在某些计算领域应用

图片 11

CUDA:在夹缝中挣扎求存

图片 12

异构计算(Heterogeneous
computing)
主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式常见的计算单元类别包括CPU、GPU等协处理器、DSP、ASICFPGA等。

NVIDIA PhysX

C++ AMP:微软发布异构计算编程语言

迥异:不同计算架构的特点

OpenMP:同构计算最为普及的标准

  而微软的C++
AMP会与Windows紧密贴合起来。虽然也属于开放性的标准,但是微软对其未来方向的掌控,其执行应该更有效力OpenCL有多家主力厂商支持,技术纷争不断,为了自家产品的利益难免在新版本制定方面出现歧路。现在的局面就有点类似曾经OpenGL对决DirectX的时代,不知道这次微软是否还能够全面胜出

 
星云超级计算机采用自主设计的HPP体系结构,处理器是32nm工艺的六核至强X5650,并且采用了Nvidia
Tesla C2050
GPU做协处理,由4640个计算单元组成它采用了高效异构协同计算技术,系统包括了9280颗通用CPU和4640颗专用GPGPU组成。计算网络采用了单向40Gbps
QDR Infiniband技术,核心存储采用了自主设计的Parastor高速I/O系统

相对于串行计算,并行计算可以划分成时间并行和空间并行时间并行即流水线技术,空间并行使用多个处理器执行并发计算,当前研究的主要是空间的并行问题。以程序和算法设计人员的角度看,并行计算又可分为数据并行和任务并行数据并行把大的任务化解成若干个相同的子任务,处理起来比任务并行简单。

 
对于异构计算来说,更重要的软件虽然现在我们看到许多计算机中都应用了GPGPU的通用计算,使用显卡来进行大规模的并行计算任务,但是在这个过程中,处理器就被闲置了例如许多转码程序在运行的时候,仅仅是显卡在跑,而处理器并未参与到转码加速中来将异构的运算部件,全部有效的调用起来,这是一件困难的编程工作。

图片 13

 
刚体的模拟数量达到了40960个的时候,就需要极大的计算量才能保证稳定输出30fps的帧率下面这张图,你可以看到在联合了两台台式机之后,计算量接近1TFlops。

加入更多刚体粒子,模拟20160个

微软的“异构并行计算”

OpenCL最初苹果公司开发,拥有其商标权,并在与AMD,IBM,英特尔和nVIDIA技术团队的合作之下初步完善随后,苹果将这一草案提交至Khronos
Group。2010年6月14日,OpenCL 1.1 发布

图片 14

FireStream:慢慢淡出我们的视野

图片 15

 
此后处理器制造厂商发现,利用多核心架构可以在不提升处理器频率的情况下,继续不断提升处理器的效能

新的计算架构需要全新的软件标准

图片 16

AMD开始全面支持异构计算

 
对于GPGPU表现出的惊人计算能力叫人为之折服,但是在显卡进行计算的同时,处理器处于闲置状态由此处理器厂商也想参与到计算中来,他们希望CPU和GPU能够协同运算,完成那些对计算量有着苛刻要求的应用同时也希望将计算机的处理能力再推上一个新的高峰

Llano:融聚今宵 真正的异构计算平台

图片 17

CPU与GPU核心,联合运算,可以提供60GFlops的运算量

图片 18

从自然哲学层面上来讲:任何最为复杂的事情,都可以被拆分成若干个小问题去解决**这就是当今并行计算的哲学理论依据。然而在当今的双路、**四路、八路甚至多路处理器系统中,并行计算的概念早已得到广泛应用。目前业界最为普及的并行计算规范就是OpenMP。

图片 19