Оптимизированная реализация GPU функции сортировки MATLAB
сортирует элементы B = gpucoder.sort(A)A в порядке возрастания. Операция сортировки выполняется на GPU с помощью библиотеки «Тяга». Trust представляет собой библиотеку шаблонов C++ для CUDA ® и поставляется с набором инструментов CUDA. Отсортированные выходные данные вB имеет тот же тип и размер, что и A. Если A является вектором, gpucoder.sort(A) сортирует элементы 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
Порядок сортировки стабилен. А именно, когда более чем один элемент имеет одинаковое значение, порядок равных элементов сохраняется в отсортированном выходе В, и индексы 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