X10 as a parallel language for scientific computation: Practice and experience

Josh Milthorpe, V. Ganesh, Alistair P. Rendell, David Grove

Research output: Chapter in Book/Report/Conference proceedingConference contribution

25 Citations (Scopus)

Abstract

X10 is an emerging Partitioned Global Address Space (PGAS) language intended to increase significantly the productivity of developing scalable HPC applications. The language has now matured to a point where it is meaningful to consider writing large scale scientific application codes in X10. This paper reports our experiences writing three codes from the chemistry/material science domain: Fast Multipole Method (FMM), Particle Mesh Ewald (PME) and Hartree-Fock (HF), entirely in X10. Performance results are presented for up to 256 places on a Blue Gene/P system. During the course of this work our experiences have been shared with the X10 development team, so that application requirements could inform language design discussions as the language capabilities influenced algorithm design. This resulted in improvements in the language implementation and standard class libraries, including the design of the array API and support for complex math. Data constructs in X10 such as places and distributed arrays, and parallel constructs such as finish and async, simplify implementation of the applications in comparison with MPI. However, current implementation limitations in X10 2.1.2 make it difficult to achieve scalable performance using the most natural expressions of the algorithms. The most serious limitation is the use of point-to-point communication patterns, rather than collectives, to implement parallel constructs and array operations. This issue will be addressed in future releases of X10.

Original languageEnglish
Title of host publicationProceedings - 25th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2011
Pages1080-1088
Number of pages9
DOIs
Publication statusPublished - 3 Oct 2011
Externally publishedYes
Event25th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2011 - Anchorage, AK, United States
Duration: 16 May 201120 May 2011

Conference

Conference25th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2011
CountryUnited States
CityAnchorage, AK
Period16/05/1120/05/11

Keywords

  • Fast Multipole method
  • Hartree-Fock method
  • parallel languages
  • Partitioned Global Address Space (PGAS)
  • scalability
  • scientific computing
  • Smooth Particle Mesh Ewald method
  • X10

Fingerprint Dive into the research topics of 'X10 as a parallel language for scientific computation: Practice and experience'. Together they form a unique fingerprint.

  • Cite this

    Milthorpe, J., Ganesh, V., Rendell, A. P., & Grove, D. (2011). X10 as a parallel language for scientific computation: Practice and experience. In Proceedings - 25th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2011 (pp. 1080-1088). [6012915] https://doi.org/10.1109/IPDPS.2011.103