GPU CT Reconstruction – preliminary results

Thanks to our friends at Endra Inc. , we’ve had an opportunity to involve ourselves in GPU -based algorithm acceleration. This has ended up, for us, being a substantial deep-dive into technologies such as CUDA  and OpenCL , but with significant results. The advantages of GPU acceleration over conventional computing are well known, even in the face of impressive improvements in generalized CPU multi-core capabilities in recent years. These advantages are especially true in the medical imaging field, where almost all compute-intensive tasks in the imaging pipeline are embarrasingly parallel . CT reconstruction is one example that we’ve chosen to focus on recently - we’ve started by implementing a flexible GPU-accelerated CT reconstruction framework, that can act as both a platform for algorithm design and development, as well as a de facto replacement for legacy CPU-based reconstruction engines. At the moment, it is capable of reconstructing scan data from GE’s Locus, eXplore and Ultra CT products - depending on reception, we may choose to port it to more systems. Our reference implementation uses the well-known stock Feldcamp conebeam backprojection algorithm and is written in python for maximum flexibility. It uses pycuda  for the heavy lifting. See below reconstruction results from a variety of platforms: of particular interest, perhaps, is the NVidia GTX 580  results, for sheer speed, and the NVidia GTX 460M , which is running on a laptop. The latter results compare favorably against a 9-computer beowulf cluster , showing just how far GPU technology has come in recent years. The results are preliminary, and will be updated frequently as our recon engine improves and is tested more widely.

Note: It seems that the interactive graph does not show up, if you are viewing with Internet Explorer. We apologize for that, but for now, you will have to use one of the other browsers, if you wish to see the results).

What’s been keeping us busy
OS X Lion and MicroView