Using HPX and OP2 for Improving Parallel Scaling Performance of Unstructured Grid Applications
Document Type
Conference Proceeding
Publication Date
9-23-2016
Abstract
Computer scientists and programmers face the difficultly of improving the scalability of their applications while using conventional programming techniques only. As a base-line hypothesis of this paper we assume that an advanced runtime system can be used to take full advantage of the available parallel resources of a machine in order to achieve the highest parallelism possible. In this paper we present the capabilities of HPX-a distributed runtime system for parallel applications of any scale-to achieve the best possible scalability through asynchronous task execution [1]. OP2 is an active library which provides a framework for the parallel execution for unstructured grid applications on different multi-core/many-core hardware architectures [2]. OP2 generates code which uses OpenMP for loop parallelization within an application code for both single-threaded and multi-threaded machines. In this work we modify the OP2 code generator to target HPX instead of OpenMP, i.e. port the parallel simulation backend of OP2 to utilize HPX. We compare the performance results of the different parallelization methods using HPX and OpenMP for loop parallelization within the Airfoil application. The results of strong scaling and weak scaling tests for the Airfoil application on one node with up to 32 threads are presented. Using HPX for parallelization of OP2 gives an improvement in performance by 5%-21%. By modifying the OP2 code generator to use HPX's parallel algorithms, we observe scaling improvements by about 5% as compared to OpenMP. To fully exploit the potential of HPX, we adapted the OP2 API to expose a future and dataflow based programming model and applied this technique for parallelizing the same Airfoil application. We show that the dataflow oriented programming model, which automatically creates an execution tree representing the algorithmic data dependencies of our application, improves the overall scaling results by about 21% compared to OpenMP. Our results show the advantage of using the asynchronous programming model implemented by HPX.
Publication Source (Journal or Book title)
Proceedings of the International Conference on Parallel Processing Workshops
First Page
190
Last Page
199
Recommended Citation
Khatami, Z., Kaiser, H., & Ramanujam, J. (2016). Using HPX and OP2 for Improving Parallel Scaling Performance of Unstructured Grid Applications. Proceedings of the International Conference on Parallel Processing Workshops, 2016-September, 190-199. https://doi.org/10.1109/ICPPW.2016.39