异构集群多层次异构存储的特点,决定了在其上进行计算时,数据需要进行更多维度的划分.现有集群程序设计语言缺乏对多维数组传输和转置的统一表示机制.介绍多维数组维度转置的表示方法和课题组实现的Parray语言,可以对异构集群复杂数据维度变换的数据操作进行清晰表示.同时介绍基于数组维度类型程序设计方法和Parrayi语言实现的天河1A系统上的火规模3维FFT,该算法代码实现简洁,同时得到了良好的性能和可延展性。
Because a heterogeneous cluster relies on a heterogeneous storage system, the data needs to be divided in a multi- dimensionally manner when doing computation on it. Current cluster-level programming languages have no unified representation mechanisms of transmission and transposition of multi-dimensional arrays. This article describes the programming method based on multi-dimensional array types and the Parray language, which can be used to represent the complex multi-dimensional data transposition on heterogeneous clusters in a clear way. A large-scale three-dimensional FFT implementation on Tianhe 1A based on the array type programming method and Parray is also introduced. The final code is very simple but gets a good performance and scalability at the same time.