A Parallel Processing of Finding Neighbor Agents in Flocking Behaviors Using GPU

GPU를 이용한 무리 짓기에서 이웃 에이전트 찾기의 병렬 처리

  • Lee, Jae-Moon (Dept. of Multimedia Engineering, Hansung University)
  • 이재문 (한성대학교 멀티미디어공학과)
  • Received : 2010.08.30
  • Accepted : 2010.09.24
  • Published : 2010.10.20

Abstract

This paper proposes a parallel algorithm of the flocking behaviors using GPU. To do this, we used CUDA as the parallel processing architecture of GPU and then analyzed its characteristics and constraints. Based on them, the paper improved the performance by parallelizing to find the neighbors for an agent which requires the largest cost in the flocking behaviors. We implemented the proposed algorithm on GTX 285 GPU and compared experimentally its performance with the original spatial partitioning method. The results of the comparison showed that the proposed algorithm outperformed the original method up to 9 times with respect to the execution time.

논문은 GPU를 이용한 무리 짓기에 대한 병렬 알고리즘을 제안한다. 이를 위하여 GPU의 병렬처리 구조로 CUDA를 사용하였으며, 그것의 특성 및 제한 요소들을 분석하였다. 이의 특성 및 제한 요소를 기초로 무리 짓기에서 가장 많은 비용을 요구하는 이웃 에이전트들을 찾는 것을 병렬화 함으로써 성능을 개선하였다. 제안된 알고리즘을 GTX 285상에서 구현하였고, 그것의 성능을 실험적으로 기존의 공간분할 알고리즘과 비교하였다. 비교의 결과는 제안된 알고리즘이 실행 시간 관점에서 최대 9배 정도 우수하다는 것을 보였다.

Keywords

References

  1. Reynolds, C. W., "Flocks, Herds, and Schools: A Distributed Behavioral Model", SIGGRAPH, 21(4), pp. 25-34, 1987. https://doi.org/10.1145/37402.37406
  2. Mat Buckland, "Programming Game AI by Example", ISBN 1556220782, Wordware Publications, 2005.
  3. 이만휘, 박인규, 원석진 조성대, "GPU를 이용 한 DWT 및 JPEG2000의 고속 연산," 전자공학회 논문지 제44권 SP편 제6호, 2007.
  4. J. S. Charles, T. E. Potok, R. M. Patton, X. Cui, Flocking-based Document Clustering on the Graphics Processing Unit, DOE Office of Science Journal of Undergraduate Research, Volume VIII, 2008.
  5. Svetlin A Manavski and Giorgio Valle, "CUDA compatible GPU cards as efficient hardware accelerators for Smith-Waterman sequence alignment," BioMed Center Bioinfformatics, 8:S10, 2008.
  6. 곽성호, 유민준, 이인권, "GPU를 이용한 실시간 분수 시뮬레이션을 위한 파티클 시스템," 정보과학회 가을 학술발표논문집 Vol. 35, No. 2(B), 2008.
  7. NVIDIA. NVIDIA CUDA Programming Guide, 2.3 edition, August 2009.
  8. 이상길, 신병석, "GPU의 병렬 처리 기능을 이용한 메쉬 평탄화 가속 방법," 한국게임학회 논문지 v.9, no.2, 2009.
  9. P. Bakkum and K. Skadron. "Accelerating SQL Database Operations on a GPU with CUDA," In Proc. General-Purpose Computation on Graphics Processing Units, 2010.
  10. 이재문, "바이토닉 정렬을 사용한 CUDA의 성능 분석," 한성대학교 공학연구 논문집 Vol.8, No.1, 2010.
  11. 권대중, 이남희, 김민성, 이재문, 조세홍, "CUDA를 이용한 무리 짓기 성능 개선," 한국 게임학회 춘계학술발표대회 논문집, 2010.
  12. Jae Moon Lee, "An efficient algorithm to find k-nearest neighbors in flocking behavior," Information Processing Letters, Vol. 110, Issues 14-15, 2010.