Comparing a Naive and a Tree-Based N-Body Algorithm using Different Standard SYCL Implementations on Various Hardware
T. Thüring, M. Breyer, und D. Pflüger. Proceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis, Seite 1906–1917. New York, NY, USA, Association for Computing Machinery, (12.11.2023)
DOI: 10.1145/3624062.3624604
Zusammenfassung
N-body algorithms aim to calculate the interactions between n different bodies with the goal of obtaining their trajectories. Algorithms that solve the n-body problem can leverage significant amounts of parallelism. Today, s are commonly used besides s for the execution of parallel algorithms. However, targeting several hardware platforms at once often requires using different programming languages. In this work, we have implemented a naive and tree-based Barnes-Hut n-body algorithm using SYCL to target s and s with the same programming language. We compare both algorithms on heterogeneous hardware platforms and for different SYCL implementations, with respect to their runtime behavior and support for several performance optimizations. Our results show that some optimizations reveal unexpected behavior for different SYCL implementations. And even though data center s have a clear performance advantage for the naive algorithm, surprisingly consumer s offer competitive runtimes for the Barnes-Hut algorithm.
%0 Conference Paper
%1 Thüring2023
%A Thüring, Tim
%A Breyer, Marcel
%A Pflüger, Dirk
%B Proceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis
%C New York, NY, USA
%D 2023
%I Association for Computing Machinery
%K myown portability sycl
%P 1906–1917
%R 10.1145/3624062.3624604
%T Comparing a Naive and a Tree-Based N-Body Algorithm using Different Standard SYCL Implementations on Various Hardware
%U https://doi.org/10.1145/3624062.3624604
%X N-body algorithms aim to calculate the interactions between n different bodies with the goal of obtaining their trajectories. Algorithms that solve the n-body problem can leverage significant amounts of parallelism. Today, s are commonly used besides s for the execution of parallel algorithms. However, targeting several hardware platforms at once often requires using different programming languages. In this work, we have implemented a naive and tree-based Barnes-Hut n-body algorithm using SYCL to target s and s with the same programming language. We compare both algorithms on heterogeneous hardware platforms and for different SYCL implementations, with respect to their runtime behavior and support for several performance optimizations. Our results show that some optimizations reveal unexpected behavior for different SYCL implementations. And even though data center s have a clear performance advantage for the naive algorithm, surprisingly consumer s offer competitive runtimes for the Barnes-Hut algorithm.
%@ 9798400707858
@inproceedings{Thüring2023,
abstract = {N-body algorithms aim to calculate the interactions between n different bodies with the goal of obtaining their trajectories. Algorithms that solve the n-body problem can leverage significant amounts of parallelism. Today, s are commonly used besides s for the execution of parallel algorithms. However, targeting several hardware platforms at once often requires using different programming languages. In this work, we have implemented a naive and tree-based Barnes-Hut n-body algorithm using SYCL to target s and s with the same programming language. We compare both algorithms on heterogeneous hardware platforms and for different SYCL implementations, with respect to their runtime behavior and support for several performance optimizations. Our results show that some optimizations reveal unexpected behavior for different SYCL implementations. And even though data center s have a clear performance advantage for the naive algorithm, surprisingly consumer s offer competitive runtimes for the Barnes-Hut algorithm.},
added-at = {2023-11-13T21:34:06.000+0100},
address = {New York, NY, USA},
author = {Thüring, Tim and Breyer, Marcel and Pflüger, Dirk},
biburl = {https://puma.ub.uni-stuttgart.de/bibtex/2a8f505c18348c431d6786a5ab05080ff/marcelbreyer},
booktitle = {Proceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis},
day = 12,
doi = {10.1145/3624062.3624604},
interhash = {860a13b5e4df588f2626b9024aee0af1},
intrahash = {a8f505c18348c431d6786a5ab05080ff},
isbn = {9798400707858},
keywords = {myown portability sycl},
location = {Denver, CO, USA},
month = {11},
pages = {1906–1917},
publisher = {Association for Computing Machinery},
series = {SC-W '23},
timestamp = {2023-11-13T21:34:06.000+0100},
title = {Comparing a Naive and a Tree-Based N-Body Algorithm using Different Standard SYCL Implementations on Various Hardware},
url = {https://doi.org/10.1145/3624062.3624604},
year = 2023
}