Performance Portable Reconstruction of Ptychography Data with the Alpaka C++ Library


Performance Portable Reconstruction of Ptychography Data with the Alpaka C++ Library

Ehrig, S.; Vyskocil, J.; Achilles, S.; Weber, D.; Clausen, A.; Müller-Caspary, K.; Schropp, A.; Schroer, C.; Hoffmann, N.; Bussmann, M.

Ptychography is a computational imaging method used to numerically retrieve the projection of an object from a set of measured diffraction patterns. Each diffraction pattern represents a partially overlapping area of the object. The corresponding inverse problem, i.e. the image reconstruction, can be solved by projection-based or gradient-based algorithms. However, existing implementations are usually optimized for a specific system and therefore difficult to port to new systems. To solve this problem, we will be introducing the alpaka library with a generic C++ interface to implement an algorithm one time and execute it on different target platforms, like CPUs and GPUs from different vendors. First, we ported an existing algorithm, implemented in CUDA C++, to alpaka to demonstrate the workflow and advantages. Then, we implemented another algorithm from scratch to obtain the software requirements for an easy and fast development cycle of alpaka based image reconstruction applications.

Keywords: ptychography; imaging; gpu; cuda; performance portability; numerical methods; image reconstruction; real-time algorithms

  • Poster
    Performance Portable Reconstruction of Ptychography Data with the Alpaka C++ Library, 31.05.-01.06.2022, Berlin, Deutschland

Permalink: https://www.hzdr.de/publications/Publ-36110