  Volume reconstruction by backprojection is the computational bottleneck in
many interventional clinical computed tomography (CT) applications. Today
vendors in this field replace special purpose hardware accelerators by standard
hardware like multicore chips and GPGPUs. Medical imaging algorithms are on the
verge of employing High Performance Computing (HPC) technology, and are
therefore an interesting new candidate for optimization. This paper presents
low-level optimizations for the backprojection algorithm, guided by a thorough
performance analysis on four generations of Intel multicore processors
(Harpertown, Westmere, Westmere EX, and Sandy Bridge).
  We choose the RabbitCT benchmark, a standardized testcase well supported in
industry, to ensure transparent and comparable results. Our aim is to provide
not only the fastest possible implementation but also compare to performance
models and hardware counter data in order to fully understand the results. We
separate the influence of algorithmic optimizations, parallelization, SIMD
vectorization, and microarchitectural issues and pinpoint problems with current
SIMD instruction set extensions on standard CPUs (SSE, AVX). The use of
assembly language is mandatory for best performance. Finally we compare our
results to the best GPGPU implementations available for this open competition
benchmark.
