OpenCLTutorial/fresh_kernel.cl

16 lines
438 B
Common Lisp
Raw Permalink Normal View History

#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;
}