We introduce GRiD: a GPU-accelerated library for computing rigid body dynamics with analytical gradients. GRiD was designed to accelerate the nonlinear trajectory optimization subproblem used in state-of-the-art robotic planning, control, and machine learning. Each iteration of nonlinear trajectory optimization requires tens to hundreds of naturally parallel computations of rigid body dynamics and their gradients. GRiD leverages URDF parsing and code generation to deliver optimized dynamics kernels that not only expose GPU-friendly computational patterns, but also take advantage of both fine-grained parallelism within each computation and coarse-grained parallelism between computations. Through this approach, when performing multiple computations of rigid body dynamics algorithms, GRiD provides as much as a 7.6x speedup over a state-of-the-art, multi-threaded CPU implementation, and maintains as much as a 2.6x speedup when accounting for I/O overhead. We release GRiD as an open-source library, so that it can be leveraged by the robotics community to easily and efficiently accelerate rigid body dynamics on the GPU.
翻译:我们引入了 GRID : 一个 GPU 加速图书馆, 用于用分析梯度来计算硬体动态。 GRID 旨在加速用于最先进的机器人规划、控制和机器学习的非线性轨迹优化子问题。 每种非线性轨迹优化都要求对硬体动态及其梯度进行数十至数百次的自然平行计算。 GRID 利用 URD 的 URD 定位和代码生成来提供优化的动态内核,这些内核不仅暴露了 GPU 方便的计算模式,而且还利用了每种计算中精细的平行法和计算中粗微的平行法。 通过这个方法,在对硬体动态算法进行多次计算时, GRID 提供最多相当于7.6x速度的硬体体体动态及其梯度。 GRID 在计算 I/ O 间接费用时, 和保持2.6x 速度。 我们将 GRID 作为开源库, 以便由硬体的GPU 社区以易和高效的方式利用它。