Skip to content
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

Investigate use of streaming SIMD extensions to compute TDE #86

Open
GFariasR opened this issue Jan 28, 2017 · 1 comment
Open

Investigate use of streaming SIMD extensions to compute TDE #86

GFariasR opened this issue Jan 28, 2017 · 1 comment

Comments

@GFariasR
Copy link
Contributor

GFariasR commented Jan 28, 2017

we could vectorize computations, like the one below, using the SSE instructions. How does one do that? Is there any advantage?

for (std::size_t i = 0; i != tmpa_.num_elements(); ++i) {
    tmpa_.data()[i] = std::conj(tmpa_.data()[i]) * (tmpb_.data()[i]);
}
@coryan
Copy link
Owner

coryan commented Jan 30, 2017

This link:

https://users.ece.cmu.edu/~franzf/teaching/slides-18-645-simd.pdf

has some relevant bits around slide 25. Basically there is a cool addsub instruction that helps with complex number arithmetic.

Also check:

https://en.wikipedia.org/wiki/SSE3#New_instructions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants