Toward Interlanguage Parallel Scripting for Distributed-Memory Scientific Computing

07/06/2021
by   Justin M. Wozniak, et al.
0

Scripting languages such as Python and R have been widely adopted as tools for the productive development of scientific software because of the power and expressiveness of the languages and available libraries. However, deploying scripted applications on large-scale parallel computer systems such as the IBM Blue Gene/Q or Cray XE6 is a challenge because of issues including operating system limitations, interoperability challenges, parallel filesystem overheads due to the small file system accesses common in scripted approaches, and other issues. We present here a new approach to these problems in which the Swift scripting system is used to integrate high-level scripts written in Python, R, and Tcl, with native code developed in C, C++, and Fortran, by linking Swift to the library interfaces to the script interpreters. In this approach, Swift handles data management, movement, and marshaling among distributed-memory processes without direct user manipulation of low-level communication libraries such as MPI. We present a technique to efficiently launch scripted applications on large-scale supercomputers using a hierarchical programming model.

READ FULL TEXT
research
05/12/2023

Design and Development of a Java Parallel I/O Library

Parallel I/O refers to the ability of scientific programs to concurrentl...
research
04/04/2019

Automated Fortran--C++ Bindings for Large-Scale Scientific Applications

Although many active scientific codes use modern Fortran, most contempor...
research
10/17/2018

Asynchronous Execution of Python Code on Task Based Runtime Systems

Despite advancements in the areas of parallel and distributed computing,...
research
01/29/2013

PyXNAT: XNAT in Python

As neuroimaging databases grow in size and complexity, the time research...
research
05/06/2019

Parsl: Pervasive Parallel Programming in Python

High-level programming languages such as Python are increasingly used to...
research
10/26/2018

AutoParallel: A Python module for automatic parallelization and distributed execution of affine loop nests

The last improvements in programming languages, programming models, and ...
research
09/07/2023

pPython Performance Study

pPython seeks to provide a parallel capability that provides good speed-...

Please sign up or login with your details

Forgot password? Click here to reset