「cl khr byte addressable store」の版間の差分
提供: Tommy6
細 |
細 |
||
1行: | 1行: | ||
− | {{DISPLAYTITLE: | + | {{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 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 に書き込むことはできません }
cl_khr_bye_addressable_store 拡張機能は、この制約を受けないようにするものです。
OpenCL 1.1 でこの機能はコア仕様として取り込ました。