-
-
Notifications
You must be signed in to change notification settings - Fork 99
Disable auto-vectorization in prebuilt Docker images #1778
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
Disable auto-vectorization in prebuilt Docker images #1778
Conversation
The following new build options exist: - `VAST_ENABLE_AUTO_VECTORIZATION` enables/disables all auto-vectorization flags. - `VAST_ENABLE_SSE_INSTRUCTIONS` enables `-msse`; similar options exist for SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, and AVX2.
This increases the portability of our hosted Docker images. Users building locally will still have flags enabled that their respective device supports.
Did you do any testing on how this impacts performance? Also, from the description it sounds like only AVX2 support was problematic, so would it make more sense to only turn that off? From a brief glance at Wikipedia, it sounds like all the other features should be supported by basically every CPU made in the last 10 years? |
I did not. It's only disabled for Docker, which we don't use in high-perf scenarios.
We can do that as well, will make that change. |
12a3cc3
to
b270f69
Compare
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.
Changes look good; would still be interesting to know the performance impact so we can display a note somewhere if required, but given that Roland is affected we'd probably merge this anyways even if the impact was high.
None since the last release definitely, because we only added the AVX stuff a week ago. |
b270f69
to
fbe3e27
Compare
fbe3e27
to
60b5411
Compare
📔 Description
The following new build options exist:
VAST_ENABLE_AUTO_VECTORIZATION
enables/disables all auto-vectorization flags.VAST_ENABLE_SSE_INSTRUCTIONS
enables-msse
; similar options exist for SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, and AVX2.The CI now builds the Docker images hosted on Dockerhub with auto-vectorization disabled. This increases the portability of our hosted Docker images. Users building locally will still have flags enabled that their respective device supports.
📝 Checklist
🎯 Review Instructions