Skip to main content

Module pool

Module pool 

Source
Expand description

Vectorized environment pool for parallel execution

This module provides high-performance parallel environment execution using Rayon. Inspired by EnvPool (https://arxiv.org/abs/2206.10558), it achieves significant speedups by executing multiple environments in parallel.

§Example

use thrust_rl::env::{cartpole::CartPole, pool::EnvPool};

// Create pool with 4 parallel environments
let mut pool = EnvPool::new(|| CartPole::new(), 4);

// Reset all environments in parallel
let observations = pool.reset();

// Step all environments in parallel
let actions = vec![0, 1, 0, 1]; // One action per environment
let results = pool.step(&actions);

Structs§

EnvPool
A pool of environments for parallel execution
PoolStepResult
Result of stepping an environment pool