高级综合(hls)软件协同设计的方法( 三 )


虽然人工智能是显而易见的应用 , 但趋势远不止于此 。“正如Hennessy/Patterson所说 , 人工智能显然正在推动计算机架构的新黄金时代 , ”Synopsys的Kogel说 。“摩尔定律正在失去动力 , 预计未来10年设计复杂性将增长1,000倍 , 人工智能要求的超出摩尔所能提供的范围 。唯一的出路是通过定制用于计算、存储和通信的硬件资源来满足目标AI应用程序的特定需求 , 从而创新计算机架构 。”
经济性仍然很重要 , 这意味着虽然硬件可以针对一项任务进行优化 , 但它通常必须保持足够的灵活性才能执行其他任务 。“人工智能设备需要多功能和变形才能完成不同的事情 , ”Cadence的Young说 。“例如 , 监控系统还可以监控交通 。你可以数出有多少辆车在红灯后排成一排 。但它只需要识别一个立方体 , 以及它背后的立方体 , 并聚合该信息 。它不需要面部识别的分辨率 。您可以训练设计的不同部分以不同的分辨率或不同的尺寸运行 。当您为32位CPU编写程序时 , 就是这样 。即使我只使用8位数据 , 它仍然占据整个32位路径 。你在浪费其他位 。人工智能正在影响设计的完成方式 。”
在AI之外 , 同样的趋势也发生在其他领域 , 其中处理和通信需求超过了通用计算的发展 。“在数据中心 , 出现了一类用于基础设施和数据处理任务(IPU、DPU)的新型处理单元 , ”Kogel补充道 。“这些针对内务和通信任务进行了优化 , 否则会消耗大量CPU周期 。此外 , 极低功耗物联网设备的硬件是为软件量身定制的 , 以减少开销功耗并最大限度地提高计算效率 。”
软件/硬件协同
要使新范式成功 , 需要大量技术才能将程序员与硬件的复杂性隔离开来 。“宏架构的规范和优化需要应用程序工作负载和硬件资源的抽象模型 , 以探索粗粒度分区权衡 , ”Kogel解释说 。“Y形图方法(见图1)的想法是将应用程序工作负载与硬件资源模型相匹配 , 以构建一个虚拟原型 , 允许对性能、功耗、利用率、效率等KPI进行定量分析 。”
高级综合(hls)软件协同设计的方法
文章图片

文章图片
图1:Y形图方法 , 映射HW平台上的应用程序工作负载以构建用于宏观架构分析的虚拟原型 。资料来源:新思科技
“工作负载模型以与架构无关的方式捕获任务级并行性和依赖性 , 以及每个任务的处理和通信要求 , ”Kogel解释说 。“硬件平台对设想的SoC的可用处理、互连和内存资源进行建模 。实际适用性需要一个虚拟原型设计环境 , 该环境提供必要的工具和模型库 , 以高效地构建这些模型 。”
其中大部分仍然是定向的、手动的方法 。“这方面存在差距 , ”杨说 。“每个大公司都在做自己的事情 。所需要的是一种复杂的或智能的编译器 , 它可以基于实时约束并理解经济性来采用不同的应用程序 。如果我有各种处理资源 , 我该如何分配工作量才能获得正确的响应时间?”
随着处理平台变得更加异构 , 这使得问题变得更加困难 。“您不再拥有软件所在的简单ISA层 , ”Saha说 。“界限已经改变 。软件算法应该很容易地针对硬件端点 。算法人员应该能够编写加速器模型 。例如 , 他们可以使用硬件数据类型来量化他们的算法 , 他们应该在最终确定他们的算法之前这样做 。他们应该能够看到某些东西是否可以合成 。算法的可实现性本质上应该是软件开发人员的原生概念 。我们已经看到这方面的一些变化 。我们的算法数据类型是开源的 , 我们已经看到其下载量比客户数量高出大约两个数量级 。”