Intel® FPGA SDK for OpenCL™: ベスト・プラクティス・ガイド

ID 683521
日付 12/08/2017
Public
ドキュメント目次

6. NDRangeカーネルのデータ処理効率を向上させるための戦略

次のカーネルコードを検討してください。

__kernel void sum (__global const float * restrict a, __global const float * restrict b, __global float * restrict answer) { size_t gid = get_global_id(0); answer[gid] = a[gid] + b[gid]; }

このカーネルは、配列abを一度に1つずつ追加します。各Work-Itemは、2つの要素(各配列から1つずつ)を追加し、和を配列の回答に格納する役割を担います 。最適化がなければ、カーネルはWork-Itemごとに1回の追加を実行します。

OpenCL™カーネルのパフォーマンスを最大にするには、適用可能な最適化手法を実装して、データ処理効率を向上させることを検討してください。