Skip to content
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

Minor linting and clarification #12

Closed
wants to merge 4 commits into from

Conversation

eirrgang
Copy link

@eirrgang eirrgang commented May 9, 2023

Description

These changes don't necessarily need to be merged directly or at all. But the minor restructuring and comments should help to clarify some of the potential "tasking" that could be expressed through some code restructuring.

Recall:

  • any code details that depend on assumptions about the execution environment (or its consistency or permanence) need to be replaced with abstractions.
  • possible parallelism and necessary concurrency/synchronization need to be expressed explicitly
  • any time that the resource requirements change (such as going from a parallel accelerated simulator task to a single-process analysis task) is a good place to distinguish between "tasks", implemented by distinct functions and composed into a workflow by sending the results of a task object into the call for a dependent task.

Follow up

The changes here should not disrupt the current package.

I will capture more speculative changes in a separate branch so that we can see what more compartmentalization would look like.

swap_pattern = None
# Placeholder helper function.
# In the current code, there is one ensemble member per rank.
def each_ensemble_member():
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is far from normative, but it would be very helpful to distinguish between

  • things that need to be done once for each ensemble member (and which only affect dependent tasks for that member)
  • things that have different resource requirements than the simulator (such as only a single process) but which have dependencies or dependents on multiple ensemble members.

@wehs7661 wehs7661 closed this Aug 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants