南京汇川葛锦洲:解锁视觉领域的全新可能

随着工业技术的迅猛发展,人们对于视觉技术的需求也日益增长。面对这样的挑战,oneAPI 应运而生,成为了一种改变游戏规则的工具。

oneAPI 是由Intel推出的统一的、面向异构计算的编程模型和工具套件,它的目标是简化开发人员在不同硬件加速器上的编程过程,提升应用程序的性能。在近期的 oneAPI DevSummit 2023 夏季中国站上,南京汇川视觉的CV算法工程师葛锦洲带来了oneAPI开发套件在CV视觉领域应用案例的分享。

一、项目概述

1. Jinovision: 这是一款高效、开放且智能的工业视觉平台软件产品。Jinovision 的独特之处在于其流程图式开发模式、组态式界面开发和一键换型功能,使得它成为项目交付的高效工具。

2. 光度立体OCR字符识别应用方案: 基于先进的光度立体技术,该方案具备消除复杂纹理背景的能力,凸显钢印字符信息,实现精准识别。此外,它还可以扩展应用于汽车铸造件检测和医药钢印喷码检测等领域。

3. 自动对位&精度复测设备+PAC控制器视觉运控一体控制器产品形态: 这一解决方案集视觉和控制一体化,有效提升了交付效率,可扩展应用于各种对位类任务,彰显了极高的实用价值。

二、核心竞争力分析

在上述项目及应用中,核心竞争力的打造成为极具挑战及价值的关键一环。

在这些项目的成功实施中,算子的精度性能和效率性能起到了关键作用。借助 Intel oneAPI 开发套件,特别是使用了 vTune 分析工具、IPP 高性能计算库等,可以实现算子的深度优化和异构部署。这一点展示了 oneAPI 在面对实际问题时的高适应性和强大功能。

三、oneAPI 优化

sobel 算子的优化: 通过 oneAPI 的 SYCL 编程,sobel 算子成功部署于 IGPU 上,大幅提高了效率。

dft 算子的优化: 利用 oneAPI 开发套件中的 IPP 高性能计算库,显著提升了 dft 算子的运行效率。

光度立体算子异构部署: 通过 oneAPI 的 DPCT 工具,将光度立体 CUDA 代码迅速转为 DPC++,实现了异构部署。实现步骤如下:

1. 首先准备所需迁移的光度立体算子CUDA代码;

2. 接着开始完成项目的迁移,使用Microsoft Visual Studio项目文件来构建编译数据库,用于迁移完整的项目;

3. 然后通过输出文件的注释来检查无法直接完成转换的代码部分,手动进行相关修改进行替换;

4. 最后通过Intel one API DPC++/C++编译器构建光度立体算子项目,并成功运行。

在这个案例中有以下经验及注意事项,CUDA与SYCL有着下表的对应关系:

以此为基础,可以实现扩大CUDA至DPC++的基本迁移,部分扩大CUDA API目前仍不支持,可通过以下的链接查阅:

https://www.intel.com/content/www/us/en/docs/dpcpp-compatibility-tool/developer-guide- reference/2023-1/cuda-api-migration-support-status.html

对于这些API需手动做转换,对于基于扩大CUDA封装的库,如OpenCV中的gpuMat数据结构需手动做数据类型转换。

以上图的warning为例,应核对work-group size是否超过限制。如果是NVIDIA独显至Intel核显的转换,直接转换的work-group size大概率会超出限制对应的警告和错误ID通过以下链接:

https://www.intel.com/content/www/us/en/docs/dpcpp-compatibility-tool/developer-guide-reference/2023-1/diagnostics-reference.html

可以查询具体的相关细节。

形状匹配算子优化: 通过 Intel oneAPI 开发套件的特定配置和指令,有效优化了形状匹配算子的运行效率。

四、性能提升

Sobel和dft在i5-9400 CPU及相应的630核显驱动环境上,基于8K乘4 k的测试图像分别提升了4.98倍及1.09倍,快速部署了光度立体CUDA转DPC++并获取了与硬件算力相匹配的效率性能。

在i5-9400 CPU上,基于1280*1024的测试图像形状匹配算子性能提升了1.1倍。

oneAPI 的使用带来了显著的性能提升。sobel 和 dft 算子在特定硬件上的效率得到了重大改善,光度立体算子的快速部署也与硬件算力相匹配,形状匹配算子的性能也得到了提升。这一切共同证明了 oneAPI 在实际应用中的有效性。

葛锦洲在 oneAPI DevSummit 2023 夏季中国站的展示,不仅揭示了 oneAPI 在 CV 领域的强大潜力,还从项目概述到深入的技术分析,以及最终的性能提升等方面,全方位展示了 oneAPI 的优势。这次展示强调了 oneAPI 作为一种统一、异构的编程模型和工具套件,如何帮助开发人员更好地利用硬件资源,满足现代工作负载在复杂场景、多任务并行、多架构组合的有效协同,使其在视觉领域成为一种不可或缺的工具,为未来的技术革新和产业发展奠定了坚实的基础。

为了让更多开发者了解和体验人工智能技术在特定领域的运用(包括机器学习、深度学习和分析等),并获得进一步体验与实践,2023年英特尔oneAPI 黑客松大赛近日开启。

欢迎开发者来展示自己的技术才能,迎接挑战,赢取奖励,还可在英特尔官方媒体上展示项目等各种机会。

上一篇
下一篇