GPU는 메모리 대역폭이 연산 속도를 결정하는 병목 지점이 된다. 즉, GPU 프로그래밍 시에는 불규칙적인 메모리 액세스나 다중 스레드들 사이에서의 서로 다른 명령 실행 분기가 발생하면 속도가 크게 저하되는 문제가 발생한다. 따라서 게임 엔진 충돌 처리용으로 사용되는 kd-tree와 같은 적응형 탐색(adaptive traverse) 기법은, 불규칙적인 메모리 액세스 및 서로 다른 명령 분기로 인해 지금까지 GPU 구조에 적합하지 않은 것으로 인식되어 왔다. 그러나 최근 NVIDIA의 Fermi 아키텍처의 등장과 함께 CPU에서처럼 GPU 다중 프로세서에도 캐시 메모리가 적용되고 있다. 본 논문에서는 이러한 새로운 GPU 아키텍처의 장점을 활용해서 충돌 처리 시간을 크게 줄일 수 있는 GPU 기반 kd-tree를 제안한다. 제안하는 GPU 기반 병렬 kd-tree는 체크 지점 65536 개에서 최근접 삼각형까지의 거리를 찾는 작업이 Fermi 아키텍처(캐시 적용) 기반에서 단일 코어 CPU 기반 kd-tree에 비해 평균 백 만 배 이상(1.0x106) 빨라졌으며, 이전 세대 Tesla 아키텍처(캐시 미적용) 기반 병렬 kd-tree에 비해서도 약 50 배 가까이 빠른 속도를 보였다.
논문은 GPU를 이용한 무리 짓기에 대한 병렬 알고리즘을 제안한다. 이를 위하여 GPU의 병렬처리 구조로 CUDA를 사용하였으며, 그것의 특성 및 제한 요소들을 분석하였다. 이의 특성 및 제한 요소를 기초로 무리 짓기에서 가장 많은 비용을 요구하는 이웃 에이전트들을 찾는 것을 병렬화 함으로써 성능을 개선하였다. 제안된 알고리즘을 GTX 285상에서 구현하였고, 그것의 성능을 실험적으로 기존의 공간분할 알고리즘과 비교하였다. 비교의 결과는 제안된 알고리즘이 실행 시간 관점에서 최대 9배 정도 우수하다는 것을 보였다.
메쉬 평탄화는 메쉬 표면의 잡음을 제거하는 것으로써 일반적으로 평탄화 필터를 적용하여 수행한다. 하지만 전체 과정이 CPU에서 수행되기 때문에 많은 실행 시간이 걸리는 문제점을 가진다. GPU는 부동소수점 연산에 특화되어 CPU에 비해 빠른 연산이 가능하기 때문에 복잡한 연산을 실시간으로 처리하는 것이 가능하다. 특히 메쉬 평탄화 과정은 메쉬의 각 정점이나 삼각형을 기반으로 같은 연산을 반복하기 때문에 GPU의 병렬 처리에 적합하다. 본 논문에서는 양방향 필터링에 GPU의 병렬 처리를 이용함으로써 메쉬 평탄화의 수행 시간을 줄이는 방법을 제안한다. 먼저 양방향 필터링을 위해 메쉬의 각 정점에 인접하는 삼각형들을 찾고 이들의 법선 벡터의 평균을 계산하여 정점들의 법선 벡터를 구한다. 양방향 필터링으로 각 정점의 새 위치를 계산하고 앞의 과정을 다시 수행하여 정점들의 새 법선 벡터를 계산한다.