[发明专利]数据处理方法、装置、电子设备及存储介质有效
申请号: | 201910290213.5 | 申请日: | 2019-04-11 |
公开(公告)号: | CN110038301B | 公开(公告)日: | 2022-09-30 |
发明(设计)人: | 冯艺 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | A63F13/60 | 分类号: | A63F13/60 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 方法 装置 电子设备 存储 介质 | ||
本申请提供了一种数据处理方法、装置、电子设备及存储介质。其中方法包括:调用SSE指令函数,将用于保存原始数据的第一内存地址和用于保存运算结果的第二内存地址传入所述SSE指令函数的参数;利用所述SSE指令函数调用非对齐内存读取接口函数从所述第一内存地址中读取所述原始数据,并将所述原始数据加载到SSE寄存器中;利用所述SSE指令函数调用逻辑运算函数对所述原始数据进行逻辑运算,并将运算结果保存至所述SSE寄存器中;利用所述SSE指令函数调用非对齐内存写入接口函数将所述运算结果写入所述第二内存地址。本申请能够保证数学库的SSE指令函数在普通的x86机器上正确运行,提高数学库整体的运算效率。
技术领域
本申请涉及互联网技术领域,特别是涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
网络游戏简称“网游”,又称“在线游戏”。是指以互联网为传输媒介,以游戏运营商服务器和用户计算机为处理终端,以游戏客户端为信息交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性多人在线游戏。
在游戏客户端中,涉及到大量的矩阵和向量运算,因此在游戏引擎引用的数学库中,通常会使用SIMD(Single Instruction Multiple Data,单指令多数据流)技术进行优化,以大幅提高运算速度。如ARM架构下的Neon指令,x86架构下的SSE(Streaming SIMDExtensions,单指令多数据流扩展)指令等。
在游戏引擎引用的数学库中,虽然包含SSE指令版本的函数实现,但是在实际测试中,这些代码并不能在普通的x86机器下正常运行。原因是SSE指令在读写内存时,要求内存地址以16字节对齐,否则会引起错误。目前数学库实现SSE指令的方式是使用C++的union(联合)数据结构,把向量/矩阵的数据与__m128数据类型“合并”在一起,共享同一块内存,并直接使用__m128成员变量进行SSE指令版本的函数的参数传递。但是,上述方式并没有保证__m128数据类型的内存地址以16字节对齐。因此在实际运行中,代码运行之后会触发程序崩溃,导致这些代码只能运行在特定的机器上,局限性较大。
发明内容
鉴于上述问题,提出了本申请以便提供克服上述问题或者至少部分地解决上述问题的一种数据处理方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供了一种数据处理方法,所述方法包括:
调用SSE指令函数,将用于保存原始数据的第一内存地址和用于保存运算结果的第二内存地址传入所述SSE指令函数的参数;
利用所述SSE指令函数调用非对齐内存读取接口函数从所述第一内存地址中读取所述原始数据,并将所述原始数据加载到SSE寄存器中;
利用所述SSE指令函数调用逻辑运算函数对所述原始数据进行逻辑运算,并将运算结果保存至所述SSE寄存器中;
利用所述SSE指令函数调用非对齐内存写入接口函数将所述运算结果写入所述第二内存地址。
可选地,所述将所述原始数据加载到SSE寄存器中的步骤,包括:在所述原始数据为单精度浮点类型的矩阵数据时,将所述矩阵数据中的每一列数据加载到一个SSE寄存器中;在所述原始数据为单精度浮点类型的向量数据时,将所述向量数据加载到一个SSE寄存器中。
可选地,所述调用SSE指令函数,将用于保存原始数据的第一内存地址及用于保存运算结果的第二内存地址传入所述SSE指令函数的参数的步骤,包括:利用Mat4类中定义的Mat4指令函数通过统一MathUtil函数接口调用MathUtil类中定义的MathUtil指令函数,将所述第一地址和所述第二地址传入所述MathUtil指令函数的参数;利用所述MathUtil指令函数通过第一SSE函数接口调用MathUtilSSE类中定义的所述SSE指令函数,将所述第一地址和所述第二地址传入所述SSE指令函数的参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910290213.5/2.html,转载请声明来源钻瓜专利网。