History for SmTIAS-LightSim / docs / 06_TEST / TEST_04_シミュレーション速度最適化履歴.md
2026-05-28
@rintoHasegawa
[update] 速度最適化ワーク一旦中断 — TEST_04 末尾に中断記録セクション追加.中断時点の正直な評価: 実時間改善ゼロ(B1=508s/B2=56s で不変).副次成果: DRJIT_LIBLLVM_PATH 消失でサイレントクラッシュしていた問題の発見と恒久対処,JIT 経路診断ログ機構,ベンチ条件ドキュメント,テスト 51 件追加.中断理由: B2 path bake samples=16 は現状ボトルネックではなく,B1 は GPU 無し・CPU 完結・精度据置の制約下で取れる打ち手が限定的.本筋のキャリブ作業(LSC モデル化)に戻ることがプロジェクト目的により近い.再開条件 4 項目を明示: (1) path bake samples を増やすユースケース発生 (2) NVIDIA GPU 利用可 (3) クラウド計算活用判断 (4) キャリブ反復回数増加でバッチ時間が研究進度を圧迫した場合.Speed-2 path bake wavefront 化テンプレートは TEST_04 内に未実施のまま保持し再開時に /implement で即着手可能.CLAUDE.md 開発進捗に中断補足を追記.次のアクション: キャリブ作業(LSC モデル化)に戻る
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] Speed-1 LLVM JIT 自動検出と診断ログ強化 — runtime/llvm_init.py を新規実装.ensure_drjit_libllvm_path() で DRJIT_LIBLLVM_PATH 未設定時に Windows 標準 4 候補 (C:\Program Files\LLVM 等) + POSIX glob + LLVM_DIR + extra_candidates を順次探索して os.environ 設定(既設定なら上書きしない).log_variant_status() で llvm_/cuda_/scalar_ 経路を INFO 明示,要求 llvm_* で実 scalar_* なら WARNING 追加.render/runner.py で variant=llvm_* 時に自動検出を呼び ImportError 時は原因明示ログ→ re-raise,mitsuba を関数内遅延 import 化.visualize/baker.py の _set_variant_once に LLVM 自動探索分岐を追加し direct/path 両方で log_variant_status を呼ぶ.cli/render.py で import 順を制御し sensors.py/lights.py のモジュールレベル mitsuba import 前に検出を確実に通す.docs/02_ENV/ENV_02 に LLVM インストール手順・DRJIT_LIBLLVM_PATH 説明・動作確認コマンドを追記.新規テスト 51 件 (runtime/test_llvm_init.py 25, render/test_runner_jit_init.py 14, visualize/test_baker_jit_init.py 8, cli/test_render_jit_init.py 4) で仕様 A1-E1 完全カバー,DRJIT_LIBLLVM_PATH 設定下で 606 件全通過.速度は不変(目的は再発防止+診断容易化).数値同等性は MC 内部シードで SHA256 異なるが平均相対誤差 7.23e-05 で統計同等性パス.これで環境変数消失によるサイレントクラッシュが再発しない土台が整備された.TEST_04 Speed-1 セクションを実施結果で更新.CLAUDE.md 開発進捗に Speed-1 完了追記+実装済みモジュール一覧に runtime/llvm_init.py 追加
rintoHasegawa committed on 28 May
@rintoHasegawa
[add] 速度最適化ワーク開始 — TEST_04 シミュレーション速度最適化履歴を新規作成.Speed-0 ベースライン計測完了: configs/scene_baseline.yaml で B1 sm-render 中央値=507.86s(≈8.46分,3回計測 502〜527s±2.4%)/ B2 sm-visualize path bake samples=16 中央値=55.97s.副次発見: DRJIT_LIBLLVM_PATH 環境変数が消失し sm-render が jitc_llvm_init 失敗→ImportError で即死していたことを判明(feature/baseline-calibration でも同症状=コード起因ではない).C:\Program Files\LLVM\bin\LLVM-C.dll が過去インストール残として存在しており User scope に DRJIT_LIBLLVM_PATH 永続化で復旧.sm-visualize の direct bake は内部 scalar_rgb 固定のため過去ログでも警告は出ていたが完走していた点と整合.方向修正: Speed-1 当初の「JIT 有効化で高速化」は既に JIT 経路に乗っているため不成立 →「LLVM-C.dll 自動検出と診断ログ強化(再発防止+scalar fallback 警告)」に再定義.本命の高速化レバーは Speed-2 path bake wavefront 化(10× 以上見込み)に集約.制約: GPU は Intel HD Graphics 520 のみで CUDA 不可,CPU 完結.精度(spp/max_depth)は不変.CLAUDE.md 開発進捗に速度最適化セクション追加
rintoHasegawa committed on 28 May