このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
行列-行列演算を含む関数の最適化された GPU 実装
C = gpucoder.matrixMatrixKernel(FUN,A,B)
は、GEMM のような演算を含む関数からカーネルを生成します。たとえば、以下を使用して 2 つのイメージ間の特徴点をマッチさせます。
差の絶対値の和 (SAD) — F() = @(a,b)abs(a-b)
差の二乗の和 (SSD) — F() = @(a,b)(a-b).*(a-b)
FUN
はユーザー定義関数へのハンドルです。行列 A
から 1 つの行および列を、行列 B
から 1 つの行および列を受け取り、入力と同じ型のベクトルを出力します。その後、出力ベクトルが合計され、C
の単一のスカラー値が計算されます。数値入力 A
および B
は、同じサイズか、互換性のあるサイズでなければなりません。たとえば、A
が M
行 K
列の行列、B
が K
行 N
列の行列の場合、C
は M
行 N
列の行列になります。
C = gpucoder.matrixMatrixKernel(FUN,A,B,orientation)
のオプション引数 orientation
は、A
および B
行列の向きを指定します。これは次の 4 つの値のいずれかを取ることができます。
'nn'
- 行列 A
および B
は正規です。
'nt'
- 行列 B
は転置されます。
'tn'
- 行列 A
は転置されます。
'tt'
- 行列 A
および B
の両方が転置されます。
codegen
| coder.gpu.constantMemory
| coder.gpu.kernel
| coder.gpu.kernelfun
| coder.gpu.nokernel
| gpucoder.batchedMatrixMultiply
| gpucoder.batchedMatrixMultiplyAdd
| gpucoder.stencilKernel
| gpucoder.stridedMatrixMultiply
| gpucoder.stridedMatrixMultiplyAdd