microsoft / microsoft/onnxruntime

[Feature Request] Implement dynamically sized CPU sets for linux.

Open
#21,241 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core runtime feature request
Dominant language
C++
Stars
21.9k
Forks
4.2k
Avg merge
4d 11h
Merged PRs (30d)
184

Description

### Describe the feature request

Implement dynamically sized CPU sets in onnxruntime/core/platform/posix/env.cc (ThreadMain) so that systems with more than 1024 cores are handled properly. The linux man page for cpu_set describes the necessary calls: CPU_ALLOC, CPU_ALLOC_SIZE, CPU_FREE, CPU_ZERO_S, CPU_SET_S...

### Describe scenario use case

Using any systems with more than 1024 cores.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in onnxruntime/core/platform/posix/env.cc at ThreadMain and compare the current CPU-set handling with the Linux cpu_set man page. Use the CPU_ALLOC, CPU_ALLOC_SIZE, CPU_FREE, CPU_ZERO_S, and CPU_SET_S calls described in the issue, then verify that systems with more than 1024 cores are handled correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
operating-systems
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.