Please use this identifier to cite or link to this item: http://hdl.handle.net/1893/30033
Appears in Collections:Computing Science and Mathematics Journal Articles
Peer Review Status: Refereed
Title: HPC-GAP: engineering a 21st-century high-performance computer algebra system
Author(s): Behrends, Reimer
Hammond, Kevin
Janjic, Vladimir
Konovalov, Alexander
Linton, Steve
Loidl, Hans-Wolfgang
Maier, Patrick
Trinder, Phil
Contact Email: patrick.maier@stir.ac.uk
Keywords: parallelism
multicore
high-performance computing
computational algebra
Issue Date: 10-Sep-2016
Date Deposited: 19-Aug-2019
Citation: Behrends R, Hammond K, Janjic V, Konovalov A, Linton S, Loidl H, Maier P & Trinder P (2016) HPC-GAP: engineering a 21st-century high-performance computer algebra system. Concurrency and Computation: Practice and Experience, 28 (13), pp. 3606-3636. https://doi.org/10.1002/cpe.3746
Abstract: Symbolic computation has underpinned a number of key advances in Mathematics and Computer Science. Applications are typically large and potentially highly parallel, making them good candidates for parallel execution at a variety of scales from multi‐core to high‐performance computing systems. However, much existing work on parallel computing is based around numeric rather than symbolic computations. In particular, symbolic computing presents particular problems in terms of varying granularity and irregular task sizes that do not match conventional approaches to parallelisation. It also presents problems in terms of the structure of the algorithms and data. This paper describes a new implementation of the free open‐source GAP computational algebra system that places parallelism at the heart of the design, dealing with the key scalability and cross‐platform portability problems. We provide three system layers that deal with the three most important classes of hardware: individual shared memory multi‐core nodes, mid‐scale distributed clusters of (multi‐core) nodes and full‐blown high‐performance computing systems, comprising large‐scale tightly connected networks of multi‐core nodes. This requires us to develop new cross‐layer programming abstractions in the form of new domain‐specific skeletons that allow us to seamlessly target different hardware levels. Our results show that, using our approach, we can achieve good scalability and speedups for two realistic exemplars, on high‐performance systems comprising up to 32000 cores, as well as on ubiquitous multi‐core systems and distributed clusters. The work reported here paves the way towards full‐scale exploitation of symbolic computation by high‐performance computing systems, and we demonstrate the potential with two major case studies. © 2016 The Authors. Concurrency and Computation: Practice and Experience Published by John Wiley & Sons Ltd.
DOI Link: 10.1002/cpe.3746
Rights: © 2016 The Authors. Concurrency and Computation: Practice and Experience Published by John Wiley & Sons Ltd. This is an open access article under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/), which permits use, distribution and reproduction in any medium, provided the original work is properly cited.
Licence URL(s): http://creativecommons.org/licenses/by/4.0/

Files in This Item:
File Description SizeFormat 
Behrends et al-2016-CCPE.pdfFulltext - Published Version3.67 MBAdobe PDFView/Open



This item is protected by original copyright



A file in this item is licensed under a Creative Commons License Creative Commons

Items in the Repository are protected by copyright, with all rights reserved, unless otherwise indicated.

The metadata of the records in the Repository are available under the CC0 public domain dedication: No Rights Reserved https://creativecommons.org/publicdomain/zero/1.0/

If you believe that any material held in STORRE infringes copyright, please contact library@stir.ac.uk providing details and we will remove the Work from public display in STORRE and investigate your claim.