title: does numpy runs faster than OpenCL?
body: <p>I tried some basic examples in pyopencl and noticed, that whatever I do, numpy runs faster than pyopengl. I run my scripts on a Intel i5 embedded HD4400. Clearly nothing special, but numpy runs minimum twice as fast as pyopengl. Last script I try:</p>
  
  <pre><code>import pyopencl as cl
  from pyopencl import algorithm
  import numpy as np
  from time import time
  from pyopencl.clrandom import rand
  from pyopencl.array import to_device
  
  if __name__ == '__main__':
      ctx = cl.create_some_context()
      queue = cl.CommandQueue(ctx)
      q = np.random.random_integers(-10**6,high=10**6, size=2**24)
      r = to_device(queue, q)
      begin = time()
      out, count, even = algorithm.copy_if(r, "ary[i] &lt; 42", queue=queue)
      out.get()
      print("OpenCL takes {:9.6F} seconds".format(time() - begin))
      begin = time()
      b = q[q&lt;42]
      print("numpy takes {:9.6F} seconds".format(time() - begin))
  </code></pre>
  
  <p>output:</p>
  
  <pre><code>OpenCL takes  1.223419 seconds
  numpy takes  0.269451 seconds
  </code></pre>
  
  <p>Why didn't I see some advantages in parallelism? Also I appreciate links to well structued (py)?opencl tutorials or docs. Thanks in advance!</p>