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

ENH: Add a memory check to dynamically limit interpolation blocksize #156

Merged
merged 1 commit into from
Dec 14, 2020

Conversation

oesteban
Copy link
Member

With very dense coefficients fields, we need to allocate a sparse
array of npixels x ncoefficients x 3-D x 32-bit.
This allocation is short-lived and can be chunked in segments.

This PR dynamically adjusts the chunk size to the actual amount of
free memory.

With very dense coefficients fields, we need to allocate a sparse
array of npixels x ncoefficients x 3-D x 32-bit.
This allocation is short-lived and can be chunked in segments.

This PR dynamically adjusts the chunk size to the actual amount of
free memory.
@oesteban oesteban force-pushed the fix/auto-lowmem-mode branch from 7cf7b1b to c13fde3 Compare December 14, 2020 17:58
@codecov
Copy link

codecov bot commented Dec 14, 2020

Codecov Report

Merging #156 (c13fde3) into master (92350a2) will increase coverage by 0.04%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #156      +/-   ##
==========================================
+ Coverage   94.44%   94.49%   +0.04%     
==========================================
  Files          19       19              
  Lines        1171     1181      +10     
  Branches      153      153              
==========================================
+ Hits         1106     1116      +10     
  Misses         37       37              
  Partials       28       28              
Flag Coverage Δ
travis 81.18% <100.00%> (+0.16%) ⬆️
unittests 94.30% <100.00%> (+0.04%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
sdcflows/interfaces/bspline.py 97.27% <100.00%> (+0.05%) ⬆️
sdcflows/utils/misc.py 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 92350a2...c13fde3. Read the comment docs.

@oesteban oesteban merged commit 5735be8 into nipreps:master Dec 14, 2020
@oesteban oesteban deleted the fix/auto-lowmem-mode branch December 14, 2020 19:33
oesteban added a commit that referenced this pull request Dec 24, 2020
2.0.0rc4

* FIX: Convert SEI fieldmaps given in rad/s into Hz (#127)
* FIX: Limit ``3dQwarp`` to maximum 4 CPUs for stability reasons (#128)
* ENH: Generate a simple mask after correction (#161)
* ENH: Increase unit-tests coverage of ``sdcflows.fieldmaps`` (#159)
* ENH: Optimize tensor-product B-Spline kernel evaluation (#157)
* ENH: Add a memory check to dynamically limit interpolation blocksize (#156)
* ENH: Massage TOPUP's fieldcoeff files to be compatible with ours (#154)
* ENH: Add a simplistic EPI masking algorithm (#152)
* ENH: Utility that returns the ``B0FieldSource`` of a given potential EPI target (#151)
* ENH: Write ``fmapid-`` entity in Derivatives (#150)
* ENH: Multiplex fieldmap estimation outputs into a single ``outputnode`` (#149)
* ENH: Putting the new API together on a base workflow (#143)
* ENH: Autogenerate ``B0FieldIdentifiers`` from ``IntendedFor`` (#142)
* ENH: Finalizing the API overhaul (#132)
* ENH: Keep a registry of already-used identifiers (and auto-generate new) (#130)
* ENH: New objects for better representation of fieldmap estimation (#114)
* ENH: Show FieldmapReportlet oriented aligned with cardinal axes (#120)
* ENH: New estimation API (featuring a TOPUP implementation!) (#115)
* DOC: Minor improvements to the literate workflows descriptions. (#162)
* DOC: Fix typo in docstring (#155)
* DOC: Enable NiPype's sphinx-extension to better render Interfaces (#131)
* MAINT: Drop Python 3.6 (#160)
* MAINT: Enable Git-archive protocol with setuptools-scm-archive (#153)
* MAINT: Migrate TravisCI -> GH Actions (completion) (#138)
* MAINT: Migrate TravisCI -> GH Actions (#137)
* MAINT: Minimal unit test and refactor of pepolar workflow node (#133)
* MAINT: Collect code coverage from tests on Circle (#122)
* MAINT: Test minimum dependencies with TravisCI (#96)
* MAINT: Add FLIRT config files to prepare for TOPUP integration (#116)
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.

1 participant