Releases: UM-ARM-Lab/pytorch_mppi
Releases · UM-ARM-Lab/pytorch_mppi
v0.9.0
Performance optimizations (1.5-2x CUDA speedup)
- Pre-allocate tensors instead of list +
torch.stackin 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 whenrollout_samples=1(default) - Lazy state/action storage when no
terminal_state_cost torch.einsumfor weighted perturbation sum- Bypass
handle_batch_inputin hot path - Resolve all branches at init time
- Cache KMPPI kernel matrix
functorch.vmap→torch.vmap,torch.inverse→torch.linalg.inv
New features
mppi.compile(**kwargs)— optionaltorch.compilefor 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