Framework for parallel graph management and execution in heterogeneous computing
Top 28.7% on sourcepulse
Pathos is a Python framework designed to simplify parallel and distributed computing across heterogeneous resources. It targets researchers and developers needing to scale their Python code with minimal refactoring, offering a unified interface for parallel execution that can seamlessly switch between local multiprocessing, distributed clusters, and even hierarchical setups.
How It Works
Pathos provides a high-level map
and apply
interface that acts as a drop-in replacement for serial Python equivalents. It achieves this by abstracting away the complexities of configuring, launching, and managing parallel jobs across different execution environments. The framework uses configurable "launchers" (e.g., SSH-based, MPI-based) that handle the syntactic details of job submission. A key design principle is enabling a single codebase to leverage various parallel resources without code duplication, and it supports nested parallel computations for hierarchical heterogeneous computing.
Quick Start & Requirements
$ pip install pathos
Highlighted Details
Maintenance & Community
Licensing & Compatibility
Limitations & Caveats
The README mentions that RPC communication is inherently insecure, but pathos mitigates this by providing optional SSH tunneling. While it supports various execution environments, the setup for distributed clusters might require specific configurations on those clusters.
1 month ago
1 day