#pragma OPENCL EXTENSION cl_khr_byte_addressable_store : enable __kernel void matrix_mult(__global float* C, __global float* A, __global float* B, int widthA, int widthB) { int x = get_global_id(0); int y = get_global_id(1); float value = 0; for(int k = 0; k < widthA; k++) { float elemA = A[y * widthA + k]; float elemB = B[k * widthB + x]; value += (elemA * elemB); } C[y * widthA + x] = value; }