私と同じ経験をしている人がいると思います。彼/彼女は、指定されたマルチコアハードウェアを使用して、プログラムをシーケンシャルからパラレルに移植する(推定)パフォーマンスレポートを、ごくわずかな時間で提出する必要があります。
たとえば、10KLoCシーケンシャルプログラムが与えられてInteli7-3770k(ベクトル化されていない)で100ミリ秒で実行される場合、すべての種類の場合、コードをNVIDIACUDAを使用してTeslaC2075に並列化すると実行にかかる時間並列化の最適化手法は実行されましたか?(ただし、パフォーマンスを報告するのに2〜4日しか与えられていませんか?アルゴリズムをまったく知らなかったと仮定します。または、ジョブを終了することが不可能な状況であると仮定した方が安全かもしれません)
したがって、私は疑問に思っています、そのようなパフォーマンスレポートを提供するための最も速い方法は何でしょうか?GFLOPのピークやメモリ帯域幅レートなどのハードウェアの機能だけで計算しても安全ですか?それを計算する数学的な方法はありますか?ある場合は、対応する問題の説明とアルゴリズム、およびターゲットハードウェアの仕様を使用してメソッドを証明してください。
あるいは、コードの移植を(大まかに)推定するためのそのようなツールがすでに存在するのでしょうか?
(答えはしないでください:「自分を殺すのが最速の方法です。」)