WIP: use openmp vector function ABI for sin, cos, exp and log#7865
Closed
juliantaylor wants to merge 3 commits intonumpy:masterfrom
Closed
WIP: use openmp vector function ABI for sin, cos, exp and log#7865juliantaylor wants to merge 3 commits intonumpy:masterfrom
juliantaylor wants to merge 3 commits intonumpy:masterfrom
Conversation
d0077f6 to
ad7ee06
Compare
ad7ee06 to
9687447
Compare
9687447 to
0b1be05
Compare
Contributor
Author
|
added power support and solved the npymath problem, forgot about the mlib.ini |
Make use of vector functions available in glibc since 2.22.
0b1be05 to
6c29106
Compare
Contributor
|
☔ The latest upstream changes (presumably #8148) made this pull request unmergeable. Please resolve the merge conflicts. |
Member
|
Failed build and needs rebase. |
Member
|
@juliantaylor it seems we are going in the direction of adding direct support for intrinsics in gh-13368, gh-13885, gh-13516. Should we discuss using external glibc or other packages to do this for us instead? |
Member
|
Closing, since it seems we will not be able to merge this with our current approach. Please reopen if I am mistaken. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
glibc provides sin, cos, exp, log, pow and sincos with this ABI since 2.22 for sse4 and AVX2.
https://sourceware.org/glibc/wiki/libmvec
In this branch I have added support for the first four which provides significant speedup over the scalar functions.
It is implemented directly via the ABI instead of relying on compiler support to do so automatically. Using the compiler would be nicer (especially since gcc can do auto cloning) but this might be more portable.
There are still a couple issues but it should be testable.
OPT=-mavx2npymath now requires a link to libmvec which could be a problem for third parties(but still a hack in linalg_umath which likely will cause a failure in travis)