You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR enables offloading point and voxelmap data of old submaps from GPU memory. It effectively reduces GPU memory consumption with a slight degradation of global optimization speed up to CPU-GPU data IO. A new parameter "gpu_memory_offload_mb" in "global_mapping_gpu.json" controls the threshold for GPU memory usage.
// gpu_memory_offload_mb : Threshold for GPU memory offloading in MB (0 = disable offloading).// : If GPU memory usage exceeds this value, old submap points and voxelmaps are offloaded to CPU memory.// : Note that the current implementation doesn't support offloading of factors and graphics data, and thus// : the actual GPU memory usage will be much larger than this value.// : (Setting this to a half or quarter of the total GPU memory would be a good choice).
I've excelent news @koide3 ! The GPU offload works wonderfully!!
Previously, it would OOM at about a cuarter of the lenght of the road you see in the picture. As of now with a value of 4096 in the JSON it is workign wonders!!
sadly, as spected, OOM occurs in the offline viewer:
[2025-12-26 20:09:15.382] [viewer] [info] Use config from /data/MyHorizonBags/ROS2/00_Graphs/BAG_04_B112_HD/dump/config [2025-12-26 20:09:15.382] [viewer] [info] Export classes from libimu_validator.so [2025-12-26 20:09:18.135] [viewer] [info] enable_optimization=true [2025-12-26 20:09:18.256] [global] [info] Load submaps (session_id=0) warning: cudaErrorMemoryAllocation : out of memory warning: cudaErrorMemoryAllocation : out of memory warning: cudaErrorInvalidValue : invalid argument warning: cudaErrorIllegalAddress : an illegal memory access was encountered warning: cudaErrorIllegalAddress
I hope this GPU offload feature can be finished as would be a huge step for mapping.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR enables offloading point and voxelmap data of old submaps from GPU memory. It effectively reduces GPU memory consumption with a slight degradation of global optimization speed up to CPU-GPU data IO. A new parameter "gpu_memory_offload_mb" in "global_mapping_gpu.json" controls the threshold for GPU memory usage.
TODO : Offloading in offline_viewer