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

Scopes for P and E cores on hybrid chips (e.g. Alder Lake) #73

Open
andreapiacentini opened this issue Feb 14, 2024 · 0 comments
Open

Comments

@andreapiacentini
Copy link
Collaborator

As a summary of a mail exchange:

On 13/02/2024 10:08, Andrea Piacentini wrote:

Hi Sam.
You can see, for instance, the hwloc documentation chapter on "Topology Attributes: Distances, Memory Attributes and CPU Kinds
":
https://www.open-mpi.org/projects/hwloc/doc/v2.8.0/a00366.php
It states that not all the linux flavours provide efficiency information and therefore in some cases the information comes from heuristics.

Strictly speaking the efficiency does not define a topological level, rather an attribute of some elements at the same level.
Yet I can easily think of an application targeting the computational tasks on the P cores subset and some service tasks (I/O, whatever) to the E cores.

By which syntax and which underlying implementation could Quo or Quo-Vadis help this targeting ?

Cheers
Andrea

On 13/02/2024 18:07, Gutierrez, Samuel K. wrote:

Hi Andrea,

Thank you.

I would have to think about this some more. That said, Quo probably can't right now. Quo-Vadis could by way of our use of hints, but it currently doesn't. If you're interested, please open an issue on the Quo-Vadis side so we don't lose track of this.

Thank you,

Sam

On 14/02/2024 03:12, Leon Borja, Edgar wrote:

Greetings, Andrea,

Adding to Sam’s response, Quo Vadis could support this use case via the ‘hint’ parameter of the ‘qv_scope_create’ call. The hints could look like:
QV_SCOPE_CREATE_E_CORE
QV_SCOPE_CREATE_P_CORE

For example:
qv_scope_create(ctx, input_scope, QV_HW_OBJ_CORE, ncores, QV_SCOPE_CREATE_E_CORE, &output_scope);

Hwloc would need to add the appropriate attributes to the cores, so that QV knows which cores are energy-efficiency-driven vs. performance-driven.

As Sam mentioned, if you add a GitHub issue, we will not forget :)

Thanks for bringing this up!
Edgar

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

No branches or pull requests

1 participant