Following is a code taken from "OpenCL in action".

__kernel void matvec_mult(__global float4* matrix,
__global float4* vector,
__global float* result) {

int i = get_global_id(0);
result[i] = dot(matrix[i], vector[0]);
//printf(“Greetings host from work-item [%03d]”, i);

In this case 'dot' will always take 4 'float' elements.

In my project the kernel gets the following parameters:

__kernel void matvec_mult(__global float* matrix,
__global float* vector,
__global float* result) {


'matrix' is NxM
'vector' has Mx1 elements.
Is it possible to run 'dot (matrix[1,:], vector)' in one operation ?