小民 新闻

超实用的研究报告:摩尔定律,异构计算和Open

返回>来源:网络中心   发布时间:2019-02-08 17:26    关注度:

关于摩尔定律
摩尔定律于1965年提出晶体管密度每年翻倍,而且这种趋势是相同的。每代芯片的时钟频率增加50%,但工艺节点为零
3.功率密度将加倍(如果功耗相同,则面积为0)。
7 * 0
7 = 0
49,频率增加提高性能),自2000年中期以来,有些器件的物理尺寸较小,这意味着随着我们增加,无法保持功率密度不变从那以后,时钟频率没有那么大提高,并且通过并行处理提高性能是必要的,因此多核CPU很受欢迎。
即使使用最基本的处理器,高级架构(如超标量指令)和无序指令的执行也是基本配置,软件和其他开发工具也用于开发同构分布式系统。
异构计算
简单地并行改进程序执行性能的需求是不够的。不同的应用程序表现不同。
(1)具有许多控制代码的程序,例如搜索和分析,适合在超标量CPU上执行并支持分支预测机制。
(2)需要大量数据处理(如图像处理)的程序适用于矢量体系结构(通常是GPU,DSP)中的高速计算。
(3)某些应用需要大量的计算,这对于FPGA / ASIC等应用优化硬件来说是最佳的。
因此,并非所有设备都可以通过硬件架构实现。利用各种组件(如CPU / GPU / DSP / FPGA)的最强大系统适用于各种硬件。这是一种异构计算。
除了将代码传递给编译器以编写和执行代码之外,程序员还需要了解执行硬件。在异构环境中很难开发。
传统的异构开发人员为CPU和DSP创建顺序执行软件,通常是C代码,创建硬件语言作为FPGA的verilog和VHDL的基础,并执行细粒度并行处理和向量函数交付。
这种发展往往效率不高。
目前,GPU的开发具有与CUDA一样好的编程接口。这提供了GPU数据并行的全部优势,但仅适用于NVIDIA GPU。
因此,需要用于执行多平台并行编程任务的标准异构编程模型。
OpenCL可以执行这些任务,并以相同的编程语言实现异构编程平台。
本文重点介绍在CPU + FPGA的异构编程环境中使用OpenCL。这是因为我相信随着FPGA的发展,这将成为一种趋势。
但是,实际上,opencl是跨平台的,因此其他硬件环境也是类似的。
OpenCL的第一印象
(下图来自[2]。)OpenCL(Op?? ?? en Computing Language)是一个为异构平台编写程序的框架。该异构平台可以包括CPU,GPU或其他类型的处理器。
OpenCL提供基于任务分段和数据分段的并行计算机系统。
OpenCL应用程序有两个部分(主机和内核)。
主要的OpenCL程序是一个用C / C ++标准编写的纯软件程序,可以在任何类型的微处理器上运行。
例如,这种处理器可以是FPGA内的嵌入式软核处理器,硬核ARM处理器或外部x86处理器。
如图所示
在执行该主要软件例程期间的某个时刻,该功能可能需要大量计算,这可以利用并行设备(如CPU,GPU,FPGA等)的并行并行加速。
加速的功能称为OpenCL内核。
这些内核使用C标准(C99)编写。

上一篇:vt.vi.v中英语单词的一部分 下一篇:巧克力在人体中有哪些优点和缺点?