加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • Tenstorrent优于Nvidia?‍‍
    • Tesla与Nvidia的合作经历‍‍
    • 安全论点‍‍
    • 开源软件与授权软件‍‍‍
    • 源码的可用性?‍‍‍‍‍‍‍‍
    • 障碍‍‍‍‍‍‍
    • 开源软件‍
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

对于Nvidia,要么接受,要么放弃

08/09 15:10
952
阅读需 16 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

To Cuda or not to Cuda再次引发了关于授权软件开源软件的数十年之久的争论。但对于那些选择在通过安全认证的Nvidia SoC和Drive OS之外自研AV软件栈的人来说,这关系到安全问题。现在,车厂的系统集成商承担起了认证的责任。一位安全专家表示,这至少可以说是一项“艰巨的任务”。‍

在设计下一代高级自动驾驶汽车时,车厂的首要任务是选择合适的高性能SoC。OEM需要一款高度集成的芯片,它必须具备足够的处理能力,以便为神经网络提供动力,支持传感器融合,并管理新型ADAS车型的中央引擎。

是自研还是采购现成的芯片是另一个重要决定。

开发内部硬件是一个大胆的举动。但为什么不呢?Tesla就为其FSD设计了HW 3.0,此前他们基于Mobileye SoC开发了HW 1.0,并使用Nvidia Drive PX 2开发了HW 2.0。

过多地谈论硬件,又忽视了软件在车厂整体系统设计中的重要作用。谁来设计AV堆栈?车厂如何对其进行测试?如果他们选择由Nvidia这样的芯片公司提供完整的AV堆栈,他们能否为了差异化而对其进行修改?

Tenstorrent优于Nvidia?‍‍

Tenstorrent在推出其最新的AI处理器引擎时说,它正在赢得汽车行业的心智份额,并已经与一些车厂签约。

为什么OEM会选择Tenstorrent,而不是更知名的Nvidia的AV SoC解决方案呢?

Tenstorrent的回答是,他们在软件和RISC-V内核上采用了开源策略。Tenstorrrent解释说,许多客户发现,当某些汽车应用需要100%的代码检查和测试时,使用Cuda并不是一种选择。他们做不到这一点,因为Cuda的库是专有的。

Tenstorrent举证了一些例子,以说明OEM在专有软硬件平台上设计ADAS车辆时所面临的严峻挑战。

现任Tenstorrent CEO Jim Keller在2016年至2018年期间在Tesla工作时的经历就是一个很好的例子。

Tesla与Nvidia的合作经历‍‍

Elon Musk在Tesla从HW 2.0向HW 3.0过渡期间聘请了Keller这位传奇的CPU设计师。从2016年开始,Keller与Pete Bannon一起领导FSD芯片项目。当时,Tesla决定开发自己的芯片,因为他们当时声称,他们没有看到适合解决自动驾驶问题的替代方案。

Keller表示,麻烦始于Tesla放弃使用Nvidia的软件,而当时Tesla仍在HW 2.0中使用Nvidia的芯片。“Tesla做出了不使用Nvidia软件的决定”。

正如Keller所解释的那样:“问题是,Cuda的cuDNN(Cuda深度神经网络库)的大部分库都是专有的,今天依然如此。当你使用专有软件时,即使你对它进行了测试,也不一定能确定它在部署时会做出什么。”

因此,Tesla编写了自己的代码。

Keller解释说:“除了安全问题,调试Tesla自己的代码要比猜测专有库中发生了什么要简单得多。”

Keller总结道:“最终,Tesla的软件是已知的、可测试的,而且运行速度更快。自己编写软件是一个明智的决定。”

Keller还指出,Nvidia的解决方案“既昂贵又专有”,即使OEM厂商构建了自己的堆栈,或者想在Nvidia的AV软件栈中添加自己的东西,最终也“不得不使用一些Nvidia软件”。这是因为他们无法检查Nvidia SoC上的代码。

安全论点‍‍

Nvidia的DRIVE OS并非免费。据Nvidia称,它是“授权”给所有购买NVIDIA DRIVE Orin SoC的客户的。该公司发言人解释说,DRIVE OS有安全认证和非安全认证两种版本(基于Linux构建,而Linux本身目前尚未获得安全认证)。“我们的安全认证软件附有使用规则列表,客户必须遵守这些规则才能继续获得认证。因此,客户不能修改我们提供的系统级组件。”

尽管Nvidia对修改其软件讳莫如深,但Nvidia拿到了一些领先OEM的订单。

为什么呢?

其中一个原因就是安全。

值得认可的是,Nvidia清楚地意识到,它必须为客户提供功能安全标准(ISO26262)认证的软件。公司发言人表示,Nvidia Drive OS 6.0最近通过了“26262:2018内部认证,可用于ASIL-D级以下的车载应用”。此外,“我们正在与独立认可评估机构TÜV SÜD对DRIVE OS 6.0进行安全认证,就像我们对DRIVE OS 5.2所做的那样”。

当被问及Nvidia DRIVE OS的ASIL-D认证是否会让车厂在自动驾驶方面感到放心时,Tenstorrent的Keller说:“我们不知道。当ASIL-D认证简单组件时,其价值非常明显,但当构建像自动驾驶这样非常复杂的系统时,我们就不太确定ASIL-D认证的价值以及该认证能确保什么了。”

开源软件与授权软件‍‍‍

PrecisionPro Engineering是一家新成立的咨询公司,公司主要成员有两位功能安全专家Brian Cano、Nandip Gohoel和一位功能安全经理Keven Connelly。

Brian Cano认为,围绕Cuda的争论“基本上可以归结为开源软件和授权软件之间长期存在的冲突”。

“一方面,授权软件价格昂贵,但能提供持续的支持和改进;另一方面,授权软件的灵活性较低,因为创建者控制着用户能用软件做什么、不能做什么。这有助于减少安全威胁。”

开源软件可以免费使用、修改和分发。用户可以根据个人需要添加功能和修改源代码。“它具有高度的灵活性,但也存在安全漏洞和后门漏洞的可能性。社区是唯一的支持来源,有时会落后于最新的技术发展。”

除了我们熟知的开源软件与专有软件的冲突之外,车厂还对在Nvidia安全平台上运行自己的软件堆栈或修改从Nvidia许可的堆栈表示担忧。

PrecisionPro Engineering的两位功能安全专家认为,OEM想要“自由修改底层驱动代码以提高性能、更多地控制GPU资源、减少延迟、降低开发成本等,同时开发自己的AV堆栈”,这并非不合理。但Cuda库的黑盒性质对OEM厂商不太友好。

源码的可用性?‍‍‍‍‍‍‍‍

Nvidia的Cuda库源码不向客户提供,这在很大程度上是合乎逻辑的,因为Nvidia的驱动程序是其竞争优势所在。驱动程序与硬件密切相关。PrecisionPro Engineerig的功能安全专家认为,开放驱动程序会“暴露 SoC的基本架构”。

Nvidia的发言人明确表示:“公司通常会对底层库的源码保密。这一决定不会影响软件的安全性或稳定性。最重要的是,用户有工具(如安全手册)来了解任何剩余风险和自己的责任”。

然而,这种观点的另一面是,安全认证的责任在于OEM和Tier 1。

另一位安全专家则表示:“当软件组件在其开发或安全认证范围之外使用时,系统集成商必须进行所谓的资格认证。”

他解释说:“从本质上讲,系统集成商必须将他们自己的一套要求映射到软件组件上,并进行自己的测试,以确保满足他们的所有要求,并确保软件在他们的环境中没有错误。系统集成商(和他们的安全评估员)可以自行决定所需的保证程度。”

简而言之,资格认证可能是一项“艰巨的任务”。

Codeplay软件有限公司首席商务官Charles Macfarlane表示同意。“最终是的,如果Nvidia不对所有代码提供软件分析工具,OEM/Tier 1将需要对代码进行全面验证。”

一些车厂可能会给自己的汽车贴上SAE L2的标签,将软件故障和随后发生的事故归咎于驾驶员的过失,从而寻求解脱。这显然不是一个值得推荐的选择。

障碍‍‍‍‍‍‍

虽然资格认证是一大障碍,但OEM还有更多需要担心的问题。除了授权二进制文件和专有驱动程序等问题外,专有软件开发的其他缺点还包括Nvidia突然增加新功能或升级的“危险”。

这可能会引发对车厂堆栈的破坏性调整或修订。

显然,OEM更希望避免被供应商锁定。他们也不想永远受制于Nvidia,因为Nvidia可能会突然决定改变许可条款或价格。

另一个问题是,Nvidia SoC(ASIL D)提供同构/异构硬件。由于AoU(Assumptions of Use)的存在,设计方法和汽车软件栈只会变得更加复杂。PrecisionPro Engineerig的专家解释说,它们必须进行大量修改,甚至在某种程度上重新设计,以应对下一代Nvidia平台。他们认为,这将进一步“增加”英伟达SoC的“架构复杂性”,使开发人员更难编写高效代码。

这些行业观察家证实了Keller所描述的他在Tesla使用Nvidia芯片的经历。他们指出,如果不能完全控制GPU硬件资源,OEM将无法使用Nvidia的SoC创建自己的完整AV堆栈。

开源软件‍

所以,答案就是开源吗?如果不是,什么才是呢?

就Tenstorrent而言,该公司开源了所谓的“TT-Metalium”内核级软件堆栈。

该底层软件平台适用于CPU和Tenstorrent设备的异构集合。据该公司称,用户可以直接访问Tensix Core中的RISC-V处理器、NoC(Network-on-Chip)以及Matrix和Vector引擎。Tenstorrent的战略是通过提供更好的硬件和易于使用的开源软件栈来吸引AI开发人员。

Tenstorrent高级研究员Jasmina Vasiljevic将TT-Metalium描述为“在抽象层上完全可以与Nvidia的Cuda或OpenCL相媲美”。不过,Tenstorrent设计TT-Metalium并不是为了取代Nvidia的Cuda。她解释说:“这是一种底层编程模型,使开发人员能够在Tenstorrent硬件上命令编程内核,并完全访问所有硬件。”

该公司解释说,Tenstorrent的目标客户是AI和HPC开发人员,他们希望在不受限制地访问硬件的情况下编写高效代码。显然,“开源”一直是Keller在Tenstorrent的指导原则之一。

尽管如此,TT-Metalium并不是一个更高级别的开源软件,其目的是让系统设计人员能够更轻松地使用一种AI加速器,然后再切换到另一种。

同时,据Codeplay的Macfarlane称,UXL(Unified Acceleration)基金会(建立在开源和开放标准的基础上)正在寻求为汽车和其他安全关键(SC)解决方案定义一个版本的SYCL。SYCL是一种更高级别的编程模型,可提高各种硬件加速器的编程效率。

这种开源软件活动最终可以满足系统供应商(即车厂)的需求,他们希望能够自由地进行创新和软件编程,而不被特定的硬件和软件平台所束缚。但Macfarlane提醒说,不要过于简单乐观地认为这种开源软件可以解决所有问题。

Macfarlane拒绝对工作组的日程安排发表评论,但他指出,UXL-SC(安全关键工作组)正在“朝着解决汽车问题迈进”。他报告说,到目前为止,Denso和Mercedes已经加入,汽车SoC供应商也有望加入。

 

只要遵循Nvidia的API并使用Nvidia的库,车厂就有相当大的自由度来开发Cuda应用。但是,如果不能完全控制Nvidia的GPU硬件资源,OEM就无法使用Nvidia的SoC来创建自己的AV堆栈。

 

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
ATXMEGA256D3-AU 1 Atmel Corporation RISC Microcontroller, 16-Bit, FLASH, AVR RISC CPU, 32MHz, CMOS, PQFP64, 14 X 14 MM, 1 MM HEIGHT, 0.80 MM HEIGHT, GREEN, PLASTIC, MS-026AEB, TQFP-64
$7.78 查看
MK66FN2M0VLQ18R 1 NXP Semiconductors RISC MICROCONTROLLER
$54.39 查看
MK64FN1M0VLL12R 1 NXP Semiconductors FLASH, 120MHz, RISC MICROCONTROLLER, PQFP100
暂无数据 查看

相关推荐

电子产业图谱

C.A.S.E.及大出行领域学习及知识分享。欢迎业内朋友交流~!