「cl khr byte addressable store」の版間の差分

提供: Tommy6
移動: 案内検索
 
1行: 1行:
{{DISPLAYTITLE:cl_khr_bye_addressable_store}}
+
{{DISPLAYTITLE:cl_khr_byte_addressable_store}}
 
{{Pathnav|OpenCL|OpenCLマニュアル|OpenCL拡張機能}}
 
{{Pathnav|OpenCL|OpenCLマニュアル|OpenCL拡張機能}}
 
<div style="border:#AAAAAA 1px solid; font-size:1.6em; font-style:italic; text-align:center; background-color:#FFFFEE;">
 
<div style="border:#AAAAAA 1px solid; font-size:1.6em; font-style:italic; text-align:center; background-color:#FFFFEE;">

2014年6月7日 (土) 15:07時点における最新版

OpenCL > OpenCLマニュアル > OpenCL拡張機能 > cl khr byte addressable store

OpenCL 1.1 でこの機能はコア機能になりました。

OpenCL 1.1以前のOpenCLでは以下のような制約がありました

32ビットより小さな組み込み型 char, uchar, char2, uchar2, short, ushort, half には以下のような制約があります。

  • char, uchar, char2, uchar2, short, ushort, half 型のポインタや配列、あるいは構造体の要素で char, uchar, char2, uchar2, short, ushort, half 型のものへの書き込みはサポートされていません。

以下は、32ビットより小さい組み込みデータ型について、サポートされていない操作の例です。

__kernel void
do_proc (__global char *pA, short b, __global short *pB) {
  char x[100];
  __private char *px = x;
  int id = (int)get_global_id(0);
  short f;
  f = pB[id] + b; ← 問題ありません
  px[1] = pA[1]; ← エラー。px に書き込むことはできません
  pB[id] = b; ← エラー。pB に書き込むことはできません
}


―――― Revision 48, Version 1.0, The OpenCL Specification より翻訳

cl_khr_bye_addressable_store 拡張機能は、この制約を受けないようにするものです。

OpenCL 1.1 でこの機能はコア仕様として取り込ました。