-
Notifications
You must be signed in to change notification settings - Fork 198
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
error in parallel documentation #2915
Comments
For the first part, that's probably something for @WardLT For the block_id key error, that's something surprising - can you tell me the exact version of parsl that you have installer? |
|
For the block id key error: That parameter should not be substituted at that point of execution, because the block_id in the default template uses double curly brackets:
What that error says is that for some reason the substitution code is treating that as something to substitute. Two questions:
|
I see what you mean. Yes, it does appear a double load is the issue there. In the script I had
This code:
does not work if I don't load the config first, and raises This code:
raises It seems like there are two issues here, the original documentation issue, and this one. Should I split this into a second issue? |
That 2nd new error is a different error I've encountered before and should be fixed elsewhere - let me go find it. Something to do with package versions... |
Here is the whole traceback:
|
PRs around the time of the version of parsl you are using deal with it so you might have a version that is right in the window of being broken. So if possible try a more recent parsl which should specify tighter version constraints for the troublesome packages. |
Part of this issue highlights the need for parsl to be more aggressive about detecting multiple configuration uses - I'll open a feature request for that |
I updated to parsl-2023.10.9. Now, I do have to load that config to avoid
|
Here's the automated test case that runs for the ParslExecutor feature: 34fe75f#diff-534bab1124fd7d79ea9fbe4cdcfe7321d646f99e644336e050f8189ac038e049 Are you decorating the function you are trying to pass into ParslExecutor with the python_app decorator? If so, don't do that. |
I see. This works.
It is still confusing in the documentation. Here parsl/docs/userguide/workflow.rst Line 121 in 11509cb
technically, here: parsl/docs/userguide/workflow.rst Line 120 in 11509cb
|
Ah ha, that is a problem in the docs. Sorry I missed that earlier. Yes, parsl/docs/userguide/workflow.rst Line 127 in 11509cb
but not when using it as part of the "ParslPoolExecutor" I'll make a quick PR that clears up when to decorate and not in that part of the documentation. |
I bet this is a result of re-using a configuration between multiple executors. Check out #2871 . I'm going to open an Issue with some ideas around how to make the error more informative |
Clarifies problems users found in the documentation error in parallel documentation #2915: Decorators are not needed for ParslPoolExecutor.map Reloading default HighThroughputExecutor after parsl.clear() results in KeyError: 'block_id' exception #2871 : Configs may not be re-used Fixes Docs: Further clarification on how serialization impacts where imports need to be #2918 : Explain when functions need imports Fixes Allowing for inputs and outputs to take immutable types #2925 : Explain mutable types are undesirable Thanks, @Andrew-S-Rosen
This example does not work as written:
parsl/docs/userguide/workflow.rst
Line 142 in 11509cb
I think it should be either:
or
The example also does not work for me on a Mac unless I change the import to
from parsl.configs.local_threads import config
. For the given importfrom parsl.configs.htex_local import config
I get this error:The text was updated successfully, but these errors were encountered: