Skip to content

Releases: UM-ARM-Lab/pytorch_mppi

v0.9.0

12 Mar 03:57
4f171f8

Choose a tag to compare

Performance optimizations (1.5-2x CUDA speedup)

  • Pre-allocate tensors instead of list + torch.stack in rollout loop
  • Direct Cholesky noise sampling replacing MultivariateNormal.rsample
  • Diagonal covariance detection — element-wise ops instead of matmul (common case)
  • M=1 fast path — skip .repeat() and variance when rollout_samples=1 (default)
  • Lazy state/action storage when no terminal_state_cost
  • torch.einsum for weighted perturbation sum
  • Bypass handle_batch_input in hot path
  • Resolve all branches at init time
  • Cache KMPPI kernel matrix
  • functorch.vmaptorch.vmap, torch.inversetorch.linalg.inv

New features

  • mppi.compile(**kwargs) — optional torch.compile for dynamics/cost (beneficial at large K)
  • MPPI_Batched — N parallel environments in a single dynamics call

Testing

  • 75 unit tests + CI on Python 3.9/3.12
  • Solution quality regression tests
  • Performance benchmarks

v0.7.3

14 Dec 21:54

Choose a tag to compare

Compatible with new gym and ray[tune] versions