【24h】

OpenMDSP: Extending OpenMP to Program Multi-Core DSP

机译:OpenMDSP:扩展OpenMP以对多核DSP进行编程

获取原文
获取外文期刊封面目录资料

摘要

Multi-core Digital Signal Processors (DSP) are widely used in wireless telecommunication, core network transcoding, industrial control, and audio/video processing etc. Comparing with general purpose multi-processors, the multi-core DSPs normally have more complex memory hierarchy, such as on-chip core-local memory and non-cache-coherent shared memory. As a result, it is very challenging to write efficient multi-core DSP applications. The current approach to program multi-core DSPs is based on proprietary vendor SDKs, which only provides low-level, non-portable primitives. While it is acceptable to write coarse-grained task level parallel code with these SDKs, it is very tedious and error prone to write fine-grained data parallel code with them. We believe it is desired to have a high-level and portable parallel programming model for multi-core DSPs. In this paper, we propose Open MDSP, an extension of Open MP designed for multi-core DSPs. The goal of Open MDSP is to fill the gap between Open MP memory model and the memory hierarchy of multi-core DSPs. We propose three class of directives in Open MDSP: (1) data placement directives allow programmers to control the placement of global variables conveniently, (2) distributed array directives divide whole array into sections and promote them into core-local memory to improve performance, and (3) stream access directives promote big array into core-local memory section by section during a parallel loop's processing. We implement the compiler and runtime system for Open MDSP on Free Scale MSC8156. Benchmarking result shows that seven out of nine benchmarks achieve a speedup of more than 5 with 6 threads.
机译:多核数字信号处理器(DSP)广泛用于无线电信,核心网络代码转换,工业控制和音频/视频处理等。与通用多处理器相比,多核DSP通常具有更复杂的存储器层次结构,例如片上核心本地内存和非缓存一致性共享内存。因此,编写高效的多核DSP应用程序非常具有挑战性。当前对多核DSP进行编程的方法是基于专有供应商的SDK,该SDK仅提供低级,不可移植的原语。虽然使用这些SDK编写粗粒度的任务级并行代码是可以接受的,但使用它们编写细粒度的数据并行代码却非常繁琐且容易出错。我们认为,希望有一个针对多核DSP的高级且可移植的并行编程模型。在本文中,我们提出了Open MDSP,这是针对多核DSP设计的Open MP的扩展。 Open MDSP的目标是填补Open MP内存模型与多核DSP的内存层次结构之间的空白。我们在Open MDSP中提出了三类指令:(1)数据放置指令使程序员可以方便地控制全局变量的放置;(2)分布式数组指令将整个数组划分为多个部分,并将它们提升为核心局部内存以提高性能, (3)在并行循环的处理过程中,流访问指令将大数组逐段提升到核心本地内存中。我们在Free Scale MSC8156上为Open MDSP实现了编译器和运行时系统。基准测试结果显示,在9个基准测试中,有7个基准测试中有6个线程的加速比超过了5。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号