Consequences of changing EigenNonBlockingThreadPool alignment requirements #17134
Unanswered
leandro-gracia-gil
asked this question in
General
Replies: 1 comment
-
@tlh20 Sorry to call you out of the blue. Looks like this is related to this pull of yours. It's a few years old by now, so I'm not sure how much you will remember. But any insights you might have would be appreciated. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
I'm trying to use ONNXRuntime in a x86 platform that requires TLS sections to have a power of 2 alignment <= 32. I can build the library just fine, but it fails at runtime (when loading it as a shared library) due to this requirement. After investigating a bit it seems that EigenNonBlockingThreadPool is forcing an alignment of 128 "to avoid false sharing with prior fields".
onnxruntime/include/onnxruntime/core/platform/EigenNonBlockingThreadPool.h
Line 193 in 9204cd7
I would need to set this alignment down to a maximum of 32 for my particular use case. I can do it locally and there are no build issues, but the comment about false sharing makes me feel uneasy about doing this.
Thanks.
Edit: just to make it clear, I am not asking to make any changes to the github source code. This is for my own local builds.
Beta Was this translation helpful? Give feedback.
All reactions