Parallelization

This page contains the reference documentation for the parallelization module.

Vectorized Environments

These are interfaces, classes and utility functions for vectorized environments:

VectorEnv

Abstract base class for vectorised environments.

StructuredVectorEnv

Common superclass for the structured vectorised env implementations in Maze.

SequentialVectorEnv

Creates a simple wrapper for multiple environments, calling each environment in sequence on the current Python process.

SubprocVectorEnv

Creates a multiprocess wrapper for multiple environments, distributing each environment to its own process.

CloudpickleWrapper

Uses cloudpickle to serialize contents (otherwise multiprocessing tries to use pickle).

SinkHoleConsumer

Sink hole statistics consumer.

disable_epoch_level_stats

Disable collection of statistics on epoch level to save memory.

Distributed Actors

These are interfaces, classes and utility functions for distributed actors:

DistributedActors

The base class for all distributed actors.

SequentialDistributedActors

Dummy implementation of distributed actors creates the actors as a list. Once the outputs are to

SubprocDistributedActors

Basic Distributed-Actors-Module using python multiprocessing.Process

BaseDistributedWorkersWithBuffer

The base class for all distributed workers with buffer.

DummyDistributedWorkersWithBuffer

Dummy implementation of distributed workers with buffer creates the workers as a list.

Utilities

Reusable components used in multiple distribution scenarios:

BroadcastingContainer

Synchronizes policy updates and other information across workers on local machine.

BroadcastingManager

A wrapper around BaseManager, used for managing the broadcasting container in multiprocessing scenarios.