• 제목/요약/키워드: kd-tree traversal

검색결과 3건 처리시간 0.016초

GPU용 Kd-트리 탐색 방법의 성능 분석 및 향상 기법 (Performance Analysis and Enhancing Techniques of Kd-Tree Traversal Methods on GPU)

  • 장병준;임인성
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제16권2호
    • /
    • pp.177-185
    • /
    • 2010
  • 광선-다각형 교차 계산은 광선 추적법 계산의 상당 부분을 차지하는 중요한 구성요소로서, 보편적으로 정적인 장면에 대해서는 kd-트리와 같은 공간 자료구조를 사용하여 교차 계산을 가속하여왔다. 최근 CPU에 비해 상대적으로 제한된 계산구조를 가지는 GPU에 적합하도록 변형된 kd-트리 탐색 기법이 몇 가지 제시되어 왔는데, 본 논문에서는 이러한 기존 방법을 보완할 수 있는 두 가지 구현 기법을 제안한다. 첫째, 트리 탐색을 위한 스택을 전역 메모리에 할당할 경우 전역 메모리 접근으로 인한 비용을 줄이고자 하는 캐쉬 적용 스택 방법과 둘째, 기존의 로프 방법의 문제점인 상당한 메모리 요구량을 줄이고자 하는 적은 깊이의 스택(short stack)을 사용한 로프 방법을 제시한다. 제안된 방법의 효용성을 보이기 위하여 기존의 GPU용 탐색 방법과의 성능 비교 분석을 수행한다. 이러한 실험 결과는 향후 GPU용 광선추적법 소프트웨어 개발자들이 상황에 맞는 적절한 kd-트리 탐색 방법을 선택할 수 있도록 해주는 중요한 정보를 제공하게 될 것이다.

일반적인 GPU 트리 탐색과의 비교실험을 통한 GPU 기반 병렬 Shifted Sort 알고리즘 분석 (Analysis of GPU-based Parallel Shifted Sort Algorithm by comparing with General GPU-based Tree Traversal)

  • 김희수;박태정
    • 디지털콘텐츠학회 논문지
    • /
    • 제18권6호
    • /
    • pp.1151-1156
    • /
    • 2017
  • 일반적으로 GPU 기반 트리 탐색을 수행할 경우 병렬 처리 속도가 생각보다 크게 향상되지 않는 경우가 대부분이다. 본 논문에서는 이러한 원인을 분석하고 그 분석 결과로 GPU 병렬 처리 하드웨어 아키텍처 내 최소 물리적 스레드 실행 단위인 warp 내에서 분기문(if문)으로 인한 warp divergence가 일어나기 때문임을 제시한다. 또한 이러한 warp divergence를 최소화할 수 있는 병렬 shifted sort 알고리즘과의 비교를 통해 shifted sort 알고리즘이 일반적인 GPU 내 트리 탐색에 비해 우수한 성능을 보이는 구조임을 제시하였다. 분석 결과 GPU 기반 kd-tree 탐색에 비해 warp divergence가 발생하지 않은 shifted sort 탐색은 3차원 공간에서 데이터나 쿼리의 수가 $2^{23}$개 일 때 16배 이상의 빠른 처리 속도를 보였으며 이 성능 차이는 데이터나 쿼리의 개수가 증가함에 따라 더 커지는 경향을 보였다.

CUDA를 이용한 효과적인 GPU 광선추적 가속 알고리즘 (An efficient acceleration algorithm of GPU ray tracing using CUDA)

  • 지중현;윤동호;고광희
    • 한국HCI학회:학술대회논문집
    • /
    • 한국HCI학회 2009년도 학술대회
    • /
    • pp.469-474
    • /
    • 2009
  • 본 논문은 CUDA를 이용하여 GPU에서의 최적화된 kd-tree 탐색구조 환경과 광선/삼각형의 교차검사 알고리즘을 통한 실시간의 광선추적 시스템을 제안한다. 기존의 GPU 기반 kd-tree 탐색 알고리즘은 대부분 스택이 없는 GPU 하드웨어의 특성상 임의의 단말노드에서 기하요소의 교차검사가 실패할 경우 상위노드로 상향식 탐색을 진행하기 때문에 노드에 대한 중복 방문이 반드시 필요하거나 혹은 불필요한 메모리의 적재가 필요하기 때문에 큰 장면에 대한 광선추적은 어렵게 된다. 본 논문에서 제안하는 알고리즘은 CPU 방식의 kd-tree 탐색과 비슷하게 동작하도록 stack을 CUDA 프레임워크를 이용하여 GPU의 지역메모리로 구현하였기 때문에 기존의 방법 등에서의 문제점을 해결하였다. 또한 탐색구조를 통해서 찾은 말단 삼각형들의 처리를 위해서 최신의 CPU 기반의 교차검사 알고리즘인 Plucker 좌표계 검사를 CUDA로 구현하여 병렬 가속시켰다. Plucker 검사는 기존의 무게중심 좌표 대신에 광선과 삼각형 edge의 관계를 이용하는 간단한 연산만을 이용하는 장점이 있다. 전체 시스템은 단일 커널로 구성되어 있으며 병렬처리를 위한 복잡한 동기화나 광선패킷의 도입 없이 간단하게 구현되었다. 결과적으로 본 논문의 실험은 기존 알고리즘 대비 제안하는 알고리즘이 약 2배의 성능 향상이 있음을 보여 준다.

  • PDF