作者:Dave Murray
老话常说,“你付出什么,就得到什么”,这可能是总结接下来几段内容的最简单方式,我们将介绍Imagination的新OpenCL计算库。如果你没有时间继续阅读,只需记住这一点:我们能够从GPU中挤压出更多的计算和AI性能,因为我们在这些新软件库的精心设计上投入了大量工作,这样我们的客户就不必再投入这些工作了。
对于一些客户来说,这种开箱即用的体验正是他们完成工作所需的。而对于其他客户,特别是那些正在开发自己的自定义库/内核的客户,Imagination的计算库以及相关的支持材料和工具,是他们在开发和性能目标上取得成功的一个完美起点。
Imagination多年来一直在构建支持OpenCL的GPU,用于计算应用。我们与许多企业合作,这些企业拥有自己的NPU(神经处理单元),但需要一个GPU(通用GPU)来提供NPU通常不具备的编程灵活性。我们还看到市场上普遍认识到灵活性是必不可少的,尤其是在从“功能到性能再到优化”的开发者旅程中针对自己的计算算法时。我们在之前的文章《拥抱边缘AI中的灵活性》中讨论了通用加速相对于特定领域加速的优势,并强调开发者的赋能在于提供适合工作的软件。
什么是正确的软件呢?
数学库和神经网络库被广泛认为是在可编程平台上高效执行AI应用和其他计算密集型工作负载的基本构建块。车内驾驶员监控应用、激光雷达、雷达、视觉预/后处理算法,甚至是像LLM这样的基础模型中的transformer块的关键处理元素,都依赖于底层优化的库。
对这些基本构建块的需求催生了大量的开源项目(如clBLAS、vkFFT、xnnpack等),任何开发者现在都可以快速访问并在他们的应用中使用这些库,以实现其功能。
然而,最初的完成工作的热情往往很快会被失望所取代,因为开发者发现,使用开源库的性能远远低于他们基于可用硬件TFLOPS/TOPS的预期。随后,这种失望很快会变成持续的挫败感,因为用户面对的现实是,要解决这些问题,需要深入了解硬件微架构和开发者工具。
这是一个新问题吗?
在我职业生涯的早期,我花了几年时间深入优化用于音频和视频算法的DSP代码,任何在边缘计算领域工作过的人都会讲述类似的故事:通宵达旦地吃着披萨,与算法、编译器和硬件调试器斗争,以获得所需性能。尽管自那时以来,技术取得了许多进步,比如新的并行编程语言和智能编译技术,但归根结底,情况并没有太大改变。对最高性能的需求依然存在,而这只能通过手工优化的算法和底层库及内核来满足。
如果没有这些性能库,最近流行的“加速计算”这一术语就无法实现其承诺,即充分利用底层硬件的潜力来加速计算任务。换句话说,如果不投资于软件,客户就永远无法真正解锁硬件的潜力。
这是一个新问题吗?显然不是!从任何系统中获得最优性能的挑战一直都很困难,并且仍然如此。解决这个问题需要广泛的专业知识:
1. 对算法及其算法实现选择的深刻理解(通常问题具有多维度,有许多分解方式可供选择)。
2. 深入了解硬件微架构以及可用于利用上述架构选择的各种选项。
3. 了解编程语言的灵活性和功能,以及相关编译器的“智能”。
4. 在一段时间内持续应用上述知识,为用户可能需要的多种可能性开发良好的覆盖范围。
优秀的程序员能够将所有这些要素结合在一起,并且再加上只有最有经验的编码人员才能掌握的一点点魔法,从而从硬件中获得非常好的甚至最优性能的。但这样的程序员是稀缺的。
因此,为了让加速计算的承诺对每个人来说都可实现,Imagination将其专业知识应用于这个问题。毕竟,我们的工程师是最适合为我们自己的硬件创建优化库的人。
Imagination的解决方案是什么?
Imagination的GPU产品的灵活微架构为智能映射和并行化工作负载提供了许多机会,以最大化计算引擎和内存层次带宽(GPU内部和外部)的利用率。
为了实现最优性能,Imagination的一个跨职能专家团队解决了上述所有问题,并应用了我们对运行时系统中动态元素的深入理解,例如运行时OpenCL编译器和硬件的动态调度。从这项活动中获得的经验反馈到硬件和编译器设计的改进中,通过我们的AI产品路线图,这个良性循环将持续进行。
在发布时,Imagination的OpenCL计算库通常能够实现比客户使用开源解决方案所报告的性能提升3倍到4倍的更好结果。
在新发布的DXS GPU中,这些库与专注于计算的硬件改进相结合,例如额外的SPU(可扩展处理单元)和额外的FP16流水线,对于许多计算工作负载,相比我们上一代的汽车GPU,性能提升了10倍或更多。
还有什么?
我们这些基础库的目标是专注于我们作为IP公司的核心价值:最大限度地发挥我们芯片的性能,并使用户能够做到同样的事情。但除此之外,我们还在做什么?
我们现在专注于两个关键领域:
1. 提供参考计算和AI工具包,使客户能够在实际用例中利用这些计算库。
2. 构建我们的领域专家合作伙伴生态系统,帮助客户通过解决方案和服务加速其上市目标。
我们最近与MulticoreWare和澎峰科技的合作就是创新合作伙伴基于我们的计算库构建AI解决方案,并利用我们的参考工具包的两个范例。
——澎峰科技首席执行官张先轶
如何获取Imagination的计算软件库?
Imagination的计算软件解决方案为开发过程中的所有利益相关者提供了一个适宜的“从功能到性能再到优化”的工作流程。计算软件解决方案与Imagination DXS GPU 一同推出,并对Imagination当前和未来GPU IP的客户开放。想了解更多关于Imagination在边缘AI方面的产品规划,点击“联系我们”。
英文链接:https://blog.imaginationtech.com/how-low-level-libraries-unlock-ai-success
声明:本文为原创文章,转载需注明出处及原文链接,否则,我们将保留追究其法律责任的权利。