中文

基于动态分区的异构多核架构 JPEG 解压缩

分布式、并行与集群计算 2014-05-13 v3

摘要

随着社交网络的兴起和计算摄影技术的进步,每天有数十亿张 JPEG 图像被分享和查看。台式机、平板电脑和智能手机构成了用于显示 JPEG 图像的绝大多数硬件平台。尽管这些平台属于异构多核架构,但目前尚无一种方法能够联合系统的 CPU 和 GPU 进行 JPEG 解码。在本文中,我们提出了一种针对由 CPU 和支持 OpenCL 编程的 GPU 组成的异构架构的新型 JPEG 解码方案。我们采用离线性能分析步骤来确定系统 CPU 和 GPU 在 JPEG 解码方面的性能。对于给定的 JPEG 图像,我们的性能模型利用 (1) CPU 和 GPU 的性能特征,(2) 图像熵,以及 (3) 图像的宽度和高度,来平衡底层硬件上的 JPEG 解码工作负载。我们的运行时分区和调度方案通过任务、数据和流水线并行 exploited 并行性,将不可并行的熵解码任务调度在 CPU 上,而逆余弦变换 (IDCT)、颜色转换和上采样则在 CPU 和 GPU 上同时进行。我们的内核已针对 GPU 内存层次结构进行了优化。我们在 libjpeg-turbo 库的上下文中实现了所提出的方法,该库是一个工业级的 JPEG 编码和解码引擎。Libjpeg-turbo 针对 ARM 和 x86 架构手工优化的 SIMD 例程为与所提出方法的比较提供了具有竞争力的基准。将我们的方法 retrofit 到 libjpeg-turbo 中,为针对异构多核重构遗留代码的软件工程方面提供了见解。

关键词

引用

@article{arxiv.1311.5304,
  title  = {Dynamic Partitioning-based JPEG Decompression on Heterogeneous Multicore Architectures},
  author = {Wasuwee Sodsong and Jingun Hong and Seongwook Chung and Yeongkyu Lim and Shin-Dug Kim and Bernd Burgstaller},
  journal= {arXiv preprint arXiv:1311.5304},
  year   = {2014}
}

备注

Abstract shortened to respect the arXiv limit of 1920 characters