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

Windows support #29

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft

Windows support #29

wants to merge 3 commits into from

Conversation

carstenbauer
Copy link
Owner

Closes #15

  • For now only single-socket and single NUMA-domain systems are support.
  • Pinning does only seem to work for the first Julia thread (Why?)
  • Querying seems to work just fine.

@carstenbauer
Copy link
Owner Author

@miguelraz, FWIW, this is my (old) attempt to support Windows.

Int(@ccall kernel32.GetThreadId(thread_handle::THREAD_HANDLE)::DWORD)
end
get_current_threadid() = Int(@ccall kernel32.GetCurrentThreadId()::DWORD)
function get_threadids()
Copy link

@miguelraz miguelraz Aug 28, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did a lil' digging here finally @carstenbauer !

The querying_test.jl is failing because getcpuids() is non-deterministic. This function is, however, deterministic (although I don't know yet how to map these numbers to the specific core numbers).

My idea is then to make getcpuid() be defined as this function is + some handle mapping to get back the proper threadid's.

However, I remember that threadid() is no longer a recommended way to solve problems. Is that a blocker here? I'm not up to speed on how that could affect these changes.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can always use @threads :static for ... here and then threadid() is perfectly fine.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, this should probably be rebased, because it's somewhat old.

@carstenbauer
Copy link
Owner Author

carstenbauer commented Aug 5, 2024

FWIW, after the revamp - which has just landed on the main branch - it should be a bit easier to support Windows because we now build upon Hwloc.jl as a backend. Hence, there is no need to query the system information manually.

However, I do not plan to work on this at all because I don't care about it enough and, more importantly, don't have access to Windows machines.

@miguelraz
Copy link

I also don't have access to Windows machines anymore 😢

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

Successfully merging this pull request may close these issues.

Windows support
2 participants