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

Add simd intrinsics (sin, cos, exp, ...) for non-Intel compiler #10

Open
tingyu66 opened this issue Feb 27, 2019 · 2 comments
Open

Add simd intrinsics (sin, cos, exp, ...) for non-Intel compiler #10

tingyu66 opened this issue Feb 27, 2019 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@tingyu66
Copy link
Member

Trigonometric functions, ex. _mm256_sin_ps, are now only available when using intel compiler and intel svml library found. We could integrate the intrinsics below into vec.h to improve the performance of helmholtz kernel when using gcc.

http://software-lisc.fbk.eu/avx_mathfun/avx_mathfun.h
http://gruntthepeon.free.fr/ssemath/

@tingyu66 tingyu66 added the enhancement New feature or request label Feb 27, 2019
@rioyokota
Copy link
Contributor

This is something that was done in the previous exafmm using Agner Fog's vectorclass.
https://www.agner.org/optimize/vectorclass/read.php?i=2
It's like a more complete version of vec.h with all possible functions implemented for SSE, AVX, AVX2, AVX512.
I stopped using it because it had some problems on some machines we were using.
Maybe these problems have been fixed so we can use it again.

@rioyokota
Copy link
Contributor

Take a look at how it was done in the older versions of exafmm.
I don't remember exactly which version of exafmm it was.
I think it was exafmm-beta in an older revision.

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

No branches or pull requests

3 participants