买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】使用水平聚合SIMD指令对d-堆进行向量化的方法_甲骨文国际公司_201980071575.3 

申请/专利权人:甲骨文国际公司

申请日:2019-09-23

公开(公告)日:2024-04-16

公开(公告)号:CN112930526B

主分类号:G06F12/02

分类号:G06F12/02;G06F16/22;G06F16/31;G06F16/901

优先权:["20180924 US 16/139,226"]

专利状态码:有效-授权

法律状态:2024.04.16#授权;2021.10.08#实质审查的生效;2021.06.08#公开

摘要:通过对d‑堆进行向量化并跨取回操作利用水平聚合SIMD指令来维护d‑堆属性并加快取回操作诸如top或pop的技术。通过将d‑堆存储在包含最开始侧和最末端侧的连续存储器阵列中来对d‑堆进行向量化。水平聚合SIMD指令用于聚合向量化的d‑堆的值。因此,减少了在d‑堆的单个节点内找到最大键值或最小键值所需的比较次数,从而加快了取回操作。

主权项:1.一种计算机实现的方法,包括:对存储在存储器中的堆执行pop操作;其中,所述堆包括多个节点;其中,所述多个节点中的每个节点包括D个槽,D为大于1的整数,其中所述D个槽中的每个槽存储D个键值中的键值,其中所述每个节点的D个槽被连续地存储在所述存储器的存储器地址空间内;其中,所述多个节点包括根节点和多个父节点,所述根节点具有所述多个节点中的D个子节点,其中所述根节点的所述D个子节点中的每个子节点是所述根节点中的相应父槽的孩子,其中存储在所述每个子节点的槽中的每个键值大于存储在所述根节点中的所述相应父槽中的键值;所述多个节点中的每个父节点具有D个子节点,其中所述每个父节点的所述D个子节点中的每个子节点是所述每个父节点中的相应父槽的孩子,其中,存储在所述每个子节点的槽中的每个键值大于存储在所述每个父节点中的所述相应父槽中的键值;其中,在堆上执行pop操作包括:在所述根节点上执行单指令多数据SIMD操作,以生成第一最小键值以及所述根节点中保持所述第一最小键值的第一槽的第一索引;将堆中最末端的槽中的键值复制到所述第一槽中;其中,所述第一槽是第一子节点的父槽;在所述第一子节点上执行SIMD操作,以生成第二最小键值以及所述第一子节点中包含所述第二最小键值的第二槽的第二索引;确定所述第二最小键值小于存储在所述第一槽中的所述第一最小键值;以及响应于确定所述第二最小键值小于所述第一最小键值,在所述第一槽和所述第二槽之间交换所述第一最小键值和所述第二最小键值。

全文数据:

权利要求:

百度查询: 甲骨文国际公司 使用水平聚合SIMD指令对d-堆进行向量化的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。