CUDA 기반 병렬 6차원 shifted sort를 이용한 근사 k-최근접 이웃 정보 검색 구현 - 박태정(Taejung Park) (디지털콘텐츠학회논문지, 2019)
본 논문에서는 shifted sort 기반 병렬 kANN(k-Approximate Nearest Neighbor) 기법을 다차원(n > 3) 벡터로 확장하기 위한 중간 단계로서 CUDA에서 지원하는 네이티브 자료형 중 가장 큰 크기를 제공하는 128비트 크기의 uint4 자료형을 이용한 6차원 shifted sort 기반 병렬 kANN의 구현 및 그 결과를 논의한다. 이러한 목표를 달성하기 위해서 6차원 Morton 코드 생성 알고리즘을 구현하였으며 테스트를 위해 3차원 삼각형 mesh에서 6차원 벡터의 추출 방안과 그 기하학적인 의미에 대해 분석한 후 기존 방식과 실행 결과를 비교하였다. 실행 결과 3차원에서 6차원으로 확장한 경우에도 실행 시간 상의 변화는 상대적으로 적었으며 향후 6차원 이상의 다차원 벡터로 shifted sort 기반 병렬 kANN을 확장하기 위한 기본적인 정보를 확보할 수 있었다. This paper presents a way to implement six dimensional shifted sort based parallel kANN with the 128 bit uint4 data type and comparison results of the proposed method. This research is an intermediate process to improve shifted sort based parallel kANN method to handle more general vectors with more than six dimensions. For this goal, the author implements six dimensional Morton code and proposes the method to extract six dimensional vectors from three dimensional triangle meshes. Also, the author discusses the geometrical meaning of six dimensional extension for the three dimensional triangle meshes. As a result, the time difference between the three dimensional version and six dimensional one is relatively small. From this result, the author has gained some insight to expand the proposed method to larger vectors. KCI Citation Count: 0