DOI QR코드

DOI QR Code

CUDA Implementation for the Four-Russian Algorithm

4-러시안 알고리즘의 CUDA 구현

  • Kim, Young Ho (Dept. of Computer Science and Information Technology, Inha University) ;
  • Jeong, Ju-Hui (Dept. of Computer Science and Information Technology, Inha University) ;
  • Kang, Dae Woong (Dept. of Computer Science and Information Technology, Inha University) ;
  • Sim, Jeong Seop (Dept. of Computer Science and Information Technology, Inha University) ;
  • Kim, Minho (Electronics and Telecommunications Research Institute) ;
  • Park, Soo-jun (Electronics and Telecommunications Research Institute) ;
  • Lim, Myungeun (Electronics and Telecommunications Research Institute) ;
  • Jung, Ho-Youl (Electronics and Telecommunications Research Institute)
  • Published : 2012.04.26

Abstract

상수 크기의 알파벳 ${\Sigma}$에 대해 길이가 각각 m, n인 두 문자열 X와 Y의 편집거리는 X를 Y로 변환하기 위해 필요한 최소 편집연산의 수로 정의된다. 두 문자열의 편집거리는 잘 알려진 동적프로그래밍을 이용하여 O(mn) 시간과 공간에 계산할 수 있으며, 4-러시안 알고리즘을 이용해도 계산할 수 있다. 4-러시안 알고리즘은 블록 크기를 상수 t라 할 때, 전처리 단계에서 $O\((3{\mid}{\Sigma}{\mid})^{2t}t^2\)$ 시간과 $O\((3{\mid}{\Sigma}{\mid})^{2t}t^2\)$ 공간이 필요하며, 계산 단계에서 O(mn/t) 시간과 O(mn) 공간을 이용하여 편집거리를 계산하는 알고리즘이다. 본 논문에서는 4-러시안 알고리즘의 계산 단계를 CUDA를 이용하여 구현하고 실험을 통해 CPU 기반의 순차적인 수행시간과 GPU 기반의 병렬적인 수행시간의 비교결과를 제시한다. 본 논문의 병렬알고리즘은 m/t개의 쓰레드를 사용하여 O(m+n) 시간에 편집거리를 계산한다. GPU 기반의 알고리즘이 CPU 기반의 알고리즘 보다 t=1일 때 약 10배 빠르고, t=2일 때 약 3배 빠른 결과를 보였다.

Keywords