首页> 外文会议>2011 25th IEEE International Parallel Distributed Processing Symposium >X10 as a Parallel Language for Scientific Computation: Practice and Experience
【24h】

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

机译:X10作为科学计算的并行语言:实践和经验

获取原文

摘要

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.
机译:X10是新兴的分区全局地址空间(PGAS)语言,旨在显着提高开发可扩展HPC应用程序的生产率。该语言现已成熟到可以考虑在X10中编写大规模科学应用程序代码的地步。本文报告了我们在化学/材料科学领域中编写三个代码的经验:快速多极方法(FMM),粒子网格Ewald(PME)和Hartree-Fock(HF)完全在X10中编写。在Blue Gene / P系统上,最多可显示256个位置的性能结果。在这项工作的过程中,我们的经验已与X10开发团队共享,因此,由于语言功能影响了算法设计,因此应用程序需求可以指导语言设计讨论。这导致了语言实现和标准类库的改进,包括数组API的设计和对复杂数学的支持。与MPI相比,X10中的数据结构(例如emph {places}和emph {distributed arrays)以及并行结构(例如emph {finish}和emph {async})简化了应用程序的实现。但是,当前X10 2.1.2中的实现限制使使用算法的最自然表达难以实现可扩展的性能。最严重的限制是使用点对点通信模式而非集合来实现并行构造和数组操作。 X10的将来版本中将解决此问题。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号