Оптимизированная реализация GPU функции сортировки MATLAB
сортирует элементы B
= gpucoder.sort(A
)A
в порядке возрастания. Операция сортировки выполняется на графическом процессоре с помощью библиотеки Thrust. Тяга является библиотекой шаблонов C++ для CUDA® и поставляется с комплектом инструментальных средств CUDA. Отсортированный выход в B
имеет тот же тип и размер, что и A
. Если A
является вектором, gpucoder.sort(A)
сортирует элементы массива в порядке возрастания. Если A
является матрицей, gpucoder.sort(A)
сортирует каждый столбец A в порядке возрастания. Если A
является N-мерным массивом, gpucoder.sort(A)
сортирует по первой не синглтонной размерности.
имеет необязательный аргумент B
= gpucoder.sort(A
,dim
)dim
который задает размерность, по которому выполняется операция сортировки.
имеет необязательный аргумент B
= gpucoder.sort(A
,direction
)direction
который задает направление сортировки. direction
может принимать одно из двух значений:
'ascend'
- Сортировки в порядке возрастания. Это опция по умолчанию
'descend'
- Сортировки в порядке убывания.
[
возвращает индекс сортировки B
,I
] = gpucoder.sort(A
,...)I
который задает, как элементы A
были перестроены, чтобы получить отсортированный выход B
.
Если 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
не поддерживает 'MissingPlacement'
и 'ComparisonMethod'
Пары "имя-значение", поддерживаемая MATLAB sort
функция.
codegen
| coder.gpu.constantMemory
| coder.gpu.kernel
| coder.gpu.kernelfun
| gpucoder.reduce
| gpucoder.stencilKernel