Open PDoakORNL opened 2 years ago
@PDoakORNL Please talk with @williamfgc who has been looking at /thinking about the changes required to get us to a single executable and remove the QMC_COMPLEX build option. I agree that a good first step would be to define the input parameters for the project section. It is a good point that capturing these setting via the input would be an improvement in reproducibility. We do at least print the types early in the output log.
Since we can't request real/complex via input now, I prefer to avoid blockers to users.
If there is no input, keep running. If there is an input, check against the build.
I do noticed QMC_COMPLEX is on/off is not straightforwardly reflected in the output. We should fix this.
The deprecation of QMC_COMPLEX
requires additional coordination and I think we already have open issue.
So to keep this issue more actionable, I would recommend just introduce an input and add a sanity check.
I don't think deprecation of new usage of the preprocessor define needs any additional coordination at all. I can't think of a case where you can't check whether ValueType is complex and proceed based on that.
Yes, the way to handle this and not block current users right now is abort if the inputs parameters are set and there is a conflict.
Is your feature request related to a problem? Please describe. Whether a run is done with real or complex value types and for that matter full or mixed precision should be expressed in the input. Initially this just insures this scientifically salient information is captured in the input file and not just the result of combing the input file with a particular binary, which might be captured in the job submission file and the output.
Initially this should just error out at the parse stage if the input parameters and binary configuration do not match, ultimately it should be used for runtime dispatch to instantiations of the code with the proper Value and Real types.
This is essential to actually move toward a single binary solution.
The us of the QMC_COMPLEX preprocessor define should be deprecated.
Additional context
Add any other context or screenshots about the feature request here.