实验分享|自研局部DIC-GPU算法与开源GPU算法对比实验

1实验背景

数字图像相关法DIC是材料力学领域研究的关键技术,其中局部DIC凭借亚像素级精度、全场测量等优势,成为材料局部变形分析的优选方案。传统CPU计算难以应对局部DIC数万个子区并行计算需求,新兴GPU算法一定程度提高了计算效率,如OpenCorr-GPU开源方案。

千眼狼研发工程师们,自主研发局部DIC-GPU算法,针对自研的DIC软硬件生态深度优化。研发人员通过开展几组经典实验,并与开源GPU算法进行横向对比。

2技术原理

自研局部DIC-GPU算法核心是将图像数据、子区网格位置和宽高信息预加载至GPU显存,利用数千核心并行处理所有子区的互相关计算。工程师们优化了线程调度,减少内存访问冗余,并自研子区网格动态分配策略,以最大化调用GPU算力资源。

3实验验证

为验证实际效果,千眼狼工程师设计了六组实验,实验基于同一测试环境GPU 4070开展:

场景1 仿真旋转

数据规模:有效子区个数0.4W

计算结果:左 开源算法耗时160ms,右 自研算法耗时仅54ms

图片

场景2 仿真辐射

数据规模:有效子区个数1.7W

计算结果:左 开源算法耗时696ms,右 自研算法耗时仅85ms

图片

场景3 圆杆拉伸

数据规模:有效子区个数0.3W

计算结果:左 开源算法耗时826ms,右 自研算法耗时仅64ms

图片

场景4 三点弯

数据规模:有效子区个数0.7W

计算结果:左 开源算法耗时2011ms,右 自研算法耗时仅109ms

图片

场景5 孔洞拉伸

数据规模:有效子区个数3.2W

计算结果:左 开源算法耗时2755ms,右 自研算法耗时仅148ms

图片

场景6 拉伸裂纹

数据规模:有效子区个数6.6W

计算结果:左 开源算法耗时3855ms,右 自研算法耗时仅217ms

图片

六大实验场景耗时对比

千眼狼自研GPU加速算法较开源GPU 提速3–18倍,且子区规模越大优势越显著。如圆杆拉伸0.3W子区提速3倍,6.6W子区拉伸裂纹场景提速18倍。

图片

六大实验场景精度对比

千眼狼工程师们使用带有位移真值的仿真素材做精度对比,素材位移真值为振幅衰减的正弦函数,绘制自研GPU计算结果、开源GPU计算结果和位移真值曲线如下:

图片

将两组计算结果与真值的平均绝对误差和均方根误差如下:

图片

4实验结论

通过上述实验对比,千眼狼自主研发的局部DIC-GPU算法与开源GPU算法在精度一致的前提下,在效率、适用性、稳定性上有较大提升。

1)效率:实现了较开源算法同计算场景下的3~18倍的提升。 

2)适用性:涵盖从仿真到实拍不同场景,可高效处理万级以上子区。

3)稳定性:计算结果与开源方案误差≤0.03pixel,满足科研级精度需求。

5实验展望

千眼狼自主研发的局部DIC-GPU加速算法已融入DIC软硬件生态系统,帮助科研人员提高在焊接残余应力、裂纹尖端变形等局部应变分析场景中的科研效率, 以更先进的性能赋能科学研究与工业智造。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/85399.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/85399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P2066 机器分配

P2066 机器分配 - 洛谷 题目描述 总公司拥有高效设备M台,准备分给下属的N个分公司。各分公司若获得这些设备,可以为国家提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。其中M⩽15,N…

Vue 复制页面内容

方法 1&#xff1a;使用 document.execCommand(copy) 在用户触发的事件中 这种方法适用于用户触发的事件&#xff08;如点击按钮&#xff09;&#xff0c;因为这是 execCommand(copy) 的唯一允许场景。 <template><button click"copyToClipboard">复制…

暑期前端训练day1

js——记忆函数 2025-06-19 day1 一、记忆函数Ⅰ&#xff1a; 链接&#xff1a;https://leetcode.cn/problems/memoize/?envTypeproblem-list-v2&envIdGR5hbGen (1) 题意&#xff1a;给定一个函数&#xff0c;返回一个记忆版的函数&#xff0c;其中你只会包含三个可能输…

鸿蒙网络编程系列54-仓颉版实现Smtp邮件发送客户端

1. SMTP邮件发送客户端 在本系列的第4篇文章《鸿蒙网络编程系列4-实现SMTP邮件发送客户端》中&#xff0c;基于ArkTS语言在API9环境下使用TCPSocket对象演示了SMTP客户端的实现&#xff0c;并且通过腾讯邮件服务器执行了实际的邮件发送。不过&#xff0c;在2024年末&#xff0…

【慧游鲁博】【12】UI美化·图标选择与变换·动态交互·格式定义

文章目录 图标设计迭代过程初始版本问题分析优化措施 游览画卷美化原因当前效果展示美化步骤(1) 代码修改结构优化CSS&#xff08;优化样式&#xff09; (2) 图标选择&#xff08;4种方案&#xff09;(3) 交互优化 版本一版本二1. 修改HTML结构2. 新增CSS样式色彩控制技术性能优…

IMU介绍

IMU(Inertial Measurement Unit,惯性测量单元)是一种基于惯性原理的传感器,通过测量物体的加速度和角速度来获取运动状态信息。以下从技术原理、核心组件、应用场景及关键指标等方面展开详细解析: 一、IMU的技术原理与核心组件 1. 工作原理 惯性力学基础:利用牛顿第二定…

MOS管和比较器

目录 前言一、前置器件复习使用1.比较器工作特性2.光电二极管3.红外出水水龙头4.温控风扇工作原理 二、MOS管1.前置1.1 增强型MOS管1.2 耗尽型MOS管1.3 四种1.4 比较 2.基本结构3.导通条件4.开关电路的设计方法5.寄生电容问题6.寄生二极管不能忽略7.Nmos管做电源开关的注意事项…

从代码学习深度强化学习 - Double DQN PyTorch版

文章目录 前言理论篇:为什么需要 Double DQN?代码实现篇:构建一个 Double DQN 智能体2.1 项目设置与辅助函数2.2 环境 (Environment)2.3 DQN 的核心组件2.3.1 Replay Buffer (经验回放池)2.3.2 Q-Network (Q网络)2.3.3 The Double DQN Agent (Double DQN 智能体)训练与结果3…

四非鼠鼠计算机专业的保研分享

四非鼠鼠的计算机专业保研分享 1.前言 鼠鼠的本科学校是一所不怎么出名的四非院校&#xff0c;专业是计算机科学与技术。在写下这篇文章时&#xff0c;鼠鼠并不是为了炫耀什么&#xff0c;而是想把自己在保研路上的一些踩坑经历分享出来&#xff0c;尤其是写给那些和我一样&a…

【C++详解】STL-vector使用底层剖析和实现

文章目录 vector介绍vector和string的区别补充知识initializer_listemplace_back结构化绑定 vector的使用构造析构遍历修改insertfind流插入/流提取vector\<vector>(杨辉三角) vector模拟实现浅品STL源码构造函数拷贝构造多参数构造迭代器区间构造n个val初始化swapoperat…

MySql升级安装、socket 及密码重置

升级 项目需要使用Mysql8.0, 查看自己的ubuntu22.04上mysql版本为5.7&#xff0c; 使用以下命令自动升级到8.0版本。 sudo apt install Mysqlsock错误&#xff1a; Can’t connect to local MySQL server through socket 运行mysql -u -p 报以下错误&#xff1a; ERROR 200…

Python网络爬虫技术:从入门到实战

在当今数字化时代&#xff0c;网络爬虫技术已经成为数据挖掘和信息收集的重要工具。通过网络爬虫&#xff0c;我们可以高效地从互联网上获取大量有价值的数据&#xff0c;用于数据分析、市场研究、学术研究等多种场景。本文将带你从零开始&#xff0c;了解Python网络爬虫的基本…

偏微分方程初值问题求解

题目 问题 2. (a) u t + 3 u x − 2 u y = x ; u t + x u x + y u y = x ; u_t + 3u_x - 2u_y = x; \quad u_t + xu_x + yu_y = x; ut​+3ux​−2uy​=x;ut​+xux​+yuy​=x; u t + x u x − y u y = x ; u t + y u x + x u y = x ; u_t + xu_x - yu_y = x; \quad u_t + yu_…

【专业梳理】PMP知识体系,以SIPOC流程图为核心的质量工具扩展

​​1. SIPOC流程图:质量管理的起点​​ SIPOC(Supplier-Input-Process-Output-Customer)是六西格玛和流程管理中的核心工具,用于定义和优化跨职能流程。在PMBOK中,它与质量管理知识领域(尤其是质量规划、质量保证)紧密关联: ​​质量规划​​:通过SIPOC明确流程边界…

OpenCV指定pid和vid通过MSMF打开摄像头

在基于OpenCV的项目中&#xff0c;实际开发过程会面临设备上存在多个摄像头&#xff0c;需要指定摄像头的pid和vid打开摄像头。在OpenCV通过MSMF打开摄像头时&#xff0c;需要传入摄像头的index&#xff0c;因此需要在打开该摄像头前需要找出摄像头的index&#xff0c;下面给出…

STM32F103ZET6系统启动过程

STM32F103ZET6系统启动过程 一、概述 STM32F103ZET6启动过程指硬件选择启动模式后,执行固件程序之前的一系列动作。对于系统存储器模式,系统执行Bootloader程序升级状态,检测数据进行串口升级;对于内部Flash模式,系统执行启动文件,设置堆栈大小,配置系统时钟,最终调用…

[Data Pipeline] Kafka消息 | Redis缓存 | Docker部署(Lambda架构)

第七章&#xff1a;Kafka消息系统&#xff08;实时流处理&#xff09; 欢迎回到数据探索之旅&#xff01; 在前六章中&#xff0c;我们构建了强大的**批量处理流水线**。 通过Airflow DAG&#xff08;批量任务编排&#xff09;协调Spark作业&#xff08;数据处理&#xff09;…

jquery 赋值时不触发change事件解决——仙盟创梦IDE

一、传统方法jquey change $(#village_id).trigger(change);$("#village_id").val(99);$("#village_id").change(); 不生效 二、传统方法jquey $(#village_id).trigger(change); 四、传统方法jquey <input type"text" /> <button…

Android | 签名安全

检验和签名 校验开发者在数据传送时采用的一种校正数据的一种方式&#xff0c; 常见的校验有:签名校验(最常见)、dexcrc校验、apk完整性校验、路径文件校验等。 通过对 Apk 进行签名&#xff0c;开发者可以证明对 Apk 的所有权和控制权&#xff0c;可用于安装和更新其应用。…

Android14 耳机按键拍照

在相机拍照预览界面 通过耳机按键实现拍照功能 耳机按键定义 frameworks/base/core/java/android/view/KeyEvent.java public static final int KEYCODE_HEADSETHOOK 79;相机界面 拍照逻辑 DreamCamera2\src\com\android\camera\PhotoModule.java Override public bool…