C and CUDA Implementation for SIRT and SART Reconstruction Algorithms
University of California at Los Angeles
University of California at Los Angeles, 2014
@article{he2014advisor,
title={Advisor: Prof. Markovic, Dejan},
author={He, Shan},
year={2014}
}
Tomographic reconstruction techniques deserve studying because of its plenty of application in interdisciplinary fields. With outstanding features of no need to set of uniformly distributed projections for precise reconstruction, easy provide a priori knowledge about the reconstructed object, good image quality, we chose Simultaneous Iterative Reconstruction Technique (SIRT) and Simultaneous Algebraic Reconstruction Technique (SART) as our project research subjects. The main work of the project is to implement the SIRT and SART algorithms in C and CUDA respectively, aiming at improve the performance of iterative calculation. By utilizing the Sparse Level 2 subroutines in Inter MKL for C implementation and CUSPARSE library supported by CUDA SDK for GPU implementation, the performance is largely improved compared with original MATLAB code. Moreover, the times of speedup increases when increase the image size and number of projection angles. This phenomenon is obvious for GPU implementation, because larger data size can make more use of GPU. The maximum image size of C and CUDA implementation for both SIRT and SART can be 256*256 and the maximum number of projection angles of C and CUDA implementation for both SIRT and SART can be 179. For C implementation, SIRT slightly faster than MATLAB and SART is largely faster than MATLAB. For CUDA, loop time test matter. SIRT and SART are both much faster than C in the iterative.
June 26, 2014 by hgpu