High-Performance Computer Algebra: A Hecke Algebra Case Study

  • Patrick Maier
  • Daria Livesey
  • Hans-Wolfgang Loidl
  • Phil Trinder
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8632)

Abstract

We describe the first ever parallelisation of an algebraic computation at modern HPC scale. Our case study poses challenges typical of the domain: it is a multi-phase application with dynamic task creation and irregular parallelism over complex control and data structures.

Our starting point is a sequential algorithm for finding invariant bilinear forms in the representation theory of Hecke algebras, implemented in the GAP computational group theory system. After optimising the sequential code we develop a parallel algorithm that exploits the new skeleton-based SGP2 framework to parallelise the three most computationally-intensive phases. To this end we develop a new domain-specific skeleton, parBufferTryReduce. We report good parallel performance both on a commodity cluster and on a national HPC, delivering speedups up to 548 over the optimised sequential implementation on 1024 cores.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Char, B.W.: Progress report on a system for general-purpose parallel symbolic algebraic computation. In: ISSAC 1990, Tokyo, Japan, pp. 96–103. ACM Press (1990)Google Scholar
  2. 2.
    Cole, M.I.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press (1989)Google Scholar
  3. 3.
    Cooperman, G.: GAP/MPI: Writing parallel programs in GAP easily. Tech. rep., Northeastern University, Boston, USA (1998)Google Scholar
  4. 4.
    Cooperman, G.: TOP-C: Task-oriented parallel C for distributed and shared memory. In: Cooperman, G., Jessen, E., Michler, G.O. (eds.) Workshop on Wide Area Networks and High Performance Computing. LNCIS, vol. 249, pp. 109–117. Springer, London (1999)Google Scholar
  5. 5.
    Cooperman, G.: Parallel GAP: Mature interactive parallel computing. In: Groups and Computation III, Columbus, OH, USA, pp. 123–138. De Gruyter (2001)Google Scholar
  6. 6.
    Cooperman, G., Tselman, M.: New sequential and parallel algorithms for generating high dimension Hecke algebras using the condensation technique. In: ISSAC 1996, Zürich, Switzerland, pp. 155–160. ACM Press (1996)Google Scholar
  7. 7.
    GAP Group: GAP – groups, algorithms, and programming (2007), http://www.gap-system.org
  8. 8.
    Geck, M.: Hecke algebras of finite type are cellular. Invent. Math. 169, 501–517 (2007)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Geck, M., Müller, J.: James’ conjecture for Hecke algebras of exceptional type, I. J. Algebra 321(11), 3274–3298 (2009)MathSciNetCrossRefMATHGoogle Scholar
  10. 10.
    Grabmeier, J., Kaltofen, E., Weispfenning, V.: Computer Algebra Handbook. Springer (2003)Google Scholar
  11. 11.
    Graham, J.J., Lehrer, G.I.: Cellular algebras. Invent. Math. 123, 1–34 (1996)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    HECToR: UK National Supercomputing Service, www.hector.ac.uk
  13. 13.
    Howlett, R.B.: W-graphs for the irreducible representations of the Hecke algebras of type E 7 and E 8, private communication with J. Michel (December 2003)Google Scholar
  14. 14.
    Janjic, V., et al.: Space exploration using parallel orbits. In: Advances in Parallel Computing, ParCo 2013, Munich, Germany, vol. 25, pp. 225–232. IOS Press (2014)Google Scholar
  15. 15.
    Konovalov, A., Linton, S.: Parallel computations in modular group algebras. In: PASCO 2010, Grenoble, France, pp. 141–149. ACM Press (2010)Google Scholar
  16. 16.
    Linton, S., et al.: Easy composition of symbolic computation software using SCSCP. J. Symb. Comput. 49, 19–95 (2013)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Livesey, D.: High Performance Computations with Hecke Algebras: Bilinear Forms and Jantzen Filtrations. Ph.D. thesis, University of Aberdeen (2014)Google Scholar
  18. 18.
    Loidl, H.W., et al.: Comparing parallel functional languages: Programming and performance. Higher-order and Symbolic Computation 16(3), 203–251 (2003)CrossRefMATHGoogle Scholar
  19. 19.
    Loustaunau, P., Wang, P.Y.: Towards efficient parallelizations of a computer algebra algorithm. In: Frontiers of Massively Parallel Computation, McLean, VA, USA, pp. 67–74. IEEE (1992)Google Scholar
  20. 20.
    Maier, P., Stewart, R., Trinder, P.W.: Reliable scalable symbolic computation: The design of SymGridPar2. Computer Languages, Systems & Structures 40(1), 19–35 (2014)CrossRefGoogle Scholar
  21. 21.
    Maier, P., Trinder, P.: Implementing a high-level distributed-memory parallel Haskell in Haskell. In: Gill, A., Hage, J. (eds.) IFL 2011. LNCS, vol. 7257, pp. 35–50. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  22. 22.
  23. 23.
    Neun, W., Melenk, H.: Very large Gröbner basis calculations. In: Zippel, R.E. (ed.) CAP 1990. LNCS, vol. 584, pp. 89–99. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  24. 24.
    Roch, J.L., Sénéchaud, P., Françoise Siebert-Roch, F., Villard, G.: Computer algebra on MIMD machine. In: Gianni, P. (ed.) ISSAC 1988. LNCS, vol. 358, pp. 423–439. Springer, Heidelberg (1989)CrossRefGoogle Scholar
  25. 25.
    Roch, J.L., Villard, G.: Parallel computer algebra. Tech. rep., IMAG, France, tutorial at ISSAC 1997 (1997)Google Scholar
  26. 26.
    Schreiner, W., Mittermaier, C., Bosa, K.: Distributed Maple: parallel computer algebra in networked environments. J. Symb. Comput. 35(3), 305–347 (2003)MathSciNetCrossRefMATHGoogle Scholar
  27. 27.
    Sibert, E.E., Mattson, H.F., Jackson, P.: Finite field arithmetic using the Connection Machine. In: Zippel, R.E. (ed.) CAP 1990. LNCS, vol. 584, pp. 51–61. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  28. 28.
    Stewart, R.: Reliable Massively Parallel Symbolic Computing: Fault Tolerance for a Distributed Haskell. Ph.D. thesis, Heriot-Watt University (2013)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Patrick Maier
    • 1
  • Daria Livesey
    • 2
  • Hans-Wolfgang Loidl
    • 3
  • Phil Trinder
    • 1
  1. 1.School of Computing ScienceUniversity of GlasgowGlasgowUK
  2. 2.School of Natural and Computing SciencesUniversity of AberdeenAberdeenUK
  3. 3.School of Mathematical and Computer SciencesHeriot-Watt UniversityEdinburghUK

Personalised recommendations