[RFC] How to add vector math functions to Glibc

Carlos O'Donell carlos@redhat.com
Fri Sep 26 14:13:00 GMT 2014


On 09/26/2014 09:45 AM, Andrew Senkevich wrote:
>>> 3.1. Goal
>>>
>>> Main goal is to improve vectorization of GCC with OpenMP4.0 SIMD
>>> constructs (#2.8 in http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf
>>> and Cilk Plus constructs (#6-8 in
>>> http://www.cilkplus.org/sites/default/files/open_specifications/Intel_Cilk_plus_lang_spec_1.2.htm)
>>> on x86_64 by adding SSE4, AVX and AVX2 vector implementations of
>>> several vector math functions (float and double versions). AVX-512
>>> versions are planned to be added later. These functions can be also
>>> used manually (with intrinsics) by developers to obtain speedup.
>>>
>>> So it is mainly for GCC.
>>
>> The only counter-argument to that is that a single implementation
>> in glibc can be shared by gcc and llvm or any other compiler. As
>> noted in "3.5 Open questions, a."
> 
> Yes, it was a little bit inaccurate, corrected on wiki.

Thanks. Having the wiki document is useful to allow us and others
to stay organized over the decisions we've already made.

I've moved the two answered questions into a "Consensus" header
for the vector library.

Please correct this if I'm wrong.

>> Intel needs to decide where they want this piece of technology
>> to reside. I don't know that the community can make this choice
>> for Intel.
>>
>> The community is ready to work with Intel to implement this in
>> glibc.
> 
> Yes, we also would like to add vector functions to new library libmvec.

OK.

Cheers,
Carlos.



More information about the Libc-alpha mailing list