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

Update libpfm4 to commit 4134cb #224

Merged

Conversation

Treece-Burgess
Copy link
Contributor

@Treece-Burgess Treece-Burgess commented Aug 27, 2024

Pull Request Description

Update libpfm4

Current with
commit 3abda5bc6c1af7f1b620dc594a806b3b5a4134cb
Author: Stephane Eranian eranian@gmail.com
Date: Tue Aug 27 13:52:59 2024 -0700

Optimize pfm_detect() for ARM processors

Avoid calling pfmlib_getcpuinfo_attr() 3 times for each ARM PMU to
detect. For a given processor, the function will always return the
same information. Use the pfm_arm_cfg structure as a cache on
subsequent calls.

Note: this overall logic does not handle ARM hybrids right now.

Signed-off-by: Stephane Eranian <eranian@gmail.com>

commit b8b7d69e774c38618aa440f49d69814d109629f5
Author: Stephane Eranian eranian@gmail.com
Date: Mon Aug 26 17:22:47 2024 -0700

add L2D_CACHE and make L2D_CACHE_ACCESS alias for ARM Neoverse N1,N2,V2

To match kernel and documentation. Patch provides an alias to avoid
breaking existing scripts.

Signed-off-by: Stephane Eranian <eranian@gmail.com>

commit 0d216ee4082aef2d8cabfa9816cdb6d6560d1d3f
Author: Stephane Eranian eranian@gmail.com
Date: Fri Aug 16 00:29:33 2024 -0700

update Intel SapphireRapids core PMU to 1.24

Updates the Intel SapphireRapids core PMU event table
to latest Intel released version:

Date   : 07/18/2024
Version: 1.24"

From gitub.com/Intel/perfmon

Signed-off-by: Stephane Eranian <eranian@gmail.com>

commit 874ed7cff57271c5d4e530650eadce76e3dcaa14
Author: jdeokkim jdeokkim@protonmail.com
Date: Mon Jul 22 17:08:07 2024 +0900

Fix typos in docs/man3/pfm_get_perf_event_encoding.3

commit ffbfc5970897de87471e7cba64737dc13e2369cf
Author: jdeokkim jdeokkim@protonmail.com
Date: Mon Jul 22 16:59:06 2024 +0900

Fix typos in docs/man3/pfm_get_os_event_encoding.3

Note: The PAPI team does not have access to a machine with ARM and ARM Neoverse to test building PAPI with updated libpfm4 changes.
Built PAPI successfully on a machine with an Intel Sapphire Rapids (Intel(R) Xeon(R) Gold 6430) CPU and output from papi_native_avail shows updated names and descriptions.

Author Checklist

  • Description
    Why this PR exists. Reference all relevant information, including background, issues, test failures, etc
  • Commits
    Commits are self contained and only do one thing
    Commits have a header of the form: module: short description
    Commits have a body (whenever relevant) containing a detailed description of the addressed problem and its solution
  • Tests
    The PR needs to pass all the tests

Current with
commit 3abda5bc6c1af7f1b620dc594a806b3b5a4134cb
Author: Stephane Eranian <eranian@gmail.com>
Date:   Tue Aug 27 13:52:59 2024 -0700

    Optimize pfm_detect() for ARM processors

    Avoid calling pfmlib_getcpuinfo_attr() 3 times for each ARM PMU to
    detect. For a given processor, the function will always return the
    same information. Use the pfm_arm_cfg structure as a cache on
    subsequent calls.

    Note: this overall logic does not handle ARM hybrids right now.

    Signed-off-by: Stephane Eranian <eranian@gmail.com>

commit b8b7d69e774c38618aa440f49d69814d109629f5
Author: Stephane Eranian <eranian@gmail.com>
Date:   Mon Aug 26 17:22:47 2024 -0700

    add L2D_CACHE and make L2D_CACHE_ACCESS alias for ARM Neoverse N1,N2,V2

    To match kernel and documentation. Patch provides an alias to avoid
    breaking existing scripts.

    Signed-off-by: Stephane Eranian <eranian@gmail.com>

commit 0d216ee4082aef2d8cabfa9816cdb6d6560d1d3f
Author: Stephane Eranian <eranian@gmail.com>
Date:   Fri Aug 16 00:29:33 2024 -0700

    update Intel SapphireRapids core PMU to 1.24

    Updates the Intel SapphireRapids core PMU event table
    to latest Intel released version:

    Date   : 07/18/2024
    Version: 1.24"

    From gitub.com/Intel/perfmon

    Signed-off-by: Stephane Eranian <eranian@gmail.com>

commit 874ed7cff57271c5d4e530650eadce76e3dcaa14
Author: jdeokkim <jdeokkim@protonmail.com>
Date:   Mon Jul 22 17:08:07 2024 +0900

    Fix typos in docs/man3/pfm_get_perf_event_encoding.3

commit ffbfc5970897de87471e7cba64737dc13e2369cf
Author: jdeokkim <jdeokkim@protonmail.com>
Date:   Mon Jul 22 16:59:06 2024 +0900

    Fix typos in docs/man3/pfm_get_os_event_encoding.3

Note: The PAPI team does not have access to a machine with ARM and ARM Neoverse to test building PAPI with updated libpfm4 changes.
Built PAPI successfully on a machine with an Intel Sapphire Rapids (Intel(R) Xeon(R) Gold 6430) CPU and output from papi_native_avail shows updated names and descriptions.
@Treece-Burgess Treece-Burgess changed the title Update libpfm4 to commit 9629f5 Update libpfm4 to commit 4134cb Aug 29, 2024
@Treece-Burgess Treece-Burgess merged commit 337d305 into icl-utk-edu:master Aug 29, 2024
25 of 26 checks passed
@G-Ragghianti
Copy link
Contributor

This was merged, but it is failing one of the tests...

@Treece-Burgess
Copy link
Contributor Author

@G-Ragghianti It is failing the PAPI_SPACK GitHub action because of the Cuda Component failing due to Cuda version 12.6. Which I have been able to reproduce now on Leconte. I have created Issue #225 to track this.

The failure doesn't stem from the changes in this commit.

@G-Ragghianti
Copy link
Contributor

Yes I see that the failure is not directly caused by a code change in the repo, but it is more an effect of the changing external environment. This is somewhat of a philosophical point, but I would encourage these problems to be fixed when discovered if the merge is not urgent. Otherwise, the problem will be kicked down the road indefinitely, and the CI will start becoming less useful as an indicator. In this case, we could fix CUDA at a known good version (12.5.1) in the CI until the compatibility with cuda@12.6 is implemented.

@Treece-Burgess
Copy link
Contributor Author

@G-Ragghianti I understand and I agree. We had users asking for the latest libpfm4 commits to be merged into master, and due to me locally testing as well as the error stemming from the Cuda component I went ahead and merged.

Just from what I looked into for the Cuda component issue, I do not believe it will be a quick fix.

I think dropping the Cuda version to 12.5.1 for PAPI_SPACK makes sense and is a good idea for now.

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.

3 participants