Parallel Intersection Detection Algorithm using CUDA

CUDA 를 이용한 가상 객체들간의 병렬 충돌 검사 알고리즘

  • 이연희 (이화여자대학교 컴퓨터정보통신공학과) ;
  • 김영준 (이화여자대학교 컴퓨터정보통신공학과)
  • Published : 2008.02.13

Abstract

In this paper, we present how we implement the low-level, triangle intersection routine in a massively parallel fashion using n VIDIA's new GPGPU language, CUDA. Triangle intersection often becomes a computational bottleneck in the collision detection problem. Due to the relatively low bandwidth between CPU and GPU, it has been challenging to implement efficient, object-space collision detection between triangle sets. However, thanks to the improved data transmission rates in CUDA architecture, in this paper, we improved the performance of triangle intersection substantially better than the optimized CPU counterpart.

CUDA 는 GPGPU 프로그래밍을 위해 nVIDIA 사에서 개발한 병렬 처리 프로그래밍 개발환경이다. 본 논문에서는 가상 객체들 간의 삼각형 충돌 검사 부분을 CUDA 를 이용해 병렬적으로 구현하였다. 삼각형 충돌 검사는 실시간 충돌 검사 시 주요 병목현상을 일으키는 부분이다. 하지만 CPU 와 GPU 간의 데이터 전송 지연 문제 때문에 기존의 오브젝트 스페이스상의 GPU 기반의 충돌 검사 방법으로는 이 병목현상을 해결하기 어려웠다. 그러나 데이터 전송 지연 문제를 크게 완화시킨 CUDA 를 이용해 데이터 전송에 소모되는 비용을 줄이고 또한 삼각형 충돌 검사를 병렬적으로 수행함으로써 가상 객체를 형성하는 삼각형 집합들의 충돌검사 알고리즘의 성능을 크게 향상시킬 수 있었다.

Keywords