Avoiding Pitfalls when Using NVIDIA GPUs for Real-Time Tasks in Autonomous Systems

Avoiding Pitfalls when Using NVIDIA GPUs for Real-Time Tasks in Autonomous Systems
复制标题

DOI:
10.4230/lipics.ecrts.2018.20
复制
发表时间:
2018-06
期刊:
--
影响因子:
--
通讯作者:
Ming Yang;Nathan Otterness;Tanya Amert;Joshua Bakita;James H. Anderson;F. D. Smith
Ming Yang;Nathan Otterness;Tanya Amert;Joshua Bakita;James H. Anderson;F. D. Smith
中科院分区:
其他
文献类型:
--
作者:
Ming Yang;Nathan Otterness;Tanya Amert;Joshua Bakita;James H. Anderson;F. D. Smith

文献摘要

被引文献

相似文献

NVIDIA 的 CUDA API 使 GPU 能够用作各种应用程序的计算加速器。这使得许多应用领域的性能得到提升,但底层 GPU 硬件和软件却存在许多不明显的缺陷。这对于安全关键系统来说尤其成问题,因为必须考虑最坏情况的行为。虽然此类行为并不是早期 CUDA 用户所关心的主要问题,但 GPU 在自动驾驶汽车中的使用已经使 CUDA 程序脱离了计算机视觉和机器学习专家的专属领域,进入了安全关键的处理管道。在这个新领域,认证是必要的,但这是有问题的,因为 GPU 软件的开发可能没有考虑到最坏情况的行为。在实时自治系统中使用 CUDA 时的陷阱可能是由于官方文档中缺乏细节,以及 GPU 软件开发人员没有意识到他们的设计选择对实时要求的影响。本文重点讨论实时社区在使用支持 CUDA 的 GPU 进行自主应用时所面临的特殊挑战,以及应用实时安全关键原则的最佳实践。
NVIDIA's CUDA API has enabled GPUs to be used as computing accelerators across a wide range of applications. This has resulted in performance gains in many application domains, but the underlying GPU hardware and software are subject to many non-obvious pitfalls. This is particularly problematic for safety-critical systems, where worst-case behaviors must be taken into account. While such behaviors were not a key concern for earlier CUDA users, the usage of GPUs in autonomous vehicles has taken CUDA programs out of the sole domain of computer-vision and machine-learning experts and into safety-critical processing pipelines. Certification is necessary in this new domain, which is problematic because GPU software may have been developed without any regard for worst-case behaviors. Pitfalls when using CUDA in real-time autonomous systems can result from the lack of specifics in official documentation, and developers of GPU software not being aware of the implications of their design choices with regards to real-time requirements. This paper focuses on the particular challenges facing the real-time community when utilizing CUDA-enabled GPUs for autonomous applications, and best practices for applying real-time safety-critical principles.