[BUG] Bad parallel performance when optimizing a group
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 45/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- cpp
- 領域
- compilers, performance
調査の方向性
src/liboslexec/llvm_instance.cpp の use_rs_bitcode() ブロックから開始し、ll.validate_global_mappings(names_of_unmapped_globals) の呼び出しを調査します。Windows で shader グループが並列に最適化される仕組みを追跡し、その後、通常の最適化では検証を無効化し、デバッグ時には有効なままにできることを、ほぼ逐次実行になるようなパフォーマンスへの影響なしに確認します。
索引モデルが issue の本文から書いたものです。
説明
Describe the bug
In Windows, when optimizing a shader group in parallel, the performance is almost as the optimization is performed sequentially.
I tracked down the problem, in src\liboslexec\llvm_instance.cpp.
In the block inside if (use_rs_bitcode()) {
the call to ll.validate_global_mappings(names_of_unmapped_globals); triggers a global lock inside llvm.
commenting out the validation solves the problem. A possible solution would be to have an option to turn off validation, so I can turn it on only during debugging.
OSL version and dependencies
- OSL branch/version: 1.14.5.1
- OS: Windows
- C++ compiler: MSVC 2022
- LLVM version: 19.1.7
- OIIO version: 3.0.2
- 主要言語
- C++
- スター
- 2.3k
- フォーク
- 415
- 平均マージ
- 3日 16時間
- マージ済み PR(30日)
- 10
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
AcademySoftwareFoundation/OpenShadingLanguage のほかの issue
-
build / testing / port / CI
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
AcademySoftwareFoundation/OpenShadingLanguage#2148 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
AcademySoftwareFoundation/OpenShadingLanguage#2109 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
AcademySoftwareFoundation/OpenShadingLanguage#2146 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
AcademySoftwareFoundation/OpenShadingLanguage#2135 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
AcademySoftwareFoundation/OpenShadingLanguage#2132 · コメント 6 件 ·
メンテナーはふだん 1 日以内に返信
AcademySoftwareFoundation/OpenShadingLanguage の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
KhronosGroup/Vulkan-Tutorial#524 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
microsoft/onnxruntime-genai#2633 ·
メンテナーはふだん 1 日以内に返信
-
mapper bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
firebase/firebase-ios-sdk#16718 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
tesseract-ocr/tesseract#4627 ·