• DocumentCode
    3206495
  • Title

    X10 as a Parallel Language for Scientific Computation: Practice and Experience

  • Author

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

  • Author_Institution
    Sch. of Comput. Sci., Australian Nat. Univ., Canberra, ACT, Australia
  • fYear
    2011
  • fDate
    16-20 May 2011
  • Firstpage
    1080
  • Lastpage
    1088
  • 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 emph{places} and emph{distributed arrays}, and parallel constructs such as emph{finish} and emph{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.
  • Keywords
    HF calculations; application program interfaces; chemistry computing; materials science computing; message passing; parallel languages; parallel machines; parallel programming; Blue Gene/P system; HF calculation; Hartree-Fock calculation; MPI; Smooth Particle Mesh Ewald method; X10 parallel language; algorithm design; array API; array operation; chemistry computing; class library; fast multipole method; language capability; language design; language implementation; material science; partitioned global address space language; point-to-point communication pattern; scalable HPC applications; scientific application codes; scientific computation; Arrays; Computational modeling; Libraries; Linear algebra; Reactive power; Three dimensional displays; Writing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel & Distributed Processing Symposium (IPDPS), 2011 IEEE International
  • Conference_Location
    Anchorage, AK
  • ISSN
    1530-2075
  • Print_ISBN
    978-1-61284-372-8
  • Electronic_ISBN
    1530-2075
  • Type

    conf

  • DOI
    10.1109/IPDPS.2011.103
  • Filename
    6012915