This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: Question about building and using libmvec
- From: Carlos O'Donell <carlos at redhat dot com>
- To: sellcey at cavium dot com, libc-help <libc-help at sourceware dot org>
- Date: Wed, 31 Jan 2018 14:15:48 -0800
- Subject: Re: Question about building and using libmvec
- Authentication-results: sourceware.org; auth=none
- References: <1517433450.2638.9.camel@cavium.com>
On 01/31/2018 01:17 PM, Steve Ellcey wrote:
> I have a libmvec question. Should it be possible to build libmvec on any
> platform or is it just on x86? The only abilist I see for libmvec
> is sysdeps/unix/sysv/linux/x86_64/libmvec.abilist. I did a build
> on aarch64 with --enable-mathvec and it built fine, I got the following
> files:
>
> install/usr/lib64/libmvec.so
> install/usr/lib64/libmvec.a
> install/lib64/libmvec-2.26.9000.so
> install/lib64/libmvec.so.1
>
> But I did not get libmvec_nonshared.a and when I went to build gcc using
> the glibc I had built, I got this error:
>
> /home/sellcey/mvec/install/aarch64-linux-gnu/bin/ld: cannot find /usr/lib64/libmvec_nonshared.a inside /home/sellcey/mvec/install
> collect2: error: ld returned 1 exit status
> Makefile:610: recipe for target 'libstdc++.la' failed
> make[5]: *** [libstdc++.la] Error 1
>
> Should the glibc build have created and installed libmvec_nonshared.a?
> If I have such a library will it get used at all on aarch64? It looks
> like this library is only called when using openmp pragmas, is that
> correct? There doesn't seem to be any gcc flag for generating calls
> to this library.
Only x86_64 supports libmvec.
See the wiki for more notes. It would be great to have more arches provide
libmvec to support SIMD constructs in OpenMP4.0.
NEWS:
* Added vector math library named libmvec with the following vectorized x86_64
implementations: cos, cosf, sin, sinf, sincos, sincosf, log, logf, exp, expf,
pow, powf.
The library can be disabled with --disable-mathvec. Use of the functions is
enabled with -fopenmp -ffast-math starting from -O1 for GCC version >= 4.9.0.
Shared library libmvec.so is linked in as needed when using -lm (no need to
specify -lmvec explicitly for not static builds).
Visit <https://sourceware.org/glibc/wiki/libmvec> for detailed information.
See:
https://sourceware.org/ml/libc-alpha/2017-03/msg00333.html
--
Cheers,
Carlos.