OpenCL で記述され、Fusion APU (1 つのダイで CPU + GPU) で実行されるプログラムに取り組んでいます。命令番号、分岐番号などのパフォーマンス カウンターを取得したいと考えています。AMD APP Profiler と CodeAnalyst の 2 つのツールを手元に持っています。APP Profiler を使用すると、GPU に対してのみ命令カウンターを提供できるようで、CPU に対しては提供できないことがわかりました。それから CodeAnalyst を使用していますが、その後 3 つの混乱が発生しました。App Profiler では、ALUInsts の数 (ワークアイテムごとに実行される ALU 命令の数) は約 70000 になります。GPU のスレッド空間全体には 8192 のスレッドがあるため、70000 * 8192 の命令が実行されると直感的に思います。 GPU。そうですか?CodeAnalyst を使用して CPU 部分で同じプログラムの命令を測定すると、「Ret inst」、「Ret branch」などのカウンターが表示されただけで、このプログラムは CPU と GPU の両方で同時に実行されますが、これらのカウンターは何のためにあるのでしょうか。CPUのみ、GPUのみ?または合計?これらのカウンターが何であれ、Ret Inst (つまり、廃止された命令) の値は約 40000 であることがわかりました。プログラム全体には小さすぎるようです。プログラムの命令は数十億のオーダーである必要があると思います。 4wだけですか?添付の写真は結果を示しています。どうして4wしかないの?添付の写真は結果を示しています。どうして4wしかないの?添付の写真は結果を示しています。 これらの混乱を解決するのを手伝ってくれる人はいますか? 私はここではただの暴君です。ありがとう!