インテルのみ表示可能 — GUID: eos1476274109105
Ixiasoft
2.4.2. システムのエリア分析
システムレポートのエリア分析は、FPGAに実装されているハードウェアに最も近いOpenCLシステムのエリア内訳を示しています。
4つのループを含むOpenCLカーネルの例:
1 // ND-Range kernel with unrolled loops
2 __attribute((reqd_work_group_size(1024,1,1)))
3 kernel void t (global int * out, int N) {
4 int i = get_global_id(0);
5 int j = 1;
6 for (int k = 0; k < 4; k++) {
7 #pragma unroll
8 for (int n = 0; n < 4; n++) {
9 j += out[k+n];
10 }
11 }
12 out[i] = j;
13
14 int m = 0;
15 #pragma unroll 1
16 for (int k = 0; k < N; k++) {
17 m += out[k/3];
18 }
19 #pragma unroll
20 for (int k = 0; k < 6; k++) {
21 m += out[k];
22 }
23 #pragma unroll 2
24 for (int k = 0; k < 6; k++) {
25 m += out[k];
26 }
27 out[2] = m;
28 }
図 25. 地域レポートの例

システムビューでは、カーネルは論理ブロックに分割されています。ブロックに関連付けられているコードラインのエリア使用情報を表示するには、そのブロックのレポートエントリーを展開するだけです。この例では、コードラインout [i] = j (12行目)のエリア情報がBlock1の下で使用可能です。システムビューでのライン12の推定エリア使用量は、ソースビューでの見積もりと同じです。