Оптимизированная реализация 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