インテル® FPGA SDK for OpenCL™プロ・エディション: プログラミング・ガイド

ID 683846
日付 4/01/2019
Public
ドキュメント目次

5.9.3. 構造体のアライメントの指定

インテル® FPGA SDK for OpenCL™オフライン・コンパイラーでは、structデータ構造に特定のアライメントを設定するよう指示を出すことができます。
構造のアライメントを指定するには、カーネル・ソースコードのstructデータ構造の前に、aligned(N) 属性を挿入します。
次に例を示します。
struct __attribute__((aligned(2))) Context
{
   float param1;
   float param2;
   int param3;
   uint param4;
};
__kernel void algorithm(__global float * A, 
                        __global struct Context * restrict c)
{
   if ( c->param3 )
   {
      // Dereference through a pointer and so on
   }
}
詳細は、 インテル® FPGA SDK for OpenCL™ : ベスト・プラクティス・ガイドの、構造体をパディング付きまたはパディングなしで整列するの章を参照ください。