Re: ublas Digest, Vol 130, Issue 8

palik imre <[email protected]>
Newsgroups gmane.comp.lib.boost.ublas
Message-ID <[email protected]>
 
vectorisation: -Ofast vectorises even better.  (Though the results might be off somewhat)BTW, this is one of the big issues with the vanila ublas implementation.  I mean that it doesn't vectorise.

    On Friday, 22 January 2016, 0:30, "[email protected]" <[email protected]> wrote:
 

 From: nasos <[email protected]>
To: [email protected]
Subject: Re: [ublas] Matrix multiplication performance
Message-ID: <[email protected]>
Content-Type: text/plain; charset="windows-1252"; Format="flowed"

Michael,
please see below

On 01/21/2016 05:23 PM, Michael Lehn wrote:
> Hi Nasos,
>
> first of all I don?t want to take wrong credits and want to point out 
> that this is not my algorithm.  It is based on
>
> http://www.cs.utexas.edu/users/flame/pubs/blis2_toms_rev3.pdf
>
> https://github.com/flame/blis
>
> For a few cores (4-8) it can easily made multithreaded.  For 
> many-cores like Intel Xeon Phi this is a bit more
> sophisticated but still not too hard.
Setting up Phis is indeed an issue, especially because they are "locked" 
with icpc. Openmp is working properly though.

> The demo I posted does not use micro kernels that exploit SSE, AVX or
> FMA instructions.  With that the matrix product is on par with Intel 
> MKL.  Just like BLIS. For my platforms I wrote
> my own micro-kernels but the interface of function ugemm is compatible 
> to BLIS.
>
If you compile with -O3 I think you are getting  near optimal SSE 
vectorization. gcc is truly impressive and intel is even more.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.