16 lines
438 B
Common Lisp
16 lines
438 B
Common Lisp
|
#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;
|
||
|
}
|