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
dimr_config for parallel run is incorrect #562
Comments
So, just to be sure. If the processes = 5, we should write: Should we still support the files that we have written incorrectly? In other words, should we still be able to parse: @veenstrajelmer & @rhutten is this correct? |
Currently I have assumed the following: This change is only for FM and not RR. When 0 is input for process the dimr_config.xml will not have added. --> correct When 1 is input for process the dimr_config.xml will have 0 added. --> @rhutten will verify this with the Rekenhart team. open questions:
or
Do we want to throw an exception or do we want to (silently) leave the process out? --> an exception should be thrown. open question for a followup issue:
|
If process = 0 or 1 is selected, no process keyword should be written to dimr_config.xml |
Discussed with @rhutten:
|
Correction on the last message, for process only 1 can be added. Please give the warning specified above. For 0-process is not possible and an error should be given. Error message: the keyword process can not be 0, please specify values 1 or greater. |
Discussed with @tim & @jelmer, conclusion: acceptance criteria:
|
… no process to the output file(#562)
One more addition, according to the manual this is also supported: |
…ng this is the same as 0 1 2 3 4 (#562)
@veenstrajelmer, currently added the support for 0:4, the assumption is made that this is the same as Further support for this can be done in a seperate issue. |
@MRVermeulenDeltares: |
Discussed with @rhutten, I will create a follow-up issue. In the follow-up issue we will need to discuss what how the user should be able to apply start and end value for process. @veenstrajelmer, If in your opinion the behaviour you have described is more desirable, I can have a look to implement that in this issue. Update: suggestion implemented |
…l discussion points. (#562)
Describe the bug
When generating a dimr_config.xml with hydrolib for an MPI run, we need to pass the
process
andmpiCommunicator
arguments. The expected dtype forprocess
isint
, but this should not be directly passed but converted to a space-separated range. For 4 cores, the entry in the dimr should be<process>0 1 2 3</process>
, but instead it reads<process>4</process>
.To Reproduce
The file resulting from the code below contains an invalid
<process>
entry, which makes the model run crash:Expected behavior
<process>0 1 2 3</process>
in the dimr_config.xml. It might be necessary to align processor/core numbers between different components of the DIMR file, but that is currently unsure. This must also be fixed for reading the xml fileVersion info (please complete the following information):
Additional request
Since the
mpiCommunicator
is always the same ("DFM_COMM_DFMWORLD"), we could also consider to always write it to the dimr_config if the amount of processes is >1. One argument less, always nice.The text was updated successfully, but these errors were encountered: