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
STEWART R
(2016)
Transparent fault tolerance for scalable functional computation
in Journal of Functional Programming
Stewart R
(2011)
Advanced Parallel Processing Technologies
Totoo P
(2014)
Lazy data-oriented evaluation strategies
Trinder P
(2011)
Resource analyses for parallel and distributed coordination
in Concurrency and Computation: Practice and Experience
Trinder P
(2010)
SymGrid-Par
Vladimir Janjic
(2013)
Space Exploration using Parallel Orbits: a Study in Parallel Symbolic Computing
Zain A
(2012)
Orchestrating computational algebra components into a high-performance parallel system
in International Journal of High Performance Computing and Networking
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 |