0

並列プログラムのトラブルシューティングにはどのようなツールがありますか?

予想よりもパフォーマンスが悪いコードがあるとします (シリアル バージョンの実行速度の理論上の 8 倍ではなく、4 倍)。原因は、共有変数 (共有ベクトルの隣接要素など) にアクセスするスレッドによって引き起こされるロック、またはヒープ (共有リソースでもあると思われる) にアクセスするスレッドによって引き起こされるロックのいずれかであると思われます。しかし、過剰なスレッドのスリープやスレッドの切り替えなどの原因をチェックするために利用できるツールが何であるかはわかりません。たとえば、プロファイラーは、どの機能にどれくらいの時間がかかったか、おそらく関連する多くのアクティビティがあったことを教えてくれます。スレッド管理についてですが、スレッドの原因と状態が何であったかはわかりません (または、スレッドの使い方がよくわからないかもしれません)。

OS X で C++ を使用しています。

4

1 に答える 1

2

以下は興味深いかもしれません

吸血鬼-- お金がかかる

DTrace -- すでに Mac にインストールされており、必要なツールを提供しますが、すぐに使えるソリューションとはほど遠いものです

タウ

これらは頭に浮かぶ最初の 3 つのツールにすぎません。

あなたの最後のコメントは、おそらくよくできています.

于 2013-02-20T09:47:12.563 に答える