Craig,
Even if you ran it on the GPU you could get worse results than with numpy.
Performing computations on the GPU requires quite a bit of orchestration,
such as copying the data to video memory and reading it back. You want to
make your workload as close as this as possible:

1. Load data into GPU.
2. Perform _lengthy_ computation on GPU.
3. Take the output from 2 and do some more heavy computation in the GPU.
Repeat as necessary.
4. Read back results.

Even if you are executing OpenCL on a CPU it will still have some overhead,
so you want your kernels to be significantly expensive to compute. Otherwise
you won't see much benefit.

Cheers,

David


2009/9/17 Craig Swank <[email protected]>

> Oops, It looks like, upon further review, that those opencl results below
> are just for my cpu.  I don't have gpu results and probably don't have a
> gpu.  I'm going to try on another computer and I'll update this post.
>
> Craig
>
>
>
>
> On Sep 17, 2009, at 12:59 PM, Craig Swank wrote:
>
>  Hello,
>> I am just looking at opencl for the first time today.  Looks pretty
>> neat.  I added the following lines to benchmark-all.py:
>>
>> c_result2 = numpy.empty_like(a)
>> time1 = time()
>> c_result2 = a + b
>> c_result2 = c_result2 * (a + b)
>> c_result2 = c_result2 * (a / 2.0)
>> time2 = time()
>> print "Execution time of test without OpenCL, but with numpy: ", time2
>> - time1, "s"
>>
>> To do the same calculations the way numpy was designed to do, and got
>> the following results (edited for readability):
>>
>> Execution time of test without OpenCL:  23.8333249092 s
>> Execution time of test without OpenCL, but with numpy:
>> 7.41481781006e-05 s
>> Execution time of test: 0.014881 s
>>
>> The numpy way is quite a bit faster.  My question is, is there a use
>> case where the use of opencl would overtake numpy for these types of
>> calculations? Or maybe I just have a sucky GPU?  I don't know.
>>
>> Craig
>>
>>
>> _______________________________________________
>> PyOpenCL mailing list
>> [email protected]
>> http://tiker.net/mailman/listinfo/pyopencl_tiker.net
>>
>
>
> _______________________________________________
> PyOpenCL mailing list
> [email protected]
> http://tiker.net/mailman/listinfo/pyopencl_tiker.net
>
_______________________________________________
PyOpenCL mailing list
[email protected]
http://tiker.net/mailman/listinfo/pyopencl_tiker.net

Reply via email to