gpucoder.sort
MATLAB 関数 sort の最適化された GPU 実装
構文
説明
は B
= gpucoder.sort(A
)A
の要素を昇順に並べ替えます。並べ替え操作は Thrust ライブラリを使用して GPU で実行されます。Thrust は CUDA® 用の C++ テンプレート ライブラリで、CUDA Toolkit に付属しています。B
の並べ替えられた出力の型とサイズは A
と同じになります。A
がベクトルの場合、gpucoder.sort(A)
は A の要素を昇順に並べ替えます。A
が行列の場合、gpucoder.sort(A)
は A の各列を昇順に並べ替えます。A
が N 次元配列の場合、gpucoder.sort(A)
は大きさが 1 でない最初の次元に沿って並べ替えます。
のオプション引数 B
= gpucoder.sort(A
,dim
)dim
は、並べ替え操作を実行するときに沿う次元を指定します。
のオプション引数 B
= gpucoder.sort(A
,direction
)direction
は、並べ替えの方向を指定します。direction
は次の 2 つのいずれかの値をとることができます。
'ascend'
- 昇順に並べ替えます。これは既定のオプションです。'descend'
- 降順に並べ替えます。
[
は、並べ替え後の出力 B
,I
] = gpucoder.sort(A
,...)B
を取得するために A
の要素が再配置された方法を指定する並べ替えインデックス I
を返します。
A
がベクトルである場合、B = A(I)
になります。A
が m 行 n 列の行列で、dim = 1
である場合、以下になります。for j = 1:n B(:,j) = A(I(:,j),j); end
この並べ替えの順序は安定しています。つまり、複数の要素の値が同じである場合、並べ替えられた出力 B では同等の要素の順序が維持され、同等の要素に関するインデックス I は昇順になります。
gpucoder.sort
が MATLAB® から呼び出された場合、組み込み関数 sort
が使用されます。
例
入力引数
出力引数
制限
gpucoder.sort
は、複素数をサポートしていません。gpucoder.sort
は、MATLAB 関数sort
でサポートされる'MissingPlacement'
および'ComparisonMethod'
の名前と値のペアをサポートしていません。
バージョン履歴
R2018b で導入
参考
アプリ
関数
codegen
|coder.gpu.kernel
|coder.gpu.kernelfun
|gpucoder.stencilKernel
|coder.gpu.constantMemory
|gpucoder.reduce