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

Alderlake expansion #10

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

s9105947
Copy link
Contributor

This is some code to support the heterogeneous intel architecture alderlake.
It has been used in production, but not upstreamed yet.

All commits are labeled, please refer to their descriptions.

s9105947 added 4 commits June 20, 2022 17:57
To allow more generic user-driven configuration of CPU patterns the new
`raw_pattern()` accepts a vector of bool which CPUs should be enabled or
disabled.

This can be considered a wrapper to transform a list of bools to the
set-based internal representation to be more in line with the existing
pattern generators.
The configuration for the test system "kallisto" uses a alderlake
processor, i.e. there are different types of cores.

This newly added test aims to explore the behavior of these cores.
It is not finished and in its current state mainly handles the pattern
creation, i.e. the mapping of function to CPU number.
Add documentation and a run script for kallisto configuration.

Additionally, remove useless comments and switch to production cpu
patterns/frequencies.
The following *only* applies to OpenBLAS.

The BLAS invocation during the matmul kernel uses BLAS-owned threads.
These are created separately, and thus are *not pinned* correctly.

In our kallisto (alder lake) test system this led to *100%* CPU usage,
while only 1/3rd of threads where active (E-cores only).

The fix is documented in the OpenBLAS FAQ under "How can I use OpenBLAS
in multi-threaded applications?", recommending setting an environment
variable to disable this separate thread spawning.
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.

1 participant