-
Notifications
You must be signed in to change notification settings - Fork 281
Improve and update documentation #1207
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
Conversation
README.md
Outdated
| ### Auto detection of the instruction set extension to be used | ||
|
|
||
| The same computation operating on vectors and using the most performant instruction set available: | ||
| The same computation operating on vectors and using the most performant instruction set available at compile time, absed on the provided compiler flags (e.g. ``-mavx2`` for GCC and Clang to target AVX2): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we could add a reference to this and maybe suggest the arch levels to the user?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I provide an example here: https://github.com/DiamonDinoia/random
Update supported architecture and make various usage scenario more explicit. Fix #1202
372af5c to
19a6d45
Compare
|
we could add a reference to [2]this and maybe suggest the arch levels to the
user?
I'm not sure about that: we're ine README, and I assume people should know stuff
about SIMD when using xsimd. One thing we could do is point at an academic
lesson on SIMD (in addition to the wikipedia page I've already added).
|
I agree, maybe in the dynamic dispatch page we can mention this. |
|
All these changes look positive; however, they still don't make clear the interaction between Xsimd's capabilities and the compiler target for the application. We have 3 primary variables:
What is the interplay between these variables? Can I do something like compile Xsimd for AVX512 no matter what, and automagically, with one client binary (compiled targeting say SSE2, since that was the former Windows 10 baseline hardware requirement), and if the processor supports say AVX2, Xsimd will leverage that? Or are we capped at SSE2 no matter what in this scenario? If I'm using dispatch to handle multiple architectures, say SSE2 and AVX2, do I target SSE2 or AVX2 in my compiler settings? Answers to these questions are still not made clear. This has little to do with understanding how SIMD works per se, nor processor architecture settings, and everything to do with how the library works under the hood, which is still not crystal clear. |
Update supported architecture and make various usage scenario more explicit.
Fix #1202