-
Notifications
You must be signed in to change notification settings - Fork 35
Use hwloc instead of libnuma for os_provider #105
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
9cae8db
to
23b0cf8
Compare
CI fails because I don't know how to best install hwloc on windows and macos yet ;d |
I think we can keep OS provider disabled on Windows and MacOS as it is currently for now. |
@igchor I'm not sure about this change. WinAPI already supports NUMA (https://learn.microsoft.com/en-us/windows/win32/procthread/numa-support#numa-api) and with your changes, the UMF would require an additional dependency. Maybe we could use hwloc instead of libnuma only for Linux? |
I thought we'll need to rely on hwloc anyway for topology discovery (e.g. to implement HOST memspace). |
Ok. Done. |
OK but what I'm thinking about is that installing hwloc on Windows could be not as easy as for linux. I think we should add short description to the readme how to do that. Also, we should think which hwloc version we would require. Recently hwloc team released 2.10 version with some nice features supporting heterogeneous memory. Maybe for a stand-alone version (without oneAPI base toolkit) we should ship hwloc binaries inside deps or something. |
For now, the OS provider is not implemented for Windows anyway - when we do implement it, then yes, I agree, we should extend the readme. The version of hwloc we need will probably depend on the discovery use-case. For OS provider, we could even use 2.0 |
@bratpiorka what do you mean by "standalone version"? We never discussed the distribution model for UMF except as part of oneAPI or source code on GitHub? |
Ok I was thinking about the far future. Sergey - do you know is hwloc lib is added into oneAPI? |
Yes, it was added for TCM needs. |
please rebase - also I think we could set this PR to "ready to review" |
I'd prefer to have tests for NUMA merged first and to verify this on a multiple-node machine. |
62c5792
to
4e2ce94
Compare
4e2ce94
to
db5e45c
Compare
Also, I've left dependency for libnuma in tests since I think it should not be a problem and it would be good to verify that hwloc does what it is supposed to do. |
db5e45c
to
957d877
Compare
There is no implmenetation for windows anyway.
957d877
to
d497f11
Compare
d497f11
to
a548359
Compare
This allows us to get rid of libnuma as a dependency.
One missing features from hwloc is lack of support for:
UMF_NUMA_FLAGS_MOVE_ALL
. Do we care about this?"Also, I think we need more tests before we can consider merging this. Something where we actually verify if memory is bound to a specific NUAMA node.