在GPU上加速JPEG解压缩
分布式、并行与集群计算
2021-11-18 v1
摘要
数十年来,JPEG压缩格式一直是有损图像压缩的标准,以微小的感知质量损失提供高压缩率。对于GPU加速的计算机视觉和深度学习任务(例如图像分类模型的训练),由于内存带宽的限制,高效的JPEG解码至关重要。由于许多解码器实现基于CPU,解码后的图像数据必须通过PCI-E等互连传输到GPU等加速器,这意味着吞吐率下降。因此,JPEG解码在这些流水线中构成了相当大的瓶颈。相反,利用GPU加速的解码器可大幅提高效能。在这种情况下,只需传输压缩数据,因为解码将由加速器处理。为了设计这样的基于GPU的解码器,必须在细粒度级别上并行化相应算法。然而,单个JPEG文件的并行解码是一项复杂任务。在本文中,我们提出了一种在GPU上高效进行JPEG图像解压缩的方法,其实现了JPEG标准的一个重要子集。所提算法在比特流中任意位置评估码字位置,从而实现独立块段的并行解压缩。我们的性能评估表明,在A100(V100)GPU上,我们的实现可比最先进的libjpeg-turbo(CPU)和nvJPEG(GPU)实现分别高出至多51倍(34倍)和8.0倍(5.7倍)。此外,相较于在A100上使用专用硬件JPEG解码器加速的nvJPEG,它实现了高达3.4倍的加速。
引用
@article{arxiv.2111.09219,
title = {Accelerating JPEG Decompression on GPUs},
author = {André Weißenberger and Bertil Schmidt},
journal= {arXiv preprint arXiv:2111.09219},
year = {2021}
}
备注
10 pages, to be published in HiPC 2021 conference proceedings