Performance Engineering for a Medical Imaging Application on the Intel\n Xeon Phi Accelerator
Johannes Hofmann, Jan Treibig, Georg Hager, Gerhard Wellein
Abstract
Open-access reader
Johannes Hofmann, Jan Treibig, Georg Hager, Gerhard Wellein
Abstract
Open-access reader
We examine the Xeon Phi, which is based on Intel's Many Integrated Cores\narchitecture, for its suitability to run the FDK algorithm--the most commonly\nused algorithm to perform the 3D image reconstruction in cone-beam computed\ntomography. We study the challenges of efficiently parallelizing the\napplication and means to enable sensible data sharing between threads despite\nthe lack of a shared last level cache. Apart from parallelization, SIMD\nvectorization is critical for good performance on the Xeon Phi; we perform\nvarious micro-benchmarks to investigate the platform's new set of vector\ninstructions and put a special emphasis on the newly introduced vector gather\ncapability. We refine a previous performance model for the application and\nadapt it for the Xeon Phi to validate the performance of our optimized\nhand-written assembly implementation, as well as the performance of several\ndifferent auto-vectorization approaches.\n
OpenAlex reports 9 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
We examine the Xeon Phi, which is based on Intel's Many Integrated Cores\narchitecture, for its suitability to run the FDK algorithm--the most commonly\nused algorithm to perform the 3D image reconstruction in cone-beam computed\ntomography. We study the challenges of efficiently parallelizing the\napplication and means to enable sensible data sharing between threads despite\nthe lack of a shared last level cache. Apart from parallelization, SIMD\nvectorization is critical for good performance on the Xeon Phi; we perform\nvarious micro-benchmarks to investigate the platform's new set of vector\ninstructions and put a special emphasis on the newly introduced vector gather\ncapability. We refine a previous performance model for the application and\nadapt it for the Xeon Phi to validate the performance of our optimized\nhand-written assembly implementation, as well as the performance of several\ndifferent auto-vectorization approaches.\n
Key concepts: Xeon Phi, Vectorization (mathematics), Computer science, SIMD, Parallel computing, Xeon, Set (abstract data type), Cache