画像処理アプリケーションを実装するときにIntelマシンでSSSE3を使用することで期待されるスピードアップはどれくらいですか?
2 に答える
SSSE3はSSE3よりも多くを提供しません。しかし、SSSE3がいくつかの利点をもたらす画像処理タスクに興味があるようです。PMULHRSW命令にうまくマッピングされる操作(色空間変換、一部のアルファ操作)を実行している場合は、非常に有益です(これを多用できる場合は、2倍高速化されますが、通常、コードを次のように書き直す必要があります。それを使用してください-コンパイラが生成するのは非常に難しい命令です)。
PSHUFBは他の便利な命令です。これを使用すると、負荷を収集する必要なしに小さなテーブルルックアップを実行できます。これは、画像処理で非常に役立ちます。PSHUFBに自然にマッピングされるシーケンスがある場合は、大幅な高速化が可能ですが、命令を効果的に使用するには、アルゴリズムを大幅に変更する必要があります。
他のSSSE3操作の本当に説得力のあるユースケースを見たことがありません(PALIGNRは、導入されたときに時々役に立ちましたが、それ以来、不整合なメモリアクセスが大幅に効率的になり、あまり役に立たなくなりました)。
アプリケーションが主にpshufb
または同様の命令で構成されている場合、アプリケーションは数倍高速化する可能性があります。
最適化されたバージョンを持ついくつかのライブラリ関数が使用されているSSSE3
場合、最小限の、ほとんど測定できないゲインが表示される場合があります。
アプリケーションにそのような命令が含まれておらず、使用されているアルゴリズムがSSSE3
命令に容易に変換されない場合、利益はまったく得られません。
前者のケースは非常にまれであり、後者のケースは非常に可能性が高いです。