MulticoreWare

实例探究

在视觉DSP上部署Inception V3卷积神经网络模型

March 27, 2024

客户

该客户是一家专注于视觉DSP的知识产权公司,其产品广泛应用于图像处理、计算机视觉和人工智能领域。

挑战

该项目的目标是在客户的视觉DSP上执行端到端 Inception-V3 卷积神经网络(CNN)图像分类模型的推理任务。

解决方案

该项目利用了一系列工具和技术,包括 C/C++、量化(Quantization)、卷积神经网络推理、DSP intrinsic(内联函数)、DMA(直接内存访问)和分块(tiling)算法。

我们成功地应用了基于 ImageNet 数据集训练的 Inception-V3 浮点模型,实现了 74% 的 Top-1 准确率和 91.62% 的 Top-5 准确率。随后,我们使用 MulticoreWare(迈凯伦)定制的量化算法将浮点模型量化为 INT8 数据类型。紧接着,针对 INT8 数据类型实现了基于 x86 的参考 Inception-V3 执行流程。

浮点与8位量化模型的Top-5 / Top-1分类准确率

 

MulticoreWare 为视觉 DSP 手动优化了 Inception-V3 模型中的各个层/操作,创建了一个端到端的基于内联函数的执行流程,同时使准确率与基于 x86 的 INT8 流程相匹配。考虑到 Inception-V3 中的层数众多以及DSP片上数据内存有限,我们精心设计并实现了DMA和数据分块算法,以高效管理从外部内存到片上内存的数据传输。

定制量化逻辑:

MulticoreWare 的解决方案拥有定制的量化逻辑,确保量化模型的 Top-1 和 Top-5 分类准确率损失最小。我们使用 DSP 内联函数技术手动优化了 Inception-V3 模型的大约 94 个层,获得了与理论性能估计非常接近的结果。此外,我们的团队还实现了输入/输出/权重的分块,并构建了一个端到端的 Inception-V3 优化流程,有效地隐藏了 DMA 数据传输的延迟。

卷积神经网络模型:Inception-V3 (使用 Imagenet 数据集预训练)

 
卷积神经网络架构详情
卷积层数量
94
级联层数量
11
池化层数量
14

商业影响

MulticoreWare 的努力使客户能够在保持与浮点模型精度相似的 Top-1 和 Top-5 准确率水平的前提下,对 299x299x3 尺寸的输入图像实现 30 FPS 的处理速度。这为客户向其用户展示产品性能提供了极佳的演示案例。

内存建模 - DDR延迟[时钟周期] FPS
100
30.42
0
31.09
基于内存建模类型(含分块与DMA)实现的性能

结论

本案例研究彰显了MulticoreWare在量化和DSP方面的专长。如需更全面地了解我们的解决方案和服务,请通过 info@multicorewareinc.com  联系我们。

Share Via

Explore More

May 29 2026

优化 Android 应用在远程 GPU 渲染平台上的性能

客户 该客户是一家专注于GPU虚拟化中间件的技术公司,其产品能够将独立计算单元聚合到共享资源池中,并通过标准网络基础设施进行远程访问。他们的平台旨在帮助企业和汽车开发团队将图形密集型计算工作负载卸载到集中式或分布式GPU基础设施。 问题陈述 随着图形密集型Android应用程序越来越多地利用远程GPU基础设施,在分布式环境中保持接近原生体验的 UI 响应性和渲染性能成为一项重大挑战。通过该平台在基于远程服务器-客户端的架构上运行Android Automotive应用程序引入了性能瓶颈,对渲染效率和最终用户体验产生了负面影响。 客户观察到,与原生Android执行相比,通过该平台执行Android模拟器工作负载时,帧速率降低,渲染延迟增加。远程渲染管线在帧生成、同步和呈现过程中引入了延迟,导致UI响应速度下降,交互体验下降。 该平台面临以下几个关键挑战: 在远程渲染环境下,Android Automotive 模拟器执行时帧率低 由于渲染管线和同步瓶颈,导致每帧延迟增加 在非原生 Vulkan 路径中,由 Mesa 转译引入的额外开销导致渲染效率低下 Vulkan 的阻塞式等待机制影响帧调度和渲染吞吐量 远程执行期间,对 GPU 及渲染管线层级性能瓶颈的可观测性有限 为了应对这些挑战,客户需要一个结构化的优化框架来对性能进行基准测试,识别渲染瓶颈,并提升整个平台的帧传输与交付效率。 解决方案概述 MulticoreWare 开展了一项全面的性能优化计划,旨在提升客户平台上 Android 模拟器的运行性能。该计划首先对 Android 应用的性能与原生 Android 应用的性能进行基准测试,以建立帧率(FPS)和延迟的性能基线。 MulticoreWare 利用先进的性能分析工具,对渲染管线进行了端到端的分析,以识别帧生成、同步与显示过程中的瓶颈。基于这些发现,团队对渲染栈实施了针对性的优化,从而降低帧延迟并提高吞吐量。 该解决方案的主要功能包括: 基于队列的帧呈现机制 实现了将帧接收与渲染解耦的带缓存的解耦帧呈现机制,从而减少等待时间和延迟瓶颈。 工作负载感知超时优化 在 Mesa 中用基于计算公式的超时机制替换了无限 Vulkan 等待,提高了同步效率并减少了渲染停顿。 启用原生 Vulkan 渲染能力 启用了 Android 模拟器 Vulkan 模式所需的缺失 Vulkan 功能,绕过了 Mesa  … Read more

Read more
May 14 2026

面向无线接入网(RAN)可观测性、可解释性和编排的智能体人工智能

客户
一家全球性的电信和网络基础设施公司,致力于为构建、管理和优化大型电信及企业网络提供先进的软件、硬件和服务。

Read more
May 13 2026

先进无人机系统的嵌入式平台优化:激光雷达与电机控制的集成

客户 一家领先的无人机与机器人公司,致力于开发高性 能无人机平台,用于复杂或受限环境中的自主作业、工业检测及测绘。

Read more

GET IN TOUCH