OpenCL: 2D Array: Difference between revisions
Appearance
Created page with "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'''" |
No edit summary |
||
| Line 1: | Line 1: | ||
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''' | 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 | |||
<syntaxhighlight lang=cpp> | |||
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; | |||
} | |||
} | |||
</syntaxhighlight> | |||
Revision as of 07:22, 8 January 2026
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;
}
}