异构计算

[复制链接]
发表于 : 2019-9-19 16:16:53 最新回复:2019-11-13 17:43:00
555 4
岁月葱葱
岁月葱葱  导师

什么是异构计算

lHeterogeneous computing

prefers to systems that use more than one kind of processor.

l异构计算已经无处不在,从超算到桌面到云到终端。

p天河-216,000个计算节点,每个节点 2*Xeon (IveBridge)+3*Phi Total 3,120,000 cores. Linpack : 33.86 petaFLOPS Power 17.6 megawatts。编程框架:OpenMC/OpeMP

pMac Pro: Intel Xeon E5 (6/8/2 cores) + Dual AMD FirePro D500 GPU (1526 stream processors, 2.2 teraflops, 3-way 4k video)。编程框架:***OpenCLMetal $3,999

pAmazon Linux GPU Instances g2.8xlarge: 4 GPU (each with 1,536 CUDA cores and 4 GB of video memory and the ability to 4* 1080p@30fps), 32 vCPU 。编程框架:CUDAOpenCL

p Qualcomm Snapdragon 820 octa-core CPU+ Adreno 530 GPU+ Hexagon 680 DSP,编程框架:MAREOpenCL

l异构计算不但是硬件平台,必须包含编程框架。

 

 

 

为什么要用异构计算

l性能、性价比、功耗、面积。

pNvidia Telsa K80: 2* Kepler GK210, 4922 cores, DF 2.91 Tflops, SF 8.74Tflops, TDP 300W, $5000. 轻核

pIntel E5-2697V2 (Haswell)12 cores/24 threads, 600Gflops, TDP 130 W, ~$3000. 重核

l你已经默默拥有了异构计算平台,不要浪费。

l熟悉的例子

pGoogle Brain1,000 servers (16,000 CPU cores) simulating a model of the brain with a billion synapses

pNvidiathree GPU-accelerated servers: 12 GPUs in total, 18,432 CUDA processor cores (Google Brain has around 16,000 cores). The Nvidia solution uses 100 times less energy, and a 100 times less cost.

pCaffe是一个广泛应用的深度学习框架,其代码支持x86 (C++)Nvidia (CUDA)

l但仍然心存困惑:哪些场景用,软件怎么用(语言、编程模型)。

pScale-out vs. Scale-up,足够的数据级并行,计算密集?

 

CPU: 12 cores, E5-2697v2 @ 2.70GHz. 64GB System Memory, CentOS 6.2.

GPU: Single Tesla K80, Boost enabled or Single Tesla K40, Boost Enabled

CPU/GPU各有所长(FPGA TPU DSP)

161624k7j7y5i9t5yiyqe9.png

 

 

异构计算:编程框架的挑战

l要懂算法、懂硬件、有并行思维

l异构形态多样性给编程带来挑战。很麻烦,受束缚。

lFPGA

pVerilogVHDL开发。AlteraXilinx都提供C/OpenCL->FPGA的编译工具。

lGPU

pIntelOpenCLMedia SDK(视频处理)。

pAMDOpenCL。 (AppleMetal Programming Model

pNvidiaCUDAOpenACCOpenCL支持弱。

lIntel QAT Card QAT API

l理解为什么OpenCL之外还有很多编程框架?

 

 

异构并行计算框架是充分发挥异构硬件性能和屏蔽硬件差异的关键,但目前业界不存在一个统一标准。

标准组织:OpenCL是业界主流公司推动的异构并行计算编程标准。OpenCL属于性能层,业界很多产能层框架对接OpenCL

IntelARM,高通的异构硬件均支持OpenCL软件设计。

Intel Xeon+FPGA异构芯片支持OpenCL

 

私有架构:Nvidia CUDAApple Metal是针对各自异构硬件设计的计算框架,是封闭系统,但都有广泛的开发者支持。

CUDAOpenCL在设计理念上非常详尽,但Nvidia GPU性能业界最强,有能力通过CUDA绑定用户。比如深度学习上Nvidia GPU效果最好,开发者只能选择CUDA

融合架构:

 

异构硬件的一个趋势是SOC上集成多种异构硬件。比如高通820芯片集成了ARM64+GPU+DSP等多种形态。

但传统的计算框架只针对一种硬件设计,无法支持多形态。

高通设计了Symphony异构并行计算框架来发挥多形态异构硬件性能,同时适应未来芯片的演进。

 

 

OpenCL:异构编程的主流,得到各大厂家的大力支持,可屏蔽异构硬件与OS差异,简化异构核编程复杂度

OpenCL由苹果提出,得到业界大多数厂商的支持:NvidiaAppleAMDARMINTELTI等等,支撑GPGPUDSPFPGA等通用硬件加速器。

优势:OpenCL是针对GPGPU大规模数据并行的特性所开发的底层编程框架,屏蔽各厂商GPU之间的差异,与芯片设计协同演进;C语言的扩展。

不足:性能的可移植性不足。

161625mkkxf9kvj898ik6k.png

 

OpenCL性能不可迁移。

OpenCL编程模型中隐含了很多的硬件特征,比如并行粒度、内存模型、存储层次、资源粒度、内存带宽和延迟ISA差异等,这导致不同的加速器上的OpenCL代码都要重新思考上述特征。

 

随着FPGA的广泛使用,成本逐步降低,作为软件定义实现快速在线指令优化,对整个编译器、运行框架、OS产生巨大影响

Intel预测20201/3的计算节点采用FPGA

新架构对软件的挑战:

1)支持CPU+FPGA融合并行的计算框架,包括FPGA编译和高层语言设计。

2)大规模分布式FPGA资源管理与调度

3)高性能FPGA算法库

 

FPGA v.s. GPU/CPU

1.软件定义的硬件架构:GPU/CPU硬件固定,其并行性设计是适应固定硬件。而FPGA的硬件逻辑可以通过软件动态改变,从硬件的角度来适配软件,从而获得更高的计算性能。

2.更高并行性& 更高的能效比:FPGA拥有更丰富的计算资源组件,从而能够满足更多并行计算需求。并且能够充分发掘软件算法中的并行性,降低功耗。

 新架构融合CPU+FPGA的发展趋势:

1. 异构核首次作为一等公民:通过CPU+FPGA的融合设计,由主机+外设的Offloading模式转变为异构多核片上系统设计,CPUFPGA地位等同,通信方式由板级转向片内。

 2. OpenCL带来了FPGA的编程革命:提高了FPGA的可编程性,将程序员从复杂的硬件电路设计中解救出来,更专注于系统/算法的设计。

 

 

  • x
  • 常规:

点评 回复

跳转到指定楼层
岁月葱葱
岁月葱葱  导师 发表于 2019-9-19 16:36:26 已赞(0) 赞(0)

https://cloud.tencent.com/developer/article/1004747

https://cloud.tencent.com/developer/article/1004746

163623py1s1snsbcncn5ss.jpg

  • x
  • 常规:

点评 回复

岁月葱葱
岁月葱葱  导师 发表于 2019-10-17 18:50:33 已赞(0) 赞(0)

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

计算的发展历程:从单核、多核,到异构计算
2006年出现了多核处理器。是将两个或更多的独立处理器封装在一起的方案,通常在一个集成电路(IC)中。
2008年通用计算GPGPU。通用图形处理器(General-purpose computing on graphics processing units,简称GPGPU),是一种利用处理图形任务的图形处理器来计算原本由中央处理器处理的通用计算任务。这些通用计算常常与图形处理没有任何关系。由于现代图形处理器强大的并行处理能力和可编程流水线,令流处理器可以处理非图形数据。特别在面对单指令流多数据流(SIMD),且数据处理的运算量远大于数据调度和传输的需要时,通用图形处理器在性能上大大超越了传统的中央处理器应用程序。3D显示卡的性能从NVIDIA的GeForce256时代就颇受瞩目,时间到了2008年,显示卡的计算能力开始被用在实际的计算当中。并且其处理的速度也远远超越了传统的x86处理器。
2010年CPU+GPU异构计算。对于GPGPU表现出的惊人计算能力叫人为之折服,但是在显卡进行计算的同时,处理器处于闲置状态。由此处理器厂商也想参与到计算中来,他们希望CPU和GPU能够协同运算,完成那些对计算量有着苛刻要求的应用。同时也希望将计算机的处理能力再推上一个新的高峰。


FPGA能够实现流水线并行和数据并行,因此能同时做到高吞吐和低延时。另外由于FPGA有高速SERDES等丰富的接口,而且能灵活控制实现的粒度和操作数据,因此非常适合进行协议处理和数据格式的转换。
  • x
  • 常规:

点评 回复

岁月葱葱
岁月葱葱  导师 发表于 2019-11-13 17:14:45 已赞(0) 赞(0)

Taishan是基于华为自研鲲鹏CPU的数据中心服务器,服务器内部搭载自研算、存、传、管、智(昇腾310 NPU)芯片,实现服务器全自研和自主可控。

171424oxiuyxayl4xyslyl.png

 

2、三围:CPU核数、频率、工艺:Taishan最高64核(Intel 最高28核);Taishan核数最多时、最高频率2.6 GHzIntel核数最多时、最高频率2.5GHz);Taishan采用7nmIntel采用14nm

3、功耗:Taishan 鲲鹏CPU平均比Intel x8615-20%左右。

4SOC集成能力:CPU中集成10GE/100GE、加速Engine,压缩EngineGzip、加解密等协处理器),Intel需要外加网卡、南桥实现。

5SSD磁盘,华为自研,相比三星,Intel价格优惠15%-20%左右

6IN智能网卡:支持FC/IP工作模式,通过软件设置,降低客户采购成本

7、自主可控,安全可靠。

 

  • x
  • 常规:

点评 回复

岁月葱葱
岁月葱葱  导师 发表于 2019-11-13 17:43:00 已赞(0) 赞(0)

截图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
  • x
  • 常规:

点评 回复

发表回复
您需要登录后才可以回帖 登录 | 注册

警告 内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“隐私声明
如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!
登录参与交流分享

登录参与交流分享

登录