OpenCL: 2D Array
Appearance
Untuk memproses array 2D di OpenCL, kita perlu nge-flatten array 2D itu jadi 1D. Bahkan mau sampai 100D tetap perlu di-flatten ke 1D. Jadi teknik untuk memproses data yang lebih dari 1D adalah dengan cara Indexing
Misal kita buat array gini
const int W = 4;
const int H = 3;
std::vector<float> a(W * H);
std::vector<float> b(W * H);
std::vector<float> c(W * H);
// isi data
for (int y = 0; y < H; y++) {
for (int x = 0; x < W; x++) {
a[y * W + x] = y * 10 + x;
b[y * W + x] = 1.0f;
}
}