Abstract
We present an autotuning approach applied to exhaustive performance engineering of the EM-ICP algorithm for the point set registration problem with a known reference. We were able to achieve progressively higher performance levels through a variety of code transformations and an automated procedure of generating a large number of implementation variants. Furthermore, we managed to exploit code patterns that are not common when only attempting manual optimization but which yielded in our tests better performance for the chosen registration algorithm. Finally, we also show how we maintained high levels of the performance rate in a portable fashion across a wide range of hardware platforms including multicore, manycore coprocessors, and accelerators. Each of these hardware classes is much different from the others and, consequently, cannot reliably be mastered by a single developer in a short time required to deliver a close-to-optimal implementation. We assert in our concluding remarks that our methodology as well as the presented tools provide a valid automation system for software optimization tasks on modern HPC hardware.
Original language | English |
---|---|
Pages (from-to) | 42-61 |
Number of pages | 20 |
Journal | Supercomputing Frontiers and Innovations |
Volume | 5 |
Issue number | 4 |
DOIs | |
State | Published - 2018 |
Funding
This research was supported by United States National Science Foundation through grant 1642441. This research was supported by United States National Science Foundation through grant 1642441. This paper is distributed under the terms of the Creative Commons Attribution-Non Commercial 3.0 License which permits non-commercial use, reproduction and distribution of the work without further permission provided the original work is properly cited
Funders | Funder number |
---|---|
United States National Science Foundation | |
National Science Foundation | 1642441 |
Keywords
- Autotuning with code generation
- Combinatorial optimization
- Point set registration
- Portable performance engineering