This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [RFC] How to add vector math functions to Glibc
- From: Andrew Pinski <pinskia at gmail dot com>
- To: "Carlos O'Donell" <carlos at redhat dot com>
- Cc: "H.J. Lu" <hjl dot tools at gmail dot com>, Andrew Senkevich <andrew dot n dot senkevich at gmail dot com>, "Joseph S. Myers" <joseph at codesourcery dot com>, libc-alpha <libc-alpha at sourceware dot org>
- Date: Tue, 30 Sep 2014 09:17:25 -0700
- Subject: Re: [RFC] How to add vector math functions to Glibc
- Authentication-results: sourceware.org; auth=none
- References: <CAMXFM3tjquzniXP1weqxSVFJyhXqsf2PHuyrrrmqp7K0ZzORqA at mail dot gmail dot com> <CAMXFM3sGMNX1DEPAMt7qUR4UREF_xUAQjCG1OjBiZH2aoOFiPA at mail dot gmail dot com> <Pine dot LNX dot 4 dot 64 dot 1409181551370 dot 31607 at digraph dot polyomino dot org dot uk> <CAMXFM3tO7MTYCq8-YFZacdbLvR4iAab_n04AuB+rp2Phs4BvQg at mail dot gmail dot com> <Pine dot LNX dot 4 dot 64 dot 1409242011260 dot 7597 at digraph dot polyomino dot org dot uk> <CAMXFM3tqiqUNuSU2KXvAFM-QescX3+6xUO9=z5X0Ac6C9qJ7zg at mail dot gmail dot com> <CAMe9rOq7bZHb8R=opUzSmAMGWjLpX21mR=Sx96cuBph=TTtDXA at mail dot gmail dot com> <54246CB5 dot 7020908 at redhat dot com> <CAMe9rOoLmJ2jHWmERoB0M83WNKovJOgh0--Kquw9O86A1tPU0g at mail dot gmail dot com> <5424733D dot 6010305 at redhat dot com> <CAMe9rOpacze055qyBFzz3M-b-GNtXCqZzMmkScBL9a94zVj28g at mail dot gmail dot com> <54247FAB dot 6050002 at redhat dot com> <CAMe9rOq78Sey2HMHBdJNY=+E5NuHxDDhhZ=+0QJX5MTw6KLcBg at mail dot gmail dot com> <54258AD4 dot 7000604 at redhat dot com> <CAMe9rOqgy6DB9mAEYHaNCZN9-m8aiSWrwAgZ=AXAcbYr8+KD7Q at mail dot gmail dot com> <5425A89F dot 1070103 at redhat dot com>
On Fri, Sep 26, 2014 at 10:55 AM, Carlos O'Donell <carlos@redhat.com> wrote:
> On 09/26/2014 12:08 PM, H.J. Lu wrote:
>>> I think this chioce may actually be larger than just Intel.
>>>
>>> For example IBM, and particularly their Power vector math
>>> functions were explained to me as being callable directly
>>> by developers. Thus Power might want libmvec.so in glibc?
>>
>> Does Power have the same API as x86? If not, how will they
>> be used by programmers?
>
> Power does not have the same API.
They do have a similar API; at least the Cell does:
https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/6BFB9899CEA5456800257360001938B3/$file/SIMD_Library_Specification_for_CBEA_1.2.pdf
(I Helped write this spec when I was at Sony).
Which looks like it is also at
http://pic.dhe.ibm.com/infocenter/compbg/v121v141/index.jsp?topic=%2Fcom.ibm.xlcpp121.bg.doc%2Fproguide%2Fmass_simd.html
.
Thanks,
Andrew Pinski
>
> I expect that David Edhelson was talking about these:
> http://pic.dhe.ibm.com/infocenter/compbg/v121v141/index.jsp?topic=%2Fcom.ibm.xlcpp121.bg.doc%2Fproguide%2Fvector.html
>
> Though I haven't verified.
>
>> Again, we need to decide
>>
>> 1. Who is the main user.
>
> Normal developers.
>
>> 2. How it is used by the main user.
>
> They call those functions.
>
>> 3. What is the impact on the programmers.
>
> If the functions are in glibc, we can deploy them independent
> of compiler.
>
>> If we put it in GLIBC, we should have a API with a generic
>> implementation and each target can have optimized implementation.
>
> I disagree.
>
> Each target will likely have two APIs:
>
> (a) The legacy API supported for compatibility with existing
> applications following the existing published APIs.
> e.g. IBM and Intel vector functions.
>
> (b) A generic GNU implemetnation that all targets can have.
>
> We aren't even talking about (b) yet.
>
> Cheers,
> Carlos.
>