免费论文查重: 大雅 万方 维普 turnitin paperpass

简谈图像Laplace变换在异构多核工程科学计算加速协处理器上实现

最后更新时间:2024-02-05 作者:用户投稿原创标记本站原创 点赞:7293 浏览:19370
论文导读:核读取指令并进行初步译码,识别该指令是在制约内核处理器核中执行的(如同步指令、Load/Store指令、跳转指令、制约内核级1234下一页
摘 要:
基于自主研发的新颖异构多核工程科学计算加速协处理器(ESCA)体系结构,实现了图像Laplace变换算法。针对ESCA架构特点,采用子字并行计算和访存延迟隐藏等机制,进行了一系列并行算法优化,并在四核ESCA处理器原型上对图像Laplace变换算法的进行了性能评测。实验结果表明,对于计算密集型计算任务,ESCA处理器具有良好的计算加速效果。
关键词:异构多核;协处理器;计算密集型;Laplace变换;并行计算
:A
Implementation of Laplace tranorm on heterogeneous multi-core
engineering and scientific computation accelerator coprocessor
Abstract:
Engineering and Scientific Computation Accelerator (ESCA) is a heterogeneous multi-core ar图像Laplace变换在异构多核工程科学计算加速协处理器上的实现论文资料由论文网www.7ctime.com提供,转载请保留地址.chitecture to accelerate computation-intensive parallel computing in scientific and engineering applications. This paper described an implementation of Laplace tranorm on the hybrid system based on ESCA coprocessor, and the performance of Laplace tranorm on the quad-core prototype ESCA was exploited. The experimental results show that the ESCA can accelerate program of compute-intensive applications fairly well.
Key words:
heterogeneous multicore; coprocessor; compute-intensive; Laplace tranorm; parallel computing
0 引言
高性能计算(High Performance Computing, HPC)广泛应用于金融、制药、交通、银行、证券、医疗、教育以及科学计算及信息化服务等领域[1],已成为衡量一个国家核心竞争力的关键指标。近年来受应用需求和系统实现技术的驱动,高性能计算机的核心评价指标已经从高性能计算转向高效能计算[2],即每瓦特能耗下所能实现的性能(Performance-per-Watt,Flops/W)。“主处理器+协处理器”的混合计算体系结构[3-4]以其独特的效能优势[5],已经成为高性能计算机系统体系结构研究的主要趋势之一。同时,片上多核处理器作为摩尔定律的一种新的延续形式,已经成为处理器性能持续增长的必定途径[6]。对此,文献[7-8]面向科学计算、数字信号处理和多媒体处理等科学与工程计算应用领域,提出了一种自主研发的异构多核处理器——工程科学计算加速协处理器(Engineering and Scientific Computation Accelerator,ESCA)体系结构。
ESCA处理器是一个具有强大计算性能的协处理器,采用经典存储器接口方式,与商用主流的通用微处理器(如Intel CPU、IBM Power PC等)或嵌入式微处理器(如ARM、 SPARC等)有效协同,实现基于混合计算体系结构的高性能计算机系统。其中,主处理器上运转操作系统,主要负责执行系统任务和制约任务(如响应中断、操作外设等),并根据应用特点将并行计算任务分配到协处理器计算节点上;ESCA处理器负责对具体的计算任务进行加速。这种“主处理器加协处理器”的混合异构多核架构可以提供强大的计算能力,广泛应用于计算密集型的科学与工程计算应用领域[9]。
图像信息处理是一种典型的计算密集型应用,而Laplace变换在图像处理中的应用非常广泛。本文深入分析了ESCA体系结构的特点,基于ESCA架构实现了图像Laplace变换算法,并进行了一系列并行算法优化。实验结果表明,对于计算密集型计算任务,ESCA处理器具有良好的计算加速效果。
1 ESCA体系结构
ESCA处理器主要包括计算阵列、制约内核、指令高速缓存、总线接口单元以及直接存储访问引擎几大部分,体系架构如图1 所示。其中,计算阵列集成多个计算内核(Processing Element,PE),以单指令多数据流(Single Instruction Multiple Data, SIMD)模式并行执行以提供高计算能力;制约内核负责ESCA处理器与外部的通信,同时取指令发送给PE计算阵列进行运算操作,制约程序的正确执行并收集程序执行过程中的各种状态(异常、中断等)。指令高速缓存用于存储近期可能用到的ESCA计算任务程序,为制约内核提供快速的取指响应。总线接口单元则主要用于进行片内外数据通信,匹配外部Local Bus接口时序和Local Memory接口时序,制约数据通路,根据不同的位宽比例进行数据拆包和打包工作,并且产生相应的制约信号。
制约内核是ESCA处理器的制约中枢,它包含多个制约状态寄存器。这些制约状态寄存器参与全局编址,可供Host访问和查询。而ESCA处理器芯片根据这些制约状态寄存器的设置执行相关操作,如指令高速缓存的预取、计算任务的开始执行、调试模式、DMA传输配置等。此外,制约内核读取指令并进行初步译码,识别该指令是在制约内核处理器核中执行的(如同步指令、Load/Store指令、跳转指令、制约内核级论文导读:
别的简单计算和比较指令等)还是要传递给计算阵列进行的(如用于运算加速的计算指令、网络传输指令等)。计算阵列则是进行并行计算,它支持向量模式及子字并行,同时在计算阵列实现了条件执行和条件中断,以及间接寻址等功能。PE之间的互联网络采用层次化方式构建,具有很高的可扩展性和灵活性。2 图像Laplace变换算法在ESCA上的实现

2.1 图像Laplace变换基本原理

拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数的拉普拉斯变换是各向同性的二阶导数,定义为:
另外,拉普拉斯算子还可以表示成模板的形式,如图2所示。从模板形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮。因为图像中的边缘就是那些灰度发生跳变的区域,所以拉普拉斯锐化模板在边缘检测中很有用。

2.2 Laplace变换算法在ESCA上的实现

2.1 任务划分

由于ESCA系统是以“主处理器加协处理器” [10]的混合计算模型执行的,主处理器(商用CPU)在处理数据相关性不大的计算类和复杂繁琐的非计算类具有优势,而协处理器(ESCA处理器芯片)则适合用来处理计算性强但逻辑性不强的大量平行数据。所以需要进行合理的任务划分,使二者协同工作,共同完成计算任务图像Laplace变换在异构多核工程科学计算加速协处理器上的实现相关论文由www.7ctime.com收集,如需论文.,能充分利用各自的架构优势,发挥出强大的计算能力。
ESCA系统中主处理器(Host)与协处理器(ESCA芯片)之间按照offload mode协同完成具体应用:Host端先对原始数据进行预处理,然后创建初始化ESCA处理器芯片线程空间,将相关指令和数据从系统主存下载到ESCA芯片的片外存储器中,之后再启动ESCA芯片执行;ESCA芯片接收到启动制约信号后,由制约核制约内核从初始地址开始取指运转,配置计算阵列对待处理数据的DMA加载过程。当一次批量运算所需的数据都从片外存储器通过DMA方式载入到计算阵列的局部存储器之后,所有PE在SIMD模式下执行并行计算。当计算阵列完成该次计算任务后,由制约内核配置计算阵列的结果数据到片外存储器的DMA下载过程。当ESCA芯片的所有计算任务完成后,制约内核将操作完成的制约信号写入特定状态寄存器,Host查询到该状态,将ESC外存储器的结果数据读回,通过相应处理得到最终结果。ESCA系统执行图像Laplace算法的具体程序流程如图3所示。

2.2 分块存储

从式(3)可知,在对图片进行Laplace变换时,每计算一个像素点都会用到原始像素矩阵的3×3的小矩阵,而BMP格式图片的像素点在存储器中是按行存储的,所以在计算时,需要多次访问局部存储器。因此需要将图片像素进行分块存储,使每一块的数据大小为ESCA计算阵列所能处理的大小,就能减少ESCA计算阵列对局部存储器的访问次数,提高访问效率。
ESCA的一个处理单元有16×16个寄存器,在子字并行(Subword)技术[11]下,一个寄存器可以存放4个像素值,除去用作临时变量的16个寄存器,ESCA处理单元一次能批量处理64×15个像素点,在ESCA计算阵列规模为2×2的情况下,ESCA计算阵列一次能批量处理64×60个像素点。因此可以在Host端先对二维BMP图片进行分块,每块大小为64×60个像素点,以块为单位部署到ESCA的局部存储器中。计算时,每次传递一块数据到计算阵列,经计算阵列计算后,结果数据再以块为单位放回到ESCA局部存储器中。最后,由Host端将ESCA局部存储器中的结果数据矩阵还原成Bmp图片。
考虑到边界元素的影响,原始数据块之间会有部分数据重叠,每个数据块包含的实际像素点为56×52个,这也即结果数据块的大小。所以对于尺寸为W×H的Bmp图片,分块后个数为N,则:

2.3 分块计算

在对图像数据完成分块处理后,由ESCA计算阵列对分块数据批量完成Laplace变换。计算阵列是ESCA的计算核心,由多个处理单元组成,构成了一种片上轻量级集群结构,通过片上互联网络进行有效互连,在制约内核的制约下以SIMD方式实现高效并行计算。为了方便管理和制约,处理单元以方阵形式组织,根据应用需求,可以从2×2的规模,方便的扩展到4×4,甚至16×16的规模。
在本文中,计算阵列由2×2共4个处理单元组成。将分块数据的64×60个像素点的块数据按列分成4个64×15个像素的小块,再分配到计算阵列的4个处理单元中去。由于相邻处理单元数据不存在数据相关性,所以4个处理单元可以完全的高速并行进行计算。除去边界元素,每个处理单元一次批量计算出来的像素点为56×13个,计算阵列一次批量计算出来的总的像素点为56×52个。

2.3 性能优化

2.3.1 子字并行机制

为了对性能进行进一步优化,除了在计算阵列的多个处理单元能实现SIMD并行外,还可以在处理单元内通过子字并行(Subword)机制实现SIMD并行。所谓子字并行,是将多个短数据(即子字)打包并封装到一个寄存器中,利用数据并行操作对一个寄存器中的所有子字进行并行处理,是一种低功耗、小规模的SIMD并行。
对于图像Laplace变换这项具体应用,ESCA处理单元的寄存器是64位,而8位BMP图片的1个像素点为8位,考虑到计算的中间结果可能超过8位,故用16位来存储,ESCA的1个寄存器可以存储4个像素点。利用子字并行机制,1条指令能同时对1个寄存器内的4个像素点的数据进行并行处理。
在Host端图片像素是顺序存储的,如图4所示,相邻的点并不在相邻寄存器的对应位置。
为了减轻Host端数据处理的负担,尽量保持数据的原始性,由ESCA的计算阵列通过多媒体数据重排指令来完成这一过程。对于进入ESCA计算阵列的原始数据,通过数据重排由图4到图5;对于ESCA计算阵列计算出来的结果数据,则通过数据重排由图5到图4。
2论文导读:
.

3.2 访存延迟隐藏

为了解决存储带宽对ESCA系统性能提升的制约,还可以通过减少访存开销来提高系统性能[12]。通过计算阵列局部存储器实现的双缓冲(dual-buffer)机制,在计算阵列的一块Local Storage进行计算的同时,往另一块Local Storage里灌数据,两块存储器交替进行计算,可以最大限度地隐藏访存延迟,提高效能,具体实现方式如图6所示。在这个过程中,由于片内外数据传输以流水方式通过DMA制约器进行,在进行大批量数据传输之前,需要先通过
DMA 通道命令进行传输参数配置,并触发DMA制约器通过正确的DMA队列向总线接口发起链路请求,进而向片外存储器制约器发起连续的读写请求。数据传输延迟时间(以时钟周期为单位)的估算公式为:
DMA数据传输时间=DMA命令配置开销+
DMA制约器队列响应及仲裁开销+
DMA传输过程主要包括计算阵列对片上存储器原始数据的读取和将计算阵列结果数据写入片上存储器。通过前面的讨论可知,原始数据的一次批量读取为64×60个像素点,结果数据的一次批量写入为56×52个像素点,其中1个像素点占16位,代入式(5)可以计算得到如表2所示结果。
3 性能评测
本文采用UMC 0.18μm 1P6M CMOS工艺实现了1个片上集成4个计算内核的ESCA处理器原型芯片,其指令宽度128b,目标工作频率250MHz,单精度浮点性能4 GFlops,片上网络带宽8GB/s,存储器采用256-bit的eDRAM。选择的主处理器测试平台为Inter Core2 Duo CPU 9400,工作主频为2.53GHz,1.99GB内存。测试中,分别基于“Intel处理器+四核ESCA芯片”以及独立的Intel CPU处理器2个平台对不同尺寸的8位256色BMP图片执行Laplace变换。其中,前者Intel处理器只执行简单的任务分配,计算加速任务完全由ESCA芯片执行。由于ESCA芯片通过计算阵列片上存储器实现的dual-buffer机制实现了访存延迟隐藏,实际程序运转时间计算公式为:
相比2.5GHz的Intel CPU,工作频率为250MHz 的ESCA芯片通过采用4个计算内核同时执行子字并行计算,并且有效隐藏数据访存传输延迟,可以获得1.10~1.16倍的性能加速比。由于ESCA芯片工作频率远低于Intel CPU,因此体现了ESCA处理器良好的计算加速效果。评测中也发现,图片尺寸ESCA系统加速性能有直接影响。由于ESCA芯片计算阵列一次批量处理的像素点为56×52个,假设图片尺寸为M×N,那么M和N分别为56和52的整数倍时,ESCA的计算整列每次批量运算都为满载运算,计算效率最高。当增加ESCA芯片个数或者计算阵列规模时,计算时间会相应减少,但访存时间会成为制约系统性能提升的瓶颈。
4 结语
ESCA处理器是一款自主研发的新颖异构多核处理器工程科学计算加速协处理器,片上集成多个计算内核工作在SIMD模式,具有高的计算性能,内核之间通过高效的片上网络进行通信,具有高的网络通信带宽,可以针对计算密集型应用进行有效计算加速。本文基于该“主处理器+ESCA协处理器”系统实现了图像Laplace变化算法,进行了一系列并行算法优化,并在四核ESCA处理器原型芯片上进行性能评测。实验结果表明,对于计算密集型计算任务,ESCA处理器具有良好的计算加速效果。如何解决访存时间对系统性能提升的制约理由,将是我们后续研究的重点。
参考文献:
[1] BELL G, GRAY J. Whats next in high-performance computing?[J].Communications of the ACM,2002, 45(2): 91-95.
[2] HOFSTEE H P. Power efficient processor architecture and the cell processor[C]// Proceedings of the 11th International Symposium on High-Performance Computer Architecture. Washington, DC: IEEE Computer Society, 2005:258-262.
[3] BARKER K J, DIS K, HOISIE A, et al. Entering the petaflop era: the architect图像Laplace变换在异构多核工程科学计算加速协处理器上的实现由优秀论文网站www.7ctime.com提供,助您写好论文.ure and performance of Roadrunner [C]// Proceedings of the 2008 ACM/IEEE Conference on Supercomputing. Piscataway: IEEE, 2008:23-33.
[4] KOCH K. Roadrunner and hybrid computing[EB/OL].[2013-02-20].http://.cn/soft/ACRD4CHS.EXE">PDF浏览器用户请先下载安装[8] WU D, ZOU X, DAI K, et al. Implementation and evaluatio图像Laplace变换在异构多核工程科学计算加速协处理器上的实现由提供海量免费论文范文的www.7ctime.com,希望对您的论文写作有帮助.n of parallel FFT on ESCA architecture[J]. Journal of Zhejiang University: Science C (Computer and Electronics), 2011, 12(12): 976-989.
[9] CHEN P, DAI K, WU D, et al.论文导读:omputerEngineering,2011,37(22):24-28.(饶金理,吴丹,陈攀,等.基于ESCA系统的层次化显式访存机制研究.计算机工程,2011,37(22):24-28.)上一页1234
The parallel algorithm implementation of matrix multiplication based on ESCA[C]// Proceedings of the IEEE Asia Pacific Conference on Circuits and Systems. Piscataway: IEEE, 2010: 1091-1094.
[10] ANDRE R B, CHRISTOPHER D, TROND R H, et al. State-of-the-art in heterogeneous computing[J]. Scientific Programming, 2010, 18(1): 1-33.
[11] DONG M, WU D, RAO J, et al. Design and implementation of high performance subword-parallel arithmetic units[J]. Computer Engineering,2012,38(16):249-252.(董冕,吴丹,饶金理,等.高性能子字并行运算单元的设计与实现[J].计算机工程,2012,38(16):249-252.)
[12] RAO J, WU D,CHEN P, et al. Research on hierarchical explicit memory access mechani based on ESCA system[J]. Computer Engineering,2011,37(22):24-28.(饶金理,吴丹,陈攀,等.基于 ESCA 系统的层次化显式访存机制研究[J].计算机工程,2011,37(22):24-28.)