This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Question about building and using libmvec


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]