Operator Library: Base
CastKernel オペレータを使用すると、入力データの Parallelism とカーネルサイズを再構成できます。 再解釈を行うには、出力リンクでカーネルサイズを変更します。 たとえば、入力リンクが2つのカーネル行、2つのカーネル列、Parallelism 4で設定されているとします。 CastKernel オペレータを使用すると、これらを Parallelism 1で4つのカーネル行と4つのカーネル列として解釈したり、 Parallelism 8で1つのカーネル行と2つのカーネル列として解釈したりすることが可能です。 CastKernel オペレータの制約として、カーネル行、カーネル列、および Parallelism の積は、入力リンクと出力リンクで同一でなければなりません。
カーネルの操作に関する実践的なガイダンスについては、 Working with Kernels チュートリアルのトピックを参照してください。 Parallelism に関する実践的なガイダンスについては、 Parallelism チュートリアルのトピックを参照してください。
次の例は、オペレータによって実行されるカーネル設定と Parallelism の変換を示しています。 図の下にある疑似コードも、変換パターンについて説明しています。
例 1: Parallelism 2を維持したまま、カーネルサイズ(列×行)3x1をカーネルサイズ 1x3に変換する:

例 2: Parallelism 2およびカーネルサイズ(列×行)2x3を、Parallelism 3およびカーネルサイズ 2x2に変換する:

例 3: Parallelism 1およびカーネルサイズ(列×行)3x2を、Parallelism 6およびカーネルサイズ 1x1に変換する:

オペレータは画像の幅を変更します。
マッピングは次の疑似コードに従います:
pi = 0
ri = 0
ci = 0
for p in 0 to P-1
for r in 0 to R-1
for c in 0 to C-1
O[p][r][c] = I[pi][ri][ci]
ci = ci + 1
if ci >= Ci then ci = 0, ri = ri + 1
if ri >= Ri then ri = 0, pi = pi + 1
疑似コードの意味は次のとおりです:
| 疑似コード | 意味 |
|---|---|
| p | Output-Parallel-Index |
| pi | Input-Parallel-Index |
| r | Output-Kernel-Row-Index |
| ri | Input-Kernel-Row-Index |
| c | Output-Kernel-Column-Index |
| co | Output-Kernel-Column-Index |
| Pi | Input-Parallelism |
| P | Output-Parallelism |
| Ri | Input-Kernel-Rows |
| R | Input-Kernel-Columns |
| Ci | Input-KernelColumns |
| C | OutputKernelColumns |
表 32. 擬似コードの説明
CastKernel オペレーターの機能は、次のオペレーターを組み合わせることによって実現することもできます:SplitKernel、MergeKernel、SplitParallel、および MergeParallel:

この例では、Parallelism 3 で 4 つのカーネル列と 2 つのカーネル行を持つ入力構成が、Parallelism 4 で 2 つのカーネル列と 3 つのカーネル行を持つ構成に再編成されています。出力リンクをそれぞれ設定することで、オペレーター CastKernel を使用して同様のことを実現できます:

CastKernel オペレーターの使用例を以下に示します:
-
'Functional Example for Specific Operators of Library Memory and Library Signal'
使用例 - オペレーターの使用方法のデモ
-
'Functional Example for Specific Operators of Library Memory and Library Signal'
使用例 - オペレーターの使用方法のデモ




は入力の Parallelism によって決定されます
、入力カーネルサイズ
、および出力カーネルサイズ
:

はカーネル行を示し、
はカーネル列を示します。
、および入力の Parallelism
によって次のように決定されます:

前へ

