HPC-GAP: High Performance Computational Algebra and Discrete Mathematics

Lead Research Organisation: Heriot-Watt University
Department Name: S of Mathematical and Computer Sciences

Abstract

Abstracts are not currently available in GtR for all funded research. This is normally because the abstract was not required at the time of proposal submission, but may be because it included sensitive information such as personal details.

Publications

10 25 50

publication icon
Archibald B (2018) Replicable parallel branch and bound search in Journal of Parallel and Distributed Computing

publication icon
Behrends R (2016) HPC-GAP: engineering a 21st-century high-performance computer algebra system in Concurrency and Computation: Practice and Experience

publication icon
BERTHOLD J (2016) PAEAN: Portable and scalable runtime support for parallel Haskell dialects in Journal of Functional Programming

publication icon
Chechina N (2011) Redundant movements in autonomous mobility: Experimental and theoretical analysis in Journal of Parallel and Distributed Computing

publication icon
Deng X (2010) Cost-driven autonomous mobility in Computer Languages, Systems & Structures

publication icon
Ibrahim I. S. (2016) High-performance Cloud Computing for Symbolic Computation Domain in Journal of Computations & Modelling

 
Description It is challenging, but possible, to implement HPC-Scale parallelism for algebraic computations, such as those described in the GAP system. From a performance point of view we demonstrate that we can achieve good speedups on a modern super-computer (EPCC's HECToR) for challenging symbolic computation applications. From a software development point of view we find that with careful engineering it is possible to provide consistent, high-level interfaces to coordinate parallel algebraic computations on multicores, cluster, and HPC architectures.
Exploitation Route The GAP system, the leading open source system for computational algebra, can be used in a range of industrial contexts, such as cryptographic methods for security. Through the HPCGAP award, the GAP system has significantly enhanced its functionality, in particular supporting multi-threading, widening its scale of applications. It can be combined with other coordination languages and with other computer algebra systems supporting the SCSCP protocol. Thus it achieves large-scale distributed computing and exploits the computational power on a scale not possible for other computational algebra systems. The GAP developers community continues to provide documentation, workshops and training courses, to make this new functionality accessible to GAP users, in order to apply its parallel software technology to more, challenging symbolic computation applications in all areas of computational science. The project "CoDiMa", a submission for EPSRC's "Collaborative Computational Projects" scheme, has recently been funded to continue this research.
Sectors Digital/Communication/Information Technologies (including Software)

URL http://www-circa.mcs.st-andrews.ac.uk/hpcgap.php
 
Description Our results, in terms of novel software technology, have been directly used by our project partners in producing the reported publications and have been picked up by other academics interested in languages and systems for large-scale parallel computation. In particular the HdpH language and the SymGridPar2 infrastructure have attracted interest in the very active Haskell developers community, by providing scalable and portable parallelism on large-scale parallel systems. Our results, in terms of improved performance for symbolic computation applications on super-computers, have created interest in the wider parallel programming community, being the first of its kind on modern super-computers. Our recent publication on HdpH-RS transfers these results to large-scale clusters and makes the results accessible to the wider community of distributed computing.
Sector Digital/Communication/Information Technologies (including Software)
Impact Types Economic

 
Description CALCIUM: Computer Algebra on Cloud Infrastructures
Amount £25,000 (GBP)
Funding ID RI-261565 
Organisation European Commission 
Sector Public
Country European Union (EU)
Start 09/2011 
End 05/2012
 
Description Partner in a Collaborative Computational Project (CCP) (Project: CoDiMa "Computational Discrete Mathematics")
Amount £294,007 (GBP)
Funding ID EP/M022641/1 
Organisation Engineering and Physical Sciences Research Council (EPSRC) 
Sector Public
Country United Kingdom
Start 03/2015 
End 03/2020
 
Description HPCGAP project partner collaboration 
Organisation University of Aberdeen
Department Mathematics Department
Country United Kingdom 
Sector Academic/University 
PI Contribution We contributed to this project collaboration mainly on the topics of languages and systems for parallel computing, as detailed in the HPCGAP project proposal.
Collaborator Contribution The partners contributed to the collaboration on the topics computational algebra systems (Univ St Andrews), algorithms for symbolic computation (Univ Aberdeen), and super-computing software and hardware expertise (EPCC), as detailed in the HPCGAP project proposal.
Impact The main outcomes of this collaboration are detailed in this submission to ResearchFish.
Start Year 2009
 
Description HPCGAP project partner collaboration 
Organisation University of Edinburgh
Department Edinburgh Parallel Computing Centre (EPCC)
Country United Kingdom 
Sector Academic/University 
PI Contribution We contributed to this project collaboration mainly on the topics of languages and systems for parallel computing, as detailed in the HPCGAP project proposal.
Collaborator Contribution The partners contributed to the collaboration on the topics computational algebra systems (Univ St Andrews), algorithms for symbolic computation (Univ Aberdeen), and super-computing software and hardware expertise (EPCC), as detailed in the HPCGAP project proposal.
Impact The main outcomes of this collaboration are detailed in this submission to ResearchFish.
Start Year 2009
 
Description HPCGAP project partner collaboration 
Organisation University of St Andrews
Department Centre for Interdisciplinary Research in Computational Algebra (CIRCA)
Country United Kingdom 
Sector Academic/University 
PI Contribution We contributed to this project collaboration mainly on the topics of languages and systems for parallel computing, as detailed in the HPCGAP project proposal.
Collaborator Contribution The partners contributed to the collaboration on the topics computational algebra systems (Univ St Andrews), algorithms for symbolic computation (Univ Aberdeen), and super-computing software and hardware expertise (EPCC), as detailed in the HPCGAP project proposal.
Impact The main outcomes of this collaboration are detailed in this submission to ResearchFish.
Start Year 2009
 
Title Explicit closures in Haskell distributed parallel Haskell 
Description Explicit closures are serialisable representations of thunks. This package exports the fully polymorphic explicit closures of HdpH (Haskell distributed parallel Haskell), for use by HdpH or other packages. 
Type Of Technology Software 
Year Produced 2013 
Open Source License? Yes  
Impact This serialisation component provides key functionality to the HdpH software technology, which is the main software output of the project. Serialisation is also of interest in isolation, therefore this module was published separately as well. 
URL http://hackage.haskell.org/package/hdph-closure-0.0.1
 
Title Haskell Distributed Parallel Haskell with Reliable Scheduling 
Description Haskell distributed parallel Haskell Reliable Scheduling (HdpH-RS) is a Haskell DSL for fault tolerant parallel computation on distributed-memory architectures. HdpH-RS is a derivation of HdpH and is a research tool for scalable and reliable scheduling on HPC platforms. HdpH-RS is implemented entirely in Haskell but does make use of a few GHC extensions, most notably TemplateHaskell. 
Type Of Technology Software 
Year Produced 2013 
Open Source License? Yes  
Impact This software reflects the outcomes of the PhD Thesis "Reliable Massively Parallel Symbolic Computing Fault Tolerance for a Distributed Haskell" by Rob Stewart, Heriot-Watt University, November 2013. 
URL https://github.com/robstewart57/hdph-rs
 
Title Haskell distributed parallel Haskell 
Description Haskell distributed parallel Haskell (HdpH) is a Haskell DSL for distributed-memory parallelism, implemented entirely in Haskell (as supported by GHC). The initial version (hdph-0.0.1) was released, and reported on, in 2011. The latest version at the time of writing is hdp-0.2.2 (see URL below). 
Type Of Technology Software 
Year Produced 2013 
Open Source License? Yes  
Impact This software provides enabling technology for high-level parallel programming, and was the basis for the measurements of challenging parallel symbolic applications on the HECToR super-computer. 
URL https://github.com/PatrickMaier/HdpH
 
Title Revised Parallel Evaluation Strategies for Haskell 
Description Parallel Evaluation Strategies, or Strategies for short, provide ways to express parallel computations. Strategies have the following key features: * Strategies express deterministic parallelism: the result of the program is unaffected by evaluating in parallel. The parallel tasks evaluated by a Strategy may have no side effects. * Strategies let you separate the description of the parallelism from the logic of your program, enabling modular parallelism. 
Type Of Technology Software 
Year Produced 2010 
Open Source License? Yes  
Impact This package represents a revision of the evaluation strategies module for controlling parallelism in Glasgow parallel Haskell (GpH). Since GpH can be used on both shared and distributed memory platforms, it is a widely used dialect of Haskell. 
URL http://hackage.haskell.org/package/parallel-3.2.0.3
 
Description Better Strategies for Parallel Haskell (SPARC-M talk) 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Type Of Presentation paper presentation
Geographic Reach Regional
Primary Audience Professional Practitioners
Results and Impact Presentation of results of Haskell '10 paper "Seq no more: Better Strategies for Parallel Haskell" at the SICSA/NAIS Scottish Parallel Computational Mathematics Meeting (SPARC-M).



Audience: Computer scientist and mathematicions.

The presentation sparked interest in the concrete software technology for high-level parallel programming.
Year(s) Of Engagement Activity 2011
URL http://www.macs.hw.ac.uk/~dsg/events/sparc-m/hwu11.html
 
Description Distributed vs. Shared Heap on Shared Memory Machines 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Type Of Presentation paper presentation
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact The talk presented a paper, subsequently accepted for publication in "TFP'14: Symposium on Trends in Functional Programming", but not yet formally published at the time of writing.

The talk resulted in strong interest in the research findings, beyond the immediate software technology used in these measurements.
Year(s) Of Engagement Activity 2014
URL http://www.cs.uu.nl/wiki/TFP2014/WebHome
 
Description Finding Matrices of Invariant Bilinear Forms in the Representation Theory of Hecke Algebras. 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Other academic audiences (collaborators, peers etc.)
Results and Impact The presentation informed about a case study of using our software technology in the domain of parallel symbolic computation

The presentation sparked interest in our software technology among the core user-base of the GAP system and generated requests for further information and practical usage.
Year(s) Of Engagement Activity 2013
URL http://www.gap-system.org/hpcgap2013/
 
Description GUMSMP: a multilevel parallel Haskell implementation (HIW14 talk) 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Other academic audiences (collaborators, peers etc.)
Results and Impact The presentation sparked interest in our software technology among the very active community of Haskell implementors.

The presentation resulted in concrete requests for availability and usage of the software technology.
Year(s) Of Engagement Activity 2014
URL https://www.haskell.org/haskellwiki/HaskellImplementorsWorkshop/2014
 
Description Haskell distributed parallel Haskell (EdLambda talk) 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach Regional
Primary Audience Professional Practitioners
Results and Impact Presentation of the design and prototype implementation of Haskell distributed parallel Haskell (HdpH) at EdLambda, an informal monthly meetup for programming enthusiasts. The talk covers largely the contents of the IFL '11 paper "Implementing a High-level Distributed-Memory parallel Haskell in Haskell", and reports additional experiments.



Audience: Programmers and programming languages researchers from academia and industry.

The talk served to disseminate information on language design for high-level parallel programming, to a professional audience with increasing interest in this topic.
Year(s) Of Engagement Activity 2012
URL http://www.edlambda.co.uk/
 
Description Haskell distributed parallel Haskell (HIW lightning talk) 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Type Of Presentation paper presentation
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact A brief overview over the current status of Haskell distributed parallel Haskell (HdpH) at the Haskell Implementors Workshop (HIW).



Audience: Haskell programmers from academia and industry.

The talk resulted in increased interest in and requests for the software technology presented.
Year(s) Of Engagement Activity 2012
URL https://www.haskell.org/haskellwiki/HaskellImplementorsWorkshop/2012
 
Description Haskell distributed parallel Haskell (SPLS talk) 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Type Of Presentation paper presentation
Geographic Reach Regional
Primary Audience Professional Practitioners
Results and Impact Presentation of the design and prototype implementation of Haskell distributed parallel Haskell (HdpH) at the Scottish Programming Languages Seminar (SLPS). The talk covers largely the contents of the IFL '11 paper: Implementing a High-level Distributed-Memory parallel Haskell in Haskell.



Audience: Programming languages researchers.
.

The presentation resulted in requests for more information and building an interest group around language design issues.
Year(s) Of Engagement Activity 2011
URL http://www.dcs.gla.ac.uk/research/spls/Nov11/index.html
 
Description Reliable Scalabe Symbolic Computation: The Design of SymGridPar2. 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Professional Practitioners
Results and Impact The talk presented our research on high-level languages for parallel programming to the super-computing community and resulted in discussions with potential users of our language and software technology.

The talk resulted in further interest in our research with requests for more information. The feedback from the discussions with the super-computing community fed into our research of applying the software to a concrete super-computer (HECToR at EPCC) which led to a high-profile publication (DOI:10.1007/978-3-319-09873-9_35)
Year(s) Of Engagement Activity 2013
URL http://www.easc2013.org.uk/easc2013-solving-software-challenges-exascale
 
Description Seq no more: Better Strategies for Parallel Haskell (SPLS talk) 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Type Of Presentation paper presentation
Geographic Reach Regional
Primary Audience Professional Practitioners
Results and Impact Presentation of results of Haskell '10 paper "Seq no more: Better Strategies for Parallel Haskell" at the Scottish Programming Languages Seminar (SLPS).



Audience: Programming languages researchers, mostly academic, some from industrial research labs.

The talk resulted in discussions around and interest in the software technology presented in the paper. The talk was geared towards academics and experts in the area of high-level parallel programming.
Year(s) Of Engagement Activity 2010
 
Description The Implementation of the HdpH DSLs: Details and Difficulties (HIW14 talk) 
Form Of Engagement Activity A talk or presentation
Part Of Official Scheme? No
Geographic Reach International
Primary Audience Other academic audiences (collaborators, peers etc.)
Results and Impact The talk disseminated technical information on the development of our software technology (HdpH).

The talk started discussions around sharing technologies for high-level parallel programming, as documented on the web page below.
Year(s) Of Engagement Activity 2014
URL https://ghc.haskell.org/trac/ghc/blog/simonpj/StaticPointers