Make diagnostic system aware of un-compiled modules #276
Conversation
… (from C to Python style).
… of excluded headers. Use this to generate a yaml file with enabled/disabled backends + versions for the diagnostic system.
… of excluded headers. Use this to generate a yaml file with enabled/disabled modules for the diagnostic system. Also remove remnants of previous implementation.
…at for diagnostic
…mat for diagnostic
tegonzalo
left a comment
There was a problem hiding this comment.
Looks good. A few cosmetic changes. Works as expected. In the future please do not bundle a file format change with actual changes, as it's hard to disentangle where the actual changes are.
|
Ah belay that. I found 3 cases where your set up breaks. Not your fault though, but we should fix them now. For susyhit, libmathematicatest and classy_exo your system fails. The first two is because the header names are different from the backend names (macro BACKENDNAME in the header), so the names as read from the config file won't match those registered. It should be as simple as changing the backend or header names I think. The last one is a bit more tricky, as "exo" is part of the version for some reason. I'm not sure why is that. Perhaps it could just be swallowed into the backend name to avoid these issues. @pstoecker Would that break anything? While we are at it, there is one more diagnostic-type change that this needs. When Mathematica is absent, the status message reads "Mathematica absent" for Mathematica backends, but when pybind11 is absent the status of python backends just reads "absent/broken". It'd be great if these could also say "pybind11 absent". |
The reason is that we wanted to treat exoclass as a special version of class (or As far as I know, there is no such restriction in the codebase such that it would not make a difference if |
Sorry about that, you are 100% correct that this should have been disentangled. |
Edit: Actually my statement above is not really correct. I think the issue is that the backend defined in |
…defined in the headerfilename so the diagnostic system recogizes it.
Yes, I think that's the way forward, just treat it as a new backend with name |
…the defined BACKENDNAME. Creates compatibility with the diagnostic system.
…7_2 for compatibility with the diagnostic system.
|
@pstoecker I changed the classy_exo backendname, so _exo is now part of the name not the version. Can you check if this breaks anything? Or alternatively can you tell me how I can check by myself if everything still works as expected (beyond compiling). |
|
@MarkusPrim , thanks for the change. Looks good as far as I can tell. I will test it. But probably not before tomorrow. |
…e pybind, when pybind is not enabled.
@tegonzalo I think I have a working solution, please see if this is what you had in mind. |
…hich was a find replace all).
tegonzalo
left a comment
There was a problem hiding this comment.
I think you went a bit too far changing the backend names. For LibMathematicaTest and classy_exo it was perfect. But for SUSY-HIT it's too much. The backend name is with -, so it should always be referred to as such in comments and others. In fact I don't know why it was used with _ in the backend name, wouldn't it work the same with -? Or maybe it will mess up some macros. It will do some tests to see if it works fine as SUSY-HIT, but if not only the backend name and frontend file names need to be with _.
Ok, yes, I suspected that. So then as I said, only make the changes where it's necessary, all other referrals to SUSY-HIT should be with |
Ok yes sorry, git blame told me it was you, but I just noticed you just formatted it. This dates back the creation of this file so I haven't yet figured out who wrote it to ask them what they intended it to mean. I'll keep digging. |
I believe it to be an easert egg ;) |
|
Haha, I think that is very very old one :). |
modified: Backends/src/frontends/classy_exo_2_7_2.cpp
|
I have tested the changes to While testing I have seen that 16324a3 has broken the gambit build. In particular adding |
Merci!
Another good catch. I never do full rebuilds locally. I was hoping our CI catches issues like this, but it seems a bit shaky at the moment. |
…ory." This reverts commit 14ffa95.
…iagnostic system).
|
I finally had time to look into this and fix it. Besides a bug from the harvesting script, there was nothing else to do, as @MarkusPrim already left this in a good state. It is then ready to merge from my point of view. There are some problems with the OSX CI tests, but I don't really understand them, they seem to be unrelated and something to do with internal problems of the system? @ChrisJChang do you know anything about it? |
I only restarted the arm64 Mac CI today, which had required me to go back and install all the dependencies again. I suspect I forgot something, I will investigate this. I don't think this is specific to this PR, since the same error occurs on master. The x64 Mac pro fails the CI jobs when it gets to building rivet for the ColliderBit_CMSSM.yaml test. This is an issue that was noticed on another PR, and is being worked on. |
|
Ok, then I'll merge this PR to master |
Addresses #61 , improves over the previous implementation and now directly uses the harvester routines.