-
-
Notifications
You must be signed in to change notification settings - Fork 41
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
⚡️ Make memory estimates data-dependent #1499
Conversation
Right now the function's only considering the time dimension of files because that's all I've varied in calculating the estimates. I plan on also varying physical dimensions and updating the function and estimates before marking this PR ready for review. |
Example (seems to be working): Estimate in code: C-PAC/CPAC/nuisance/nuisance.py Lines 1031 to 1037 in fef3e5a
In {"id": "cpac_sub-105923_ses-retest.nuisance_regressors_Regressor-2_225.Functional_2mm_flirt", "hash": "caf85785cf4dca97a3b2f6692406ac9b", "start": "2021-04-28T15:52:00.444716", "finish": "2021-04-28T15:52:56.886663", "runtime_threads": 1, "runtime_memory_gb": 2.983402251953125, "estimated_memory_gb": 3.461, "num_threads": 1}
{"id": "cpac_sub-105923_ses-retest.nuisance_regressors_Regressor-1_225.Functional_2mm_flirt", "hash": "caf85785cf4dca97a3b2f6692406ac9b", "start": "2021-04-28T15:52:02.494853", "finish": "2021-04-28T15:53:00.245118", "runtime_threads": 1, "runtime_memory_gb": 2.95299530078125, "estimated_memory_gb": 3.461, "num_threads": 1} |
9600b21
to
acb446f
Compare
― me, 📧 "Setting data-dependent memory-estimates" |
Co-authored-by: Anibal Sólon <[email protected]> Co-authored-by: Cameron Craddock <[email protected]>
40d025f
to
e67246c
Compare
741fde5
to
efd96eb
Compare
efd96eb
to
6881068
Compare
f247a00
to
09bb6f0
Compare
09bb6f0
to
44ac6a6
Compare
⚡️ Make memory estimates data-dependent
Fixes
Fixes #1480 by @shnizzedy
Fixes #1511 by @shnizzedy
Description
Adds an optional
mem_x
parameter that takes a tuple of(multiplier, Node_property_containing_filename)
to set memory estimates dynamically.mem_gb
remains a constant, such thatif
mem_x
is not set,node.mem_gb
=mem_gb
if
mem_x
is set,node.mem_gb
=mem_gb + mem_x[0] * size_of(get_attr(node.inputs, mem_x[1]))
Technical details
Tests
C-PAC/CPAC/pipeline/test/test_nipype_pipeline_engine.py
Lines 31 to 63 in e67246c
Screenshots
Checklist
Update index.md
).develop
branch of the repository.mem_x
fcp-indi.github.io#253visible errors.
Developer Certificate of Origin
Developer Certificate of Origin