//--- by default some GPU doesn't support doubles //--- cl_khr_fp64 directive is used to enable work with doubles #pragma OPENCL EXTENSION cl_khr_fp64 : enable //+-----------------------------------------------------------+ //| OpenCL kernel for matrix multiplication | //| using global work groups | //+-----------------------------------------------------------+ //| http://gpgpu-computing4.blogspot.ru/2009/09/ | //| /matrix-multiplication-2-opencl.html | //+-----------------------------------------------------------+ __kernel void MatrixMult_GPU1(__global double *matrix_a, __global double *matrix_b, __global double *matrix_c, int rows_a,int cols_a,int cols_b) { int i=get_global_id(0); int j=get_global_id(1); double sum=0.0; for(int k=0; k