Thanks to visit codestin.com
Credit goes to github.com

Skip to content

WIP, BUG: exp, log AVX loops do not use steps #13517

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

mattip
Copy link
Member

@mattip mattip commented May 9, 2019

Fixes #13512 by considering steps in the inner loop

Still a WIP - added a test for all ufuncs

@mattip
Copy link
Member Author

mattip commented May 9, 2019

Still need to work steps into @ISA@_exp_FLOAT ane @ISA@_log_FLOAT to make the test pass

@mattip
Copy link
Member Author

mattip commented May 9, 2019

@r-devulap you can issue a PR to this branch or start a new branch with some form of this test

To issue a PR against this branch (assuming I have no bugs in this code):

git remote add mattip https://github.com/mattip/numpy
git fetch mattip issue13512
git checkout issue12512
... (fix the bug, check benchmarks and *so size change)
git push r-devulap

then go to https://github.com/r-devulap/numpy/pull/new/issue13512

@r-devulap
Copy link
Member

@mattip thanks. I am working on a fix and will submit them to this PR.


@pytest.mark.parametrize('ufunc', [getattr(np, x) for x in dir(np)
if isinstance(getattr(np, x), np.ufunc)])
def test_ufunc_noncontiguous(ufunc):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a ufunc test for overlapping input and output memory is needed for vectorization too
_gen_alignment_data produces a bunch of data for unary and binary simd tests (though not strided)
but it creates a huge amount of test cases which makes tests slow

nowadays atleast on x86 you don't need the alignment stuff anymore so maybe overlapping input and output for unary and binary functions is enough?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be enough to set func(*args, out=arg[0]) or would you like to see offset overlap as well?

@mattip
Copy link
Member Author

mattip commented May 10, 2019

Duplicate of #13520, closing

@mattip mattip closed this May 10, 2019
@mattip mattip deleted the issue13512 branch May 20, 2019 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

BUG: exp and log with non-contiguous float32 inputs
3 participants