Skip to content
This repository has been archived by the owner on Apr 20, 2020. It is now read-only.

Hdf5 Cache #221

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

Hdf5 Cache #221

wants to merge 7 commits into from

Conversation

holstgr-kaust
Copy link

This patch is based on h5-cache, but updated to sync with master. The primary changes were made to opUnblockedHdf5Cache, making the locking simpler, and making propagate dirty work correctly. It works with the ilastk/blockwise_carving patch.

stuarteberg and others added 7 commits October 30, 2016 08:59
…py-backed cache. We should probably unify the implementations into a single class.
It would delete the first element of cache when hdf5CacheGrp connected.
Changing input can invalidate the cache, changing the cache does not.
…elism again

New locks are lighter weight (only one real lock; list of blocked writes doesn't grow beyond size of in-flight requests)
Some TODOs remain to test and fix, but they work for now
…xport

tweaked typo in assert in rtype to test stop (not just start twice)
@k-dominik
Copy link
Contributor

in general I can see a hdf5 (or some other file back-end cache) coming in handy, however I would be interested if there was something specific this PR aimed at... can you maybe remember @akreshuk ?

@holstgr-kaust
Copy link
Author

holstgr-kaust commented Jul 14, 2019

in general I can see a hdf5 (or some other file back-end cache) coming in handy, however I would be interested if there was something specific this PR aimed at... can you maybe remember @akreshuk ?

This PR provides support for ilastik PR 1365 Blockwise Carving [https://github.com/ilastik/ilastik/pull/1365] and ilstiktools PR 4 Blockwise Carving [https://github.com/ilastik/ilastiktools/pull/4]. There were expensive calculations, done in parallel, that wouldn't all fit in memory; hence the file cache. Changes were made to original opBlockedHdf5Cache by Stuart to more simply track which blocks were already calculated (as I recall).

If there is interest in reviving these three PRs, I can update them to the latest versions of ilastik / lazyflow / ilastiktools, and provide rational for the changes (it's from over two years ago, so I'll have to review them myself too).

Hope that helps.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants