-
Notifications
You must be signed in to change notification settings - Fork 30
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
Add "make distcheck" to github action CI #844
base: main
Are you sure you want to change the base?
Conversation
CI failed at darshan/darshan-runtime/configure.ac Lines 325 to 328 in cb20d49
which requires papi.h .
Shouldn't papi be a submodule? |
The APXC module is only intended for Cray XC systems for the darshan-runtime build, so we should avoid building it in CI probably. For that reason, I think we need to keep the builds of darshan-runtime/darshan-util separate as before. Is it possible to run If |
Should have added more details, but you can disable portions of the build using |
I am seeing darshan/.github/workflows/runtime_ci.yml Line 52 in cb20d49
darshan/.github/workflows/main_ci.yml Line 49 in cb20d49
|
I think the APXC stuff is used for |
Option |
If I'm not mistaken, The runtime portion, on the other hand, has PAPI and likely some XC header dependencies because it has to actually be able to interact with system counters for runtime instrumentation. This should only be enabled on an actual Cray system. |
That's correct, Phil. That's why the CI workflow builds darshan-runtime and darshan-util separately, since they require different options. Note that the existing CI workflow is not using the top-level configure at all, it's using configure located in darshan-runtime and darshan-util to build each component, respectively. Easiest path forward would be to invoke |
Looks like |
Running In the current design, if a user wants to build darshan to read autoperf data, but not write one, then 2 separate builds of runtime and util are required. Maybe this is a very rare case? |
Can you guys have a look and see if #853 seems okay, building off the changes and discussion here? |
62594bf
to
c23a680
Compare
I made some changes to this PR, so we can run Other noticeable changes are
|
This is problematic, particularly on the darshan-runtime side. We want AutoPerf instrumentation modules to be opt-in (i.e., disabled by default, optionally enabled at configure time). For releases, I have always included the AutoPerf instrumentation modules in the distribution, so checking for their existence is not indicative that users want them enabled. I'm less concerned about this issue for darshan-util, as the impact is less (for darshan-runtime, automatically enabling AutoPerf will result in a lot more information being collected by Darshan by default). |
If AutoPerf is enabled at the configure time. can users turn it on and off at the run time (e.g. through setting an env variable)? The reason I asked is if AutoPerf will always be included in the distribution, then I wonder why not just build it by default and let users to set the env variable to enable/disable at run time. |
Yes, users could turn it off at runtime if it was enabled at configure time as you mention. But, we don't want all users to have to deal with that extra explicit step -- our current stance is that AutoPerf support should be opt-in so that it isn't automatically enabled on Darshan deployments by default. APMPI module in particular will instrument basically all MPI communication calls, which we are apprehensive about being the default instrumentation method in production for overhead reasons. |
If Darshan is always configured with AutoPerf feature, but by default does not collect the MPI communication activity unless users set an env variable to explicitly enable it, then wouldn't this be the best for the production systems? |
I suppose, but it would complicate our existing semantics which mostly just try to be simple. I'm sure users could be confused if they explicitly enable something at configure time, but then also have to always request it at runtime, too. The deployment scenario you describe is possible anyways, it would just require the installer to enable AutoPerf at configure time and to set some env variables (that are set when the Darshan module is loaded) that disable AutoPerf. Ultimately, I don't think I want to change/complicate our existing semantics just to simplify these CI tests. |
No description provided.