-
-
Notifications
You must be signed in to change notification settings - Fork 11
Labels
enhancementNew feature or requestNew feature or requesttodoNew task or assignmentNew task or assignment
Milestone
Description
BRaTS Results Summary (136 MB volumes, 4 modalities)
Method Time Speedup Blosc2 mmap patch (nnUNet) 1.67s 4.55x NIfTI + MONAI Thread 2.11s 3.61x NIfTI read + crop patch 6.07s 1.25x NIfTI + PyTorch (workers=0) 7.61s 1.00x Blosc2 full read 20.17s 0.38x NIfTI + PyTorch (workers=4) 51.09s 0.15x
- MIPCandy scenario (full volume):
MONAI ThreadDataLoaderis optimal - 3.61x faster than baseline- nnUNet's real advantage: Not the data loader itself, but the ability to read only patches (8 MB) instead of full volumes (136 MB) via mmap - that's 17x less data per sample
PyTorch multiprocessis counterproductive: Pickle serialization of 136 MB tensors creates massive IPC overhead (0.15x = 6.7x slower)- Blosc2 full read is slow: Decompression overhead makes it slower than raw NIfTI for full volumes
- The mmap advantage: nnUNet preprocesses data to blosc2 format, then uses mmap to read only the required patch region directly - achieving 3.6x speedup over NIfTI read+crop
This confirms that for MIPCandy's current architecture (full volume loading), MONAI ThreadDataLoader is the correct solution.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesttodoNew task or assignmentNew task or assignment