Habitat: A Platform for Embodied AI Research
Table 3: Performance of Habitat-Sim in frames per second for an example Matterport3D scene (id 17DRP5sb8fy) on a Xeon E5-2690 v4 CPU and Nvidia Titan Xp GPU, measured at a frame resolution of 128x128, under different frame memory transfer strategies and with a varying number of concurrent simulator processes sharing the GPU. ‘GPU-CPU-GPU’ indicates passing of rendered frames from OpenGL context to CPU host memory and back to GPU device memory for use in optimization, ‘GPU-CPU’ only reports copying from OpenGL context to CPU host memory, whereas ‘GPU-GPU’ indicates direct sharing through OpenGL-CUDA interoperation.
['Sensors / number of processes', 'GPU→CPU→GPU 1', 'GPU→CPU→GPU 3', 'GPU→CPU→GPU 5', 'GPU→CPU 1', 'GPU→CPU 3', 'GPU→CPU 5', 'GPU→GPU 1', 'GPU→GPU 3', 'GPU→GPU 5']
Habitat-Sim. The design of this module ensures a few key properties: Memory-efficient management of 3D environment resources (triangle mesh geometry, textures, shaders) ensuring shared resources are cached and reused. Flexible, structured representation of 3D environments using SceneGraphs, allowing for programmatic manipulation of object state, and combination of objects from different environments. High-efficiency rendering engine with multi-attachment render pass to reduce overhead for multiple sensors. Arbitrary numbers of Agents and corresponding Sensors that can be linked to a 3D environment by attachment to a SceneGraph. The performance of the simulation backend surpasses that of prior work operating on realistic reconstruction datasets by a large margin. Single-thread performance reaches several thousand frames per second (fps), while multi-process operation with several simulation backends can reach over 10@000 fps on a single GPU.