[Cython] OpenCL support

mark florisson markflorisson88 at gmail.com
Wed Feb 8 23:13:45 CET 2012


On 8 February 2012 17:35, Dimitri Tcaciuc <dtcaciuc at gmail.com> wrote:
> On Wed, Feb 8, 2012 at 6:46 AM, Dag Sverre Seljebotn
> <d.s.seljebotn at astro.uio.no> wrote:
>> On 02/05/2012 10:57 PM, mark florisson wrote:
>>
>> I don't really know how good the Intel and AMD CPU drivers are w.r.t. this
>> -- I have seen the Intel driver emit "vectorizing" and "could not
>> vectorize", but didn't explore the circumstances.
>
> For our project, we've tried both Intel and AMD (previously ATI)
> backends. The AMD experience somewhat mirrors what this developer
> described (http://www.msoos.org/2012/01/amds-opencl-heaven-and-hell/),
> although not as bad in terms of silent failures (or maybe I just
> havent caught any!).
>
> Intel backend was great and clearly better in terms of performance,
> sometimes by about 20-30%. However, when ran on older AMD-based
> machine as opposed to Intel one, the resulting kernel simply
> segfaulted without any warning about an unsupported architecture (I
> think its because it didn't have SSE3 support).
>
>>
>> Dag Sverre
>>
>> _______________________________________________
>> cython-devel mailing list
>> cython-devel at python.org
>> http://mail.python.org/mailman/listinfo/cython-devel
>
>
> I know Intel is working with LLVM/Clang folks to introduce their
> vectorization additions, at least to some degree, and LLVM seems to be
> consistently improving in this regard (eg
> http://blog.llvm.org/2011/12/llvm-31-vector-changes.html). I suppose
> if Cython emitted vectorization-friendly numerical loops, then
> appropriate C/C++ compiler should take care of this automatically, if
> used. Intel C++ can already do certain stuff like that (see
> http://software.intel.com/en-us/articles/a-guide-to-auto-vectorization-with-intel-c-compilers/),
> and GCC as well AFAIK.

Indeed, native C (hopefully auto-vectorized whenever possible) is what
we also hope to use (depending on heuristics). But what it doesn't
give you is multithreading for the CPU (and e.g. the grand central
dispatch on OS X).

> Dimitri.
> _______________________________________________
> cython-devel mailing list
> cython-devel at python.org
> http://mail.python.org/mailman/listinfo/cython-devel


More information about the cython-devel mailing list