  Real-time 3D mapping is a critical component in many important applications
today including robotics, AR/VR, and 3D visualization. 3D mapping involves
continuously fusing depth maps obtained from depth sensors in phones, robots,
and autonomous vehicles into a single 3D representative model of the scene.
Many important applications, e.g., global path planning and trajectory
generation in micro aerial vehicles, require the construction of large maps at
high resolutions. In this work, we identify mapping, i.e., construction and
updates of 3D maps to be a critical bottleneck in these applications. The
memory required and access times of these maps limit the size of the
environment and the resolution with which the environment can be feasibly
mapped, especially in resource constrained environments such as autonomous
robot platforms and portable devices. To address this challenge, we propose
VoxelCache: a hardware-software technique to accelerate map data access times
in 3D mapping applications. We observe that mapping applications typically
access voxels in the map that are spatially co-located to each other. We
leverage this temporal locality in voxel accesses to cache indices to blocks of
voxels to enable quick lookup and avoid expensive access times. We evaluate
VoxelCache on popularly used mapping and reconstruction applications on both
GPUs and CPUs. We demonstrate an average speedup of 1.47X (up to 1.66X) and
1.79X (up to 1.91X) on CPUs and GPUs respectively.
