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

sysdetect: all tests hang on Intel Raptorlake #256

Closed
willowec opened this issue Oct 8, 2024 · 4 comments
Closed

sysdetect: all tests hang on Intel Raptorlake #256

willowec opened this issue Oct 8, 2024 · 4 comments

Comments

@willowec
Copy link
Contributor

willowec commented Oct 8, 2024

Tests for the sysdetect component in src/components/sysdetect/tests hang on an 13th Gen Intel(R) Core(TM) i7-13700 (raptorlake) due to sysdetect not being designed to handle heterogeneous CPU cores. The hang occurs somewhere in fill_cpu_info() of src/components/sysdetect/cpu.c. It seems likely that adding support for heterogeneous processors to the sysdetect component will be a fairly intensive process.

To reproduce:
On a machine with an Intel Raptorlake processor, configure & compile PAPI and then run src/components/sysdetect/tests/query_device_simple

Example output with PAPI_DEBUG=ALL:

$ ./components/sysdetect/tests/query_device_simple
...
Testing sysdetect component with PAPI 7.2.0

Device Summary -----------------------------------------------------------------
Vendor           DevCount 
SUBSTRATE:components/sysdetect/cpu.c:fill_cpu_info:54:235706 error: function cpu_get_attribute_at(CPU_ATTR__CACHE_INST_PRESENT, level, &a) failed with error -1
SUBSTRATE:components/sysdetect/cpu.c:fill_cpu_info:55:235706 error: function cpu_get_attribute_at(CPU_ATTR__CACHE_DATA_PRESENT, level, &b) failed with error -1
SUBSTRATE:components/sysdetect/cpu.c:fill_cpu_info:56:235706 error: function cpu_get_attribute_at(CPU_ATTR__CACHE_UNIF_PRESENT, level, &c) failed with error -1

@Treece-Burgess
Copy link
Contributor

@willowec Are you trying to use the sysdetect component on the Raptorlake CPU or is this causing you an issue during the build process for PAPI since the sysdetect component is enabled by default?

If the latter, PR #265 will allow you to disable the sysdetect component.

@willowec
Copy link
Contributor Author

@Treece-Burgess This is just an issue I noticed during the development of PR #238 while running make fulltest to make sure my code wasn't breaking anything. I plan to work on a fix so that sysdetect can handle heterogeneous CPU's, but I haven't fully scoped out how large of a change that is yet. I would have assigned this ticket to myself but I don't have the permissions to. Regardless, I figured it would be good to document the bug in an issue anyway.

@willowec
Copy link
Contributor Author

Now that I am more familiar with the sysdetect component and how it relates to PAPI as a whole, it seems like truly supporting heterogeneous processors would be a massive undertaking and require rewriting most of the component. For now I am just adding a patch to at least prevent the infinite loop.

@willowec
Copy link
Contributor Author

This is fixed by #269

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 a pull request may close this issue.

2 participants