Major Changes
Dynamo Integration 🚀
We have transitioned to torch.compile
as our compiler backend, replacing TorchScript. This update simplifies the compilation workflow, making it more user-friendly while maintaining high performance and efficiency.
Why Move to torch.compile
?
Previously, EvoX used tracing to obtain the computation graph—JAX tracing in pre-1.0.0 and TorchScript in v1.0.0. However, tracing modes were difficult for users, lacked compatibility with many Python functions (especially non-PyTorch functions), and required manual intervention to handle dynamic workflow. While tracing was fast and produced a full computation graph, its limitations made it less flexible and hard to use.
With torch.compile
, EvoX can now provide a smoother and robust compilation process:
✅ Ease of Use – No need for explicit scripting or tracing; simply use torch.compile(workflow.step)
, and your code gets optimized automatically.
✅ Better Performance – The torch.compile
backend is actively maintained and optimized, delivering better performance than previous tracing methods, and works on more hardware backends.
✅ Full Python Compatibility – Works directly with Python code and non-PyTorch functions, eliminating compatibility issues.
✅ Future-Proof – Aligns with PyTorch’s long-term strategy, making torch.compile
the recommended approach for graph capture.
This transition enhances usability while ensuring compatibility with PyTorch's evolving ecosystem.
What's Changed
- Translations update from Hosted Weblate by @weblate in #209
- Change cec2022.py to avoid accuracy blowout in the extreme by @starquakee in #210
- Fix possible shape bug in DE_differential_sum function by @starquakee in #211
- Brax now supports Single-layer vmap (Hpo Problem) by @starquakee in #212
- Fix bug of APD calculation by @Zhenyu2Liang in #213
- Some vmap related improvements by @sses7757 in #214
- Fix brax problem not evaluating in jit.trace and vmap by @sses7757 in #215
- Add NSGA3 by @LiHao-MS in #216
- Dynamo by @BillHuang2001 in #217
- Add HypE by @Zhenyu2Liang in #218
Full Changelog: v1.0.1...v1.1.0