EvoX 1.1のリリースを発表できることを嬉しく思います。バックエンドコンパイラとしてtorch.compile(TorchDynamo)の完全統合を導入しました!このアップデートは従来のTorchScriptアプローチに代わるもので、EvoXをより使いやすく、より広範なPythonエコシステムとの高い互換性を実現します。
torch.compileを活用することで、EvoXは実行時に計算グラフを動的にキャプチャし、手動トレーシングの必要性を排除しながら、パフォーマンスを自動的に最適化します。
新機能
torch.compile:よりスマートで柔軟なコンパイル
EvoX 1.1では、新しいコンパイルバックエンドとしてtorch.compileを全面的に採用しました。従来のトレーシングベースのアプローチとは異なり、torch.compileは内部的にTorchDynamoを使用してPythonの実行をインターセプトし、計算グラフを動的に抽出してリアルタイムで最適化します。
これにより:
l 手動トレーシングが不要に — **torch.compile(workflow.step)**を呼び出すだけで、EvoXが残りの処理を行います。
l シームレスなPython互換性 — ネイティブPython関数やNumPy、SciPyなどの外部ライブラリと連携します。
l パフォーマンスの向上 — 最適化された計算グラフにより、より高速な実行とより効率的なハードウェア活用を実現します。
l 将来を見据えた設計 — PyTorchのロードマップに沿い、長期的な互換性とパフォーマンス改善を保証します。
なぜTorchScriptからtorch.compileへ移行するのか?
以前のバージョンでは、EvoXはトレーシングベースの手法に依存していました:
l 1.0.0以前は計算グラフ抽出にJAXトレーシングを使用していました。
l v1.0.0ではTorchScriptに切り替え、PyTorch統合を強化しました。
しかし、これらの手法にはいくつかの欠点がありました:
l 使用が複雑 — ユーザーは手動でグラフをトレースし、複雑なデバッグに対処する必要がありました。
l 互換性の制限 — 動的なワークフローやPyTorch以外の関数との連携に苦労しました。
l 柔軟性の制約 — ループ、条件分岐、その他のPython構文が常に正しくキャプチャされるとは限りませんでした。
torch.compileとTorchDynamoにより、これらの問題は解消されました。EvoXは動的に最適化を行い、ユーザーの追加作業なしにより幅広いワークフローをサポートします。
EvoX 1.1で作業がより簡単に
l トレーシングの手間が不要に — すべてがバックグラウンドで処理され、コードがよりクリーンで保守しやすくなります。
l 既存のPythonコードとそのまま連携 — 互換性のためにワークフローを変更する必要はありません。
l より高速な実行、より優れたスケーリング — GPUおよびTPU向けのPyTorchの最新最適化の恩恵を受けられます。
l 将来に対応 — PyTorchの長期的な進化に沿い、継続的なパフォーマンス向上を確保します。
今すぐEvoX 1.1にアップグレード!
EvoX 1.1が正式にリリースされました!今すぐアップグレードして、よりスマートで、より高速で、より直感的な計算ワークフローを体験してください。
EvoX 1.1を入手: GitHub
ご質問やフィードバックがありましたら、GitHubでIssueを作成するか、コミュニティディスカッションにご参加ください。計算知能の限界を一緒に押し広げましょう!
ソースコード / コミュニティ / ドキュメント
論文: https://arxiv.org/abs/2301.12457
GitHub: https://github.com/EMI-Group/evox
ドキュメント: https://evox.readthedocs.io/en/latest/
QQグループ: 297969717
