The invention discloses a data processing method and processing device, will be processed by line matrix M*N is divided into M to open M vector; threads; parallel threads of control M I M for pending thread computation of vector line I to N vectors to be multiplied by the vector calculation, get the I calculation results; obtaining M results, to obtain the matrix calculation results for M*N and N vectors multiplication. The technical scheme provided from the invention, due to the pending M*N matrix divided into M to be processed vector, then each thread M thread parallel control calculation of one line to the vector by vector to be calculated, so as to realize the parallel computation of vector of each row vector to be multiplied by the matrix calculation, greatly reduces the waste of computing matrix vector multiplication time, improves the computational efficiency.
【技术实现步骤摘要】
一种数据处理方法及处理装置
本专利技术涉及数据处理领域,尤指一种数据处理方法及处理装置。
技术介绍
在图形图像处理、数字信号滤波计算、数值天气预报、网络路由选择、智能交通系统的路径选择、线性规划、傅里叶变换等众多数值问题中,最常用的基本算法就是矩阵与向量的乘法,因此一个快速高效的数据处理方法对于解决众多数值问题是非常重要的。相关技术中,在计算待处理矩阵乘以待计算向量时,首先计算矩阵的第一行向量与待计算向量相乘并得到计算结果;再计算矩阵的第二行向量与待向量相乘并得到计算结果,直到计算矩阵的最后一行与待计算向量相乘并得到计算结果,最后将这些计算结果组合起来得到待处理矩阵乘以待计算向量的计算结果。但是,这种方法是依次计算矩阵中一行向量乘以待计算向量的,也就说说只有当矩阵中一行向量乘以待计算向量计算完成后,才能计算下一行向量乘以待计算向量,因此整个计算过程所耗费的时间过长。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种数据处理方法及处理装置,能够并行计算矩阵中每一行向量乘以待计算向量,从而大幅度地减少了计算矩阵乘以向量时所耗费的时间。为了达到本专利技术目的,本专利 ...
【技术保护点】
一种数据处理方法,其特征在于,包括:将待处理矩阵M*N按行划分成M行待处理向量;开启M个线程;并行控制所述M个线程的第i个线程计算所述M行待处理向量的第i行待处理向量乘以待计算N维列向量,得到第i个计算结果;其中,i=1、2…M;获取M个计算结果,得到所述待处理矩阵M*N和所述待计算N维列向量相乘的计算结果。
【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:将待处理矩阵M*N按行划分成M行待处理向量;开启M个线程;并行控制所述M个线程的第i个线程计算所述M行待处理向量的第i行待处理向量乘以待计算N维列向量,得到第i个计算结果;其中,i=1、2…M;获取M个计算结果,得到所述待处理矩阵M*N和所述待计算N维列向量相乘的计算结果。2.根据权利要求1所述的处理方法,其特征在于,所述开启M个线程之前,还包括:采用内存对齐的方式将所述M行待处理向量存储于预设存储空间中;其中,所述预设存储空间为所述M个线程都能够访问的存储空间;将所述待计算N维列向量存储于所述预设存储空间中;所述并行控制M个线程的第i个线程计算M行待处理向量的第i行待处理向量乘以待计算N维列向量,得到第i个计算结果之前,还包括:并行控制所述M个线程的第i个线程从所述预设存储空间中获取所述M行待处理向量的第i行待处理向量和所述待计算N维列向量。3.根据权利要求2所述的处理方法,其特征在于,所述并行控制M个线程的第i个线程从预设存储空间中获取M行待处理向量的第i行待处理向量和待计算N维列向量,包括:在所述M个线程的第i个线程中再开启K个子线程;其中,K≤N;并行控制所述第i个线程中K个子线程的第j个子线程从所述预设存储空间中获取所述M行待处理向量的第i行待处理向量的Sj个元素和所述待计算N维列向量中对应的Sj个元素;其中j=1、2…K,S1+S2+…+SK=N;所述并行控制M个线程的第i个线程计算M行待处理向量第i行待处理向量乘以待计算N维列向量,得到第i个计算结果,包括:并行控制所述第i个线程中K个子线程的第j个子线程计算所述M行待处理向量的第i行待处理向量的Sj个元素和所述待计算N维列向量中对应的Sj个元素的乘积,得到所述第i个计算结果中第j个子计算结果;获取所述第i个计算结果中K个子计算结果,得到所述第i个计算结果。4.根据权利要求3所述的处理方法,其特征在于,所述并行控制第i个线程中K个子线程的第j个子线程计算M行待处理向量的第i行待处理向量的Sj个元素和待计算N维列向量中对应的Sj个元素的乘积,得到第i个计算结果中第j个子计算结果之后,还包括:将得到的所述第i个计算结果中K个子计算结果存储于寄存器中;所述获取第i个计算结果中K个子计算结果,得到所述第i个计算结果,包括:从所述寄存器中获取所述第i个计算结果中K个子计算结果,得到所述第i个计算结果。5.根据权利要求4所述的处理方法,其特征在于,...
【专利技术属性】
技术研发人员:董昊,黄雪,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。