Yesterday we merged PR 19478 [0] to add a open source version of Intel's
Short Vector Math library into NumPy. The original PR was by Raghuveer
Devulapalli. There was a lot of discussion on the PR, but now that I
look back it seems the mailing list may not have been involved. The code
lives in https://github.com/numpy/SVML, and in order to pull it in you
must now do `git submodule update --init` before building NumPy. The
library provides AVX-512 implementations of the following math
functions: exp, exp2, log, log2, log10, expm1, log1p, cbrt, pow, sin,
cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, asinh, acosh and
atanh, speeding them up significantly where AVX-512 is available. Before
this PR was merged, Raghuveer added a set of tests for accuracy and
compliance for these functions [1]. The accuracy is now defined as up to
4 ULP in the worst case for tan, cos, sin, asin, atan, expm1, but
typically the error is up to 2 ULP.
As SciPy already found out, some downstream libraries may need to tweak
their tolerances for some functions as a result of this PR. We wanted to
put it in early enough in the release cycle so that we can back it out
fully or partially if the accuracy degradation is too large, so please
speak up if you notice anything strange.
Matti
[0] https://github.com/numpy/numpy/pull/19478
[1] https://github.com/numpy/numpy/pull/19485
_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com