본문 바로가기
KERD
논문KCI 등재

OpenCL을 활용한 CPU와 GPU 에서의 CMMB LDPC 복호기 병렬화

Parallel LDPC Decoder for CMMBon CPU and GPU Using OpenCL

0

조회

0

다운로드

1

인용

0

참고문헌

키워드

초록

Recently, Open Computing Language (OpenCL) has been proposed to provide a framework that supports heterogeneous computing platforms. By using an OpenCL framework, digital communication systems can support various protocols in a unified computing environment to achieve both high portability and high performance. This article introduces a parallel software decoder of Low Density Parity Check (LDPC) codes for China Multimedia Mobile Broadcasting (CMMB) on a heterogeneous platform. Each step of LDPC decoding has different parallelization characteristics. In this paper, steps suitable for task-level parallelization are executed on the CPU, and steps suitable for data-level parallelization are processed by the GPU. To improve the performance of the proposed OpenCL kernels for LDPC decoding operations, explicit thread scheduling, loop-unrolling, and effective data transfer techniques are applied. The proposed LDPC decoder achieves high performance by using heterogeneous multi-core processors on a unified computing framework.

Abstract

Recently, Open Computing Language (OpenCL) has been proposed to provide a framework that supports heterogeneous computing platforms. By using an OpenCL framework, digital communication systems can support various protocols in a unified computing environment to achieve both high portability and high performance. This article introduces a parallel software decoder of Low Density Parity Check (LDPC) codes for China Multimedia Mobile Broadcasting (CMMB) on a heterogeneous platform. Each step of LDPC decoding has different parallelization characteristics. In this paper, steps suitable for task-level parallelization are executed on the CPU, and steps suitable for data-level parallelization are processed by the GPU. To improve the performance of the proposed OpenCL kernels for LDPC decoding operations, explicit thread scheduling, loop-unrolling, and effective data transfer techniques are applied. The proposed LDPC decoder achieves high performance by using heterogeneous multi-core processors on a unified computing framework.

참고문헌 (14)

  1. 박용훈, "GPGPU를 이용한 파데브-레브리어 알고리즘 구현 및 성능 분석", 대한임베디드공학회논문지, 8(3), pp.171~178 (2013), 대한임베디드공학회
  2. Khronos OpenCL Working Group, "The OpenCL specification version 1.2", Document Revision 19, ~ (2012)
  3. R.G. Gallager, "Low-density parity check codes", IEEE IRE Transactions on Information Theory, 8(1), pp.21~28 (1962)
  4. Sang-Min Choi, "Performance Analysis on Error Correction Scheme for Wireless Sensor Network over Node-to-node Interference", 대한임베디드공학회논문지, 1(2), pp.37~42 (2006), 대한임베디드공학회
  5. S. Wang, "A parallel decoding algorithm of LDPC codes using CUDA", Proceedings of Asilomar Conference on Signals, Systems and Computers, pp.171~175 (2008)
  6. G. Falcão, "Massive parallel LDPC decoding on GPU", Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, pp.83~90 (2008)
  7. H.W. Ji, "Memory access optimized implementation of cyclic and quasi-cyclic LDPC codes on a GPGPU", Journal of Signal Processing Systems, 64(1), pp.149~159 (2011)
  8. G. Falcão, "How GPUs can outperform ASICs for fast LDPC decoding", Proceedings of the 23rd international conference on Supercomputing, pp.390~399 (2009)
  9. J. Shen, "Performance traps in OpenCL for CPUs", Proceedings of IEEE 21st Euromicro International Conference on Parallel, Distributed and Network-Based Processing, pp.38~45 (2013)
  10. B. R. Gaster, "Heterogeneous computing with OpenCL: Revised OpenCL 1.2 Edition" (2012), Morgan Kaufmann
  11. J.Y. Park, "Parallel LDPC decoding using CUDA and OpenMP", EURASIP Journal on Wireless Communications and Networking, 2011(1), pp.1~8 (2011)
  12. Advanced Micro Devices, "AMD accelerates parallel processing OpenCL programming guide", ~ (2013)
  13. D. Leonardo, "OpenMP : an industry standard API for shared-memory programming", IEEE Computational Science and Engineering, 5(1), pp.46~55 (1998)
  14. Nvidia, "Compute unified device architecture programming guide Version 2.0", ~ (2008)

관련 논문AI추천

이 간행물의 다른 논문 (6건)