質問: 画像処理のための非常に速いmemcpy? 私は、メモリ内で大量のデータをコピーする必要があるcで画像処理を行っています。ソースと宛先が重複することはありません。 [〜#〜] gcc [〜#〜] を使用してx86プラットフォームでこれを行うための絶対最速の方法は何ですか(ここで [〜#〜] sse [〜#〜] 、sse2は使用できますが、sse3は使用できません)?ソリューションはアセンブリにあるか、gcc組み込み関数を使用することになると思いますか?私は次のリンクを見つけましたが、それが最善の方法であるかどうかわかりません(著者にもいくつかのバグがあると言われています): http://coding.derkeiler.com/archive/assembler/comp。 lang.asm.x86/2006-02/msg00123.html 編集:コピーが必要であることに注意してください。データをコピーする必要はありません(理由は説明できますが、説明は省略します:))
回答: intelプロセッサに固有の場合は、 [〜#〜] ipp [〜#〜] の恩恵を受ける可能性があります。 nvidia gpuで実行されることがわかっている場合は、おそらく [〜#〜] cuda [〜#〜] を使用できます-どちらの場合も、memcpy()を最適化するよりも幅を広くする方が良いでしょう-それらより高いレベルでアルゴリズムを改善する機会を提供します。ただし、どちらも特定のハードウェアに依存しています。