v2.8.0
What's New
リモート実行 (Dask Actor) — 実験的
HPC の計算ノードにデータ処理を委譲し、ローカルにはプロット画像や小さなスライスだけを返すリモート実行基盤を追加しました。
emout server start/stop/statusCLI: ターミナルでサーバーを起動し、複数スクリプトから共有- 自動接続:
~/.emout/server.jsonがあればconnect()不要。コード変更なしでリモート実行 - データ転送モード: 2D/1D スライスだけ転送し、ローカル matplotlib で描画。
plt.axhline()等の追記が自由 remote_figure()コンテキスト:plt.xlabel()等も含めて全操作をサーバーで実行、PNG bytes だけ返る- backtrace 連携: 重い計算はサーバーで 1 回実行・メモリ保持。パラメータを変えて何度でも再レンダリング
- InfiniBand IP 自動検出: カーネルの
ARPHRD_INFINIBAND定数で判定(インタフェース名に依存しない)
# サーバー起動後は、コードの書き方はローカルと全く同じ
data.phisp[-1, :, 100, :].plot() # 自動的にリモート実行
plt.xlabel("x [m]") # ローカルで追記可能
with remote_figure(): # 全操作をサーバーで実行
result.vxvz.plot(cmap="plasma")
plt.title("速度分布")Data2d ショートカットメソッド
data.cmap():plot(mode='cm')と等価data.contour():plot(mode='cont')と等価- 既存の
plot(mode=...)はそのまま動作(後方互換)
BoundaryCollection.plot()
data.boundaries.plot()で境界メッシュを単体で 3D 表示- フィールドなしで境界形状を確認したい場合に便利
コード品質改善(3 ラウンド Codex レビュー)
cbargs={}等の mutable default argument を全廃raise Exception→raise ValueError+ f-string メッセージに統一except Exception→ 具体的な例外型 (KeyError,ImportError等) に絞り込みtype(x) == int→isinstance(x, int)に修正griddata_series.pyのclose()ループバグを修正
壊れていたテストの修復
test_toml_converter.py: 削除 API のテストを除去、TomlData/load_tomlのみに再構成test_toml_integration.py:toml2inp未インストール環境ではskipifで安全にスキップ--ignoreフラグ不要に。pytest -qだけで全テストが走る
ドキュメント
- README を 674 行 → 176 行にスリム化。詳細は guide ページへリンク
- 境界メッシュガイド (
boundaries.md/boundaries.ja.md) を新設 - リモート実行ガイド (
distributed.md/distributed.ja.md) を新設 - 全 guide ページに
Lang: [English] | [日本語]切替を追加 CLAUDE.mdとAGENTS.mdを同一内容に統合- 後方互換ルール(DeprecationWarning shim 推奨)を §6 に明文化
テストベースライン
- 177 passed (
toml2inp未インストール環境では 158 passed / 19 skipped)