用于实现数据排列的方法、设备和介质技术

技术编号:33617872 阅读:28 留言:0更新日期:2022-06-02 00:36
本公开的实施例涉及一种用于实现数据排列的方法、设备和介质,所述方法包括:基于线程组的线程数和数据排列要求,获取第一辅助数据以及第二辅助数据;将第一寄存器中的数据、第一辅助数据、第二寄存器中的数据、第二辅助数据移位到中转寄存器;基于所述中转寄存器的地址,对所述中转寄存器中的数据执行抽取,从而获取第一数据、第二数据、第三数据以及第四数据;基于线程组的线程数和数据排列要求,确定映射参数;以及基于所述映射参数,将所述第三数据映射到所述第一寄存器并且将所述第四数据映射到所述第二寄存器,从而实现寄存器中的数据排列。由此,能够在不计算共享内存地址的情况下更为快速地实现多个寄存器间的数据排列。列。列。

【技术实现步骤摘要】
用于实现数据排列的方法、设备和介质


[0001]本公开的实施例总体涉及处理器领域,并且更具体地涉及一种用于实现数据排列的方法、计算设备和计算机可读存储介质。

技术介绍

[0002]一般而言,在通用计算图形处理单元(General

purpose computingon graphics processing units,GPGPU)中,通常涉及输入为实数而输出为复数(R2C)的快速傅里叶(FFT)运算。运算需要对原始输入的实数序列进行排列(例如,奇偶重排),从而重新组合成新的复数序列。这涉及到了在不同寄存器之间对线程组(warp)间数据进行排列。排列运算需要依靠线程组间数据交互。
[0003]现有线程组间数据交互的方式主要是通过共享存储器。系统将不同线程数据先根据索引计算出相应的共享存储器地址,再将寄存器上的数据通过存储指令(store)写入到共享存储器。最后再通过载入指令 (load)写回到寄存器上。由于线程之间调度的不确定性,需要等待所有线程完成写入操作后才能执行读取操作,这需要增加额外的同步操作,同时如果存在对本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于实现寄存器中的数据排列的方法,包括:基于线程组的线程数和数据排列要求,获取第一辅助数据以及第二辅助数据;将第一寄存器中的数据、第一辅助数据、第二寄存器中的数据、第二辅助数据移位到中转寄存器;基于所述中转寄存器的地址,对所述中转寄存器中的数据执行抽取,从而获取第一数据、第二数据、第三数据以及第四数据;基于线程组的线程数和数据排列要求,确定映射参数;以及基于所述映射参数,将所述第三数据映射到所述第一寄存器并且将所述第四数据映射到所述第二寄存器,从而实现寄存器中的数据排列。2.根据权利要求1所述的方法,还包括:将第一数据、第二数据、第三数据以及第四数据分别写入到所述第一寄存器、所述第二寄存器、第三寄存器以及第四寄存器。3.根据权利要求2所述的方法,将所述第三数据映射到所述第一寄存器并且将所述第四数据映射到所述第二寄存器包括:对所述第三寄存器以及所述第四寄存器施加掩码;以及将所施加掩码的第三寄存器中的数据每隔映射参数位映射到所述第一寄存器并且将所施加掩码的第四寄存器中的数据每隔所述映射参数位映射到所述第二寄存器,映射参数位是基于映射参数所确定的。4.根据权利要求2所述的方法,将所述第三数据映射到所述第一寄存器并且将所述第四数据映射到所述第二寄存器包括:将所述第三寄存器以及所述第四寄存器的当前映射参数位的数据分别映射到第五寄存器以及第六寄存器的当前映射参数位;将所述第三寄存器以及所述第四寄存器的数据分别映射到第五寄存器以及第六寄存器的下一映射参数位,其中所述第三寄存器以及所述第四寄存器的最后映射参数位的数据...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海壁仞智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1