Abstract
3D backprojection is a kind of reconstruction algorithm to generate volume data consisting of tomographic images, which provides spatial information of the original 3D data from hundreds of 2D projections. The computational time of backprojection increases in proportion to the size of volume data and the number of projection images since the value of every voxel in volume data is calculated by considering corresponding pixels from hundreds of projections. For the reduction of computational time, fast GPU based 3D backprojection methods have been studied recently and the performance of them has been improved significantly. This paper presents two multiple GPU based methods to maximize the parallelism of GPU and compares the efficiencies of two methods by considering both the number of projections and the size of volume data. The first method is to generate partial volume data independently for all projections after allocating a half size of volume data on each GPU. The second method is to acquire the entire volume data by merging the incomplete volume data of each GPU on CPU. The in-complete volume data is generated using the half size of projections after allocating the full size of volume data on each GPU. In experimental results, the first method performed better than the second method when the entire volume data can be allocated on GPU. Otherwise, the second method was efficient than the first one.
삼차원 역전사(3D backprojection) 기법은 수백 장의 이차원 투영영상을 가지고 대상물의 공간적인 위치 파악이 가능한 단층 영상(tomography)을 생성하기 위해 사용되는 재구성 기법이다. 재구성 기법은 단층 영상을 구성하는 결과볼륨의 모든 화소로부터 각 화소 위치에 기여할 값을 이차원 투영영상에서 계산하여 얻어오기 때문에 결과볼륨이 커지거나 투영영상의 수가 증가하게 되면 전체 계산량은 상당히 증가하게 된다. 이러한 문제를 해결하기 위해 최근 범용 그래픽스 하드웨어(graphics processing unit: GPU) 기반의 고속 삼차원 재구성 기법이 연구되었으며 상당한 성능 향상을 가져왔다. 본 논문에서는 기존의 단일 GPU 기반의 삼차원 재구성 기법을 다중 GPU기반으로 확장할 때 입력되는 투영영상 크기와 결과볼륨의 크기에 따라서 효율적으로 동작될 수 있는 두 가지 병렬 처리 구현 기법에 대해 제시하고 비교 분석한다. 제안한 병렬 처리 구현 기법은 투영영상을 입력 데이터로 간주하여 각 GPU가 모든 투영영상에 대해서 출력 데이터인 결과볼륨을 분할하여 생성하는 결과볼륨 분할생성 기법과 각 GPU가 투영영상을 분산적재하여 할당받은 입력 데이터에 대한 결과볼륨을 출력한 후 각각의 출력 결과를 CPU에서 합하는 투영영상 분산적재 기법이다. 실험 결과, 결과볼륨의 크기가 GPU에 모두 할당할 수 있는 크기인 경우에는 결과볼륨 분할생성 기법이 더 좋은 성능을 보였고, 결과볼륨의 크기가 GPU 메모리보다 큰 경우에는 투영영상 분산적재 기법이 더 유리하였다.