pPython seeks to provide a parallel capability that provides good speed-up without sacrificing the ease of programming in Python by implementing partitioned global array semantics (PGAS) on top of a simple file-based messaging library (PythonMPI) in pure Python. The core data structure in pPython is a distributed numerical array whose distribution onto multiple processors is specified with a map construct. Communication operations between distributed arrays are abstracted away from the user and pPython transparently supports redistribution between any block-cyclic-overlapped distributions in up to four dimensions. pPython follows a SPMD (single program multiple data) model of computation. pPython runs on any combination of heterogeneous systems that support Python, including Windows, Linux, and MacOS operating systems. In addition to running transparently on single-node (e.g., a laptop), pPython provides a scheduler interface, so that pPython can be executed in a massively parallel computing environment. The initial implementation uses the Slurm scheduler. Performance of pPython on the HPC Challenge benchmark suite demonstrates both ease of programming and scalability.
翻译:pyphon 寻求提供一种平行能力, 提供良好的速度, 同时又不牺牲 Python 编程的方便性, 在纯 Python 中, 在简单的基于文件的信息库( PythonMPI ) 上, 在纯 Python 中, 在基于文件的信息库( Python MPI ) 上安装分隔式的全球阵列语义( PGAS ) 。 python 中的核心数据结构是一个分布式数字阵列, 该阵列分布在多个处理器上的分配通过地图构造来指定。 分布式阵列之间的通信操作被从用户和 Python 透明地从用户和 Python 中抽取, 支持在最多四个维度的计算环境中的任何区块自行车覆盖的分布分布。 python 遵循一个 SPMD( 单个程序程序多个数据) 模型。 python 最初的实施工作使用支持 Python 系统的任何组合, 包括 Window、 Linux、 和 MaclodalptalPl 的系统。