Prepared OpenCL backend for multiple inner products with same vector.

Added kernel generation for { inner_prod(x, y0); inner_prod(x, y1); ...; inner_prod(x, yN); } within one kernel.
Useful for e.g. Gram-Schmidt orthogonalization.