Оптимизированная реализация графического процессора функций, содержащих матричные операции над матрицей
C = gpucoder.matrixMatrixKernel(FUN,A,B)
генерирует ядра от функций, которые содержат подобные GEMM операции. Например, совпадая с характерными точками между двумя изображениями при помощи:
Сумма абсолютных разностей (SAD) — F() = @(a,b)abs(a-b)
Сумма различий в квадрате (SSD) — F() = @(a,b)(a-b).*(a-b)
FUN
указатель на пользовательскую функцию. Требуется одна строка и столбец из матричного A
и одна строка и столбец от матричного B
и выходные параметры вектор с тем же типом как вход. Выходной вектор затем суммирован, чтобы вычислить одно скалярное значение в C
. Числовые входные параметры A
и B
должно быть или одного размера или иметь размеры, которые совместимы. Например, если A
M
- K
матрица, B
K
- N
матрица затем C
M
- N
матрица.
C = gpucoder.matrixMatrixKernel(FUN,A,B,orientation)
имеет дополнительный аргумент orientation
это задает ориентацию A
и B
матрицы. Это может принять одно из четырех возможных значений:
'nn'
- Матрицы A
и B
нормальны.
'nt'
- Матричный B
транспонирован.
'tn'
- Матричный A
транспонирован.
'tt'
- Обе матрицы A
и B
транспонированы.
codegen
| coder.gpu.kernel
| coder.gpu.kernelfun
| gpucoder.stencilKernel
| coder.gpu.constantMemory
| coder.gpu.nokernel
| gpucoder.batchedMatrixMultiply
| gpucoder.stridedMatrixMultiply
| gpucoder.batchedMatrixMultiplyAdd
| gpucoder.stridedMatrixMultiplyAdd