-
Notifications
You must be signed in to change notification settings - Fork 0
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
Spawn many small reprojection tasks #41
base: main
Are you sure you want to change the base?
Conversation
… Futures works correctly.
…rac-institute/kbmod-wf into issue/40/smaller-reproj-tasks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this PR is ultimately merged to main
, we should delete this file. I only created it initially to ensure that using Futures in a specific way would not block the workflow. Specifically on line 217 of this file, the input for the next task is defined as [i.result() for i in list_of_futures]
.
This initial commit begins to assemble a workflow that will generate many small reprojection tasks that each ingest a single workunit shard for reprojection. This allows a task to use only 1 cpu and a small amount of memory instead of 32+ cpus and a large amount of memory.
A separate workflow has been created to support this approach in the file
parallel_repro_single_chip_wf.py
. It makes use of a simplified reprojection, specifically using astropy'sreproject_adaptive
. This approach is likely fine for the single night, single chip scenario, but is not generally correct in the case of either multiple chips, or images with identical timestamps.