#pragma OPENCL EXTENSION all : enable __kernel void construct_matrix_polar(__global double *mat, __global double *coeff_00, __global double *coeff_10, __global double *coeff_01, __global double *coeff_11, __global double *coeff_20, __global double *coeff_02, __global double *basis_00, __global double *basis_10, __global double *basis_01, __global double *basis_11, __global double *basis_20, __global double *basis_02, int nb_coeffs, int nb_colloc_points) { unsigned int idx_coeff = get_global_id(0); unsigned int idx_grid = get_global_id(1); unsigned int idx = idx_grid + nb_colloc_points * idx_coeff; mat[idx] = coeff_00[idx_grid] * basis_00[idx] + coeff_10[idx_grid] * basis_10[idx] + coeff_01[idx_grid] * basis_01[idx] + coeff_11[idx_grid] * basis_11[idx] + coeff_20[idx_grid] * basis_20[idx] + coeff_02[idx_grid] * basis_02[idx]; }