Apple の OpenCLリダクションの例を読んでいて、配列要素にアクセスするためのマクロがあることに気付きました。
#define LOAD_GLOBAL_F1(s, i) \
((__global const float*)(s))[(size_t)(i)]
次のように使用されました。
float a = LOAD_GLOBAL_F1(input, i);
はinputタイプ__global const float *で、iはsize_tです。
なぜfloat a = input[i]ここで使わないのですか?ありがとう!