Internal APIs#
Internally monarch is implemented using a Rust library for actors called hyperactor.
This book provides more details about its design.
This page provides access to the Rust API documentation for Monarch.
The Monarch project consists of several Rust crates, each with specialized functionality:
Core Framework#
hyperactor - Core actor framework for distributed computing
hyperactor_macros - Procedural macros for the hyperactor framework
hyperactor_multiprocess - Multi-process support for hyperactor
hyperactor_mesh - Mesh networking for hyperactor clusters
hyperactor_mesh_macros - Macros for hyperactor mesh functionality
CUDA and GPU Computing#
cuda-sys - Low-level CUDA FFI bindings
nccl-sys - NCCL (NVIDIA Collective Communications Library) bindings
torch-sys - PyTorch C++ API bindings for Rust
monarch_tensor_worker - High-performance tensor processing worker
RDMA and High-Performance Networking#
monarch_rdma - Remote Direct Memory Access (RDMA) support for high-speed networking
rdmaxcel-sys - Low-level RDMA acceleration bindings
System and Utilities#
controller - System controller and orchestration
hyper - HTTP utilities and web service support
ndslice - N-dimensional array slicing and manipulation
monarch_extension - Python extension module for Monarch functionality
Architecture Overview#
The Rust implementation provides a comprehensive framework for distributed computing with GPU acceleration:
Actor Model: Built on the hyperactor framework for concurrent, distributed processing
GPU Integration: Native CUDA support for high-performance computing workloads
Mesh Networking: Efficient communication between distributed nodes
Tensor Operations: Optimized tensor processing with PyTorch integration
Multi-dimensional Arrays: Advanced slicing and manipulation of n-dimensional data
For complete technical details, API references, and usage examples, explore the individual crate documentation above.