2022.8.30
广东吉洋视觉专注AOI视觉检测设备 ( 芯片检测AOI ;DIP波峰焊AOI ;焊点检测AOI ;上下同拍AOI ;在线式上下同拍双轨AOI )
到 2026 年,软件市场的规模将接近硬件市场的三倍,而英特尔首席执行官 Pat Gelsinger 在本月的 Hot Chips 会议上并没有忘记这一事实。Gelsinger 在会议的主题演讲中表示,软件将推动硬件开发,特别是芯片,因为复杂的系统会推动对计算能力的永不满足的需求。
“软件变得更加重要。我们必须将它们视为我们拥有的神圣接口,然后将硬件置于其中,这就是芯片必须融入其中的地方,”Gelsinger 说。
软件在芯片开发中的重要性在Hot Chips会议上得到了复兴。根据 1990 年代出现的硬件-软件协同设计的概念,许多芯片设计都是基于硬件和软件协同设计的概念开发的,以确保“通过并行设计利用硬件和软件的协同作用来满足系统级目标” 。
软件正在通过人工智能等新型计算方式推动行业向前发展,而芯片制造商现在在硬件开发中采用软件优先的方法来支持新的应用程序。
Tirias Research 的分析师 Kevin Krewell 表示,软件驱动硬件开发的想法并不新鲜,但它已经在工作负载加速器时代复活了。
“自 1980 年代以来,我们就拥有 FPGA,它们是软件定义的硬件。更现代的解释是,硬件是硬件块的无定形集合,由编译器编排以有效地执行某些工作负载,而无需大量外部控制硬件,”Krewell 说。
芯片设计人员正在着手进行硬件-软件协同优化,以打破软件任务与其运行的硬件之间的壁垒,目标是获得更高的效率。“由于摩尔定律的放缓、晶体管速度和效率的提高以及软件编译器技术的改进,它今天再次流行起来,”Krewell 说。
英特尔正试图通过设计可以扩展计算能力的新型芯片来满足该软件永不满足的计算需求。
Gelsinger 说:“人们开发软件,而芯片必须在它下面。”
他补充说,芯片设计人员“还需要考虑随之而来的关键软件组件的组成,以及这种组合,软件 [和] 硬件的协同优化基本上成为了能够带来如此复杂系统的途径。”。
Gelsinger 表示,软件间接定义了英特尔的代工战略,以及工厂生产新型芯片的能力,这些芯片在一个封装中塞满了多个加速器。
例如,英特尔已在代号为 Ponte Vecchio 的用于高性能计算应用程序的代号为 Ponte Vecchio 中放置了 47 个计算块(也称为chiplet)。英特尔支持 UCIe(通用小芯片互连 Express)协议,用于小芯片中的芯片到芯片通信。
“我们将不得不在硬件和软件领域进行协同优化。还跨越多个chiplet——它们如何协同工作,”Gelsinger 说。Gelsinger 说,需要一类新的 EDA 工具来大规模构建系统芯片。
英特尔还阐明了“software defined, silicon enhanced”战略,并将其与成为芯片制造商的长期战略紧密联系在一起。目标是在云中插入由硅增强的中间件。英特尔正在提议订阅功能来解锁提高其速度的中间件和芯片。
软件可以通过新一代的 smartNIC 和 DPU 使数据中心基础设施变得灵活和智能,它们是具有网络和存储组件的计算密集型芯片。
在 Hot Chips 大会上发表演讲的 AMD 高级研究员 Jaideep Dastidar 表示,网络硬件架构正处于一个转折点,软件定义的网络和存储功能塑造了硬件设计。AMD 谈到了400G 自适应智能网卡,其中包括软件定义的内核和固定功能逻辑,例如用于处理和传输数据的 ASIC。
软件元素正在帮助这些芯片承担各种工作负载,包括从 CPU 卸载的片上计算。该软件还使这些芯片能够灵活地适应新的标准和应用。“我们决定采用传统的硬件-软件协同设计范例,并将其扩展到硬件软件可编程逻辑协同设计,”Dastidar 说。
该芯片已将 ASIC 添加到可编程逻辑适配器中,可以在其中进行分层定制,例如自定义标头扩展,或者添加或删除新的加速器功能。程序逻辑适配器——可以是定义 ASIC 功能的 FPGA——也可以进行完全定制的数据平面卸载。
400G 自适应智能网卡还具有可编程逻辑代理以与嵌入式处理子系统进行交互。该芯片具有对逻辑适配器接口进行编程的软件,以创建一致的 IO 代理以与嵌入式处理器子系统进行交互,可以对其进行调整以运行网络控制平面。软件允许数据平面应用程序在 ASIC 或可编程逻辑或两者中完全执行。
人工智能芯片公司Groq 设计了一种人工智能芯片,其中软件接管了芯片的控制权。芯片将芯片管理交给编译器,编译器控制硬件功能、代码执行、数据移动等任务。
张量流处理器架构在战略点包括集成软件控制单元,以向硬件发送指令。
Groq 摒弃了传统的芯片设计,重新审视了硬件-软件接口,并设计了一款具有类 AI 软件控制的芯片来处理芯片操作。编译器可以推断硬件上的正确性和调度指令。“我们明确地将控制权交给软件,特别是编译器,以便它可以推断硬件上的正确性和调度指令,”Abts 说。
Groq 使用 AI 技术(根据概率和关联数据中识别的模式做出决策)来确定硬件功能。这与传统计算不同,在传统计算中,决策是按逻辑做出的,这会导致浪费。“这不是要抽象出硬件的细节。它是关于明确控制底层硬件,编译器可以定期查看硬件在任何给定周期的工作情况,”Abts 说。
系统变得越来越复杂,成千上万的 CPU、GPU、smartNIC、FPGA 被插入到异构计算环境中。这些芯片中的每一个在响应时间、延迟和变化方面都不同,这可能会减慢大规模应用的速度。
“任何需要在整个机器上协调努力的事情最终都将受到网络中最坏情况延迟的限制。我们所做的是试图避免在系统级别出现的一些浪费、欺诈和滥用,”Abts说。Abts 给出了一个传统 RDMA 请求的示例,其中通常向目标发出读取会导致内存事务,然后将回复流回网络,以便以后使用。
“一个更简化的版本是编译器知道正在读取的地址。并且数据只是在需要时通过网络推送,以便可以在源头使用。这允许更高效的网络事务,网络上的消息更少,开销也更少,”Abts 说。空间感知的概念出现在许多演示文稿中,这涉及减少数据必须传输的距离。芯片与内存或存储之间的接近是人工智能芯片设计中的一个共同点。
Groq 通过解耦 CPU 中的主要计算单元(例如整数和向量执行内核)并将它们捆绑到单独的组中,对其基本芯片设计进行了细粒度的更改。接近度将加速处理整数或向量处理,这些处理用于基本计算和人工智能任务。
Abts 说,重新排序与数据在 AI 中的处理器之间的传输方式有很大关系。