質問

される4バイト(または16SIMD)が効率的にソートすることも可能バイト登録数です。

よろしくお願いします。

役に立ちましたか?

解決

N =あなたは(4気にバイト数のための効率的なソーティングネットワークを見上げてまたは16)。ことは、比較交換命令のシーケンスに変換します。 (N = 16の場合は、しかしより '数' を超えるだろうという。)

他のヒント

はそれを見つけました!それはFurtak、アマラル、およびNiewiadomskiで「ソートアルゴリズムにおける命令レベルの並列処理を有効にするSIMDレジスタと命令を使用して、」2007年の論文にあります。第4節ます。

これは、4つのSSEレジスタを使用して、ロードおよびストアを含む19個の命令に12のステップ、及びランを有している。

同じ用紙を動的SIMDとソーティングネットワーク作りにいくつかの優れた仕事を持っています。

高速にソート文字列にした結果、梱包7バイト当たりダブルルの分別ランキング)の配列を16倍にSSE2、bitonicうを二つの8バイナリの合併による統合を運行しています。きのこ http://mischasan.wordpress.com/2011/07/29/okay-one-more-poke-at-sse2-sorting-doubles/ (asm)およびこちら http://mischasan.wordpress.com/2011/09/02/update-on-bitonic-sse2-sort-of-16-doubles/ (C)、そしてbitonic合併しステップ(行きたい場合はSSEすべての方にはこちら http://mischasan.wordpress.com/2012/11/04/sse2-odd-even-merge-the-last-step-in-sorting/ .私の交換、挿入ソートの下のqsortこう、約5倍の速度は直qsort.HTH

みんなのUofA紙のbitonic論理から学校給GPGPUプログラミング

申し訳の組み込みのリンク文字列わからない方の追加をクリックでリンクコメントstackoverflow.

すべてのソートアルゴリズムは、一つの場所から別のものに「スワッピング」値を必要とします。あなたは手段が任意の並べ替えが交換されたバイト数を保持するための一時的な場所として使用する他のレジスタを必要とするであろうと、文字通りのCPUレジスタの話をしているので、ます。

私は、内蔵レジスタ内のバイトをソートするための方法でチップを見たことがありません。それが行われていないが、私はこのような命令のために多くの用途を考えることはできませんと言っていない。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top