초록
최근 GPU의 대규모 병렬 연산 능력을 이용하여 통신 시스템을 구현하려는 연구가 활발히 진행되고 있다. 본 논문에서는 DVB-T에 적용된 비터비 복호기를 슬라이딩 블록 방법과 함께 GPU에 적용시켜 소프트웨어 모의실험 처리시간을 줄였다. 본 논문에서는 먼저 DTV 표준 방식의 일종인 DVB-T 시스템을 CPU로 구현하여 모의실험을 통해 한 개의 OFDM 심볼을 처리하는데 소요되는 시간을 추정한다. 그리고 슬라이딩 블록 방법을 적용한 DVB-T의 비터비 복호기를 NVIDIA사의 대용량 GPU 프로세서를 이용하여 소프트웨어로 구현한다. 본 논문은 GPU 소프트웨어의 최적화를 위해 CPU와 GPU 간의 데이터 전송에 소요되는 오버헤드를 줄이는 스트림 처리 기법, 전역 메모리 전송 시간을 단축하기 위한 결합 전송 기법 (coalescing), 공유 메모리 접근의 효율성을 높이기 위한 변수 설계 기법 등을 통해서 연산처리 속도를 대폭 향상시켰다. 그 결과 제안된 방식은 CPU 기반의 비터비 복호기보다 2K 모드에서 약 11배, 8K 모드에서 약 60배 정도 빠른 처리 능력을 보인다.
Recently, a plenty of researches have been conducted using the massively parallel processing of GPU for the implementation of communication system. In this paper, we tried to reduce software simulation time applying GPU with sliding block method to Viterbi decoder in DVB-T system which is one of European DTV standards. First of all, we implement DVB-T system by CPU and estimate cost time whereby the system processes one OFDM symbol. Secondly, we implement Viterbi decoder by software using NVIDIA's massive GPU processor. In our work, stream process method is applied to reduce the overhead for data transfer between CPU and GPU, as well as coalescing method to lower the global memory access time. In addition, data structure design method is used to maximize the shared memory usage. Consequently, our proposed method is approximately 11 times faster in 2K mode and 60 times faster in 8K mode for the process in Viterbi decoder.