[发明专利]处理系统中获取向量的欧几里得范数的方法和装置无效
申请号: | 200810213578.X | 申请日: | 2008-09-16 |
公开(公告)号: | CN101676864A | 公开(公告)日: | 2010-03-24 |
发明(设计)人: | 李广磊;王佰玲;龚志刚;葛宁;魏琼 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/302 | 分类号: | G06F9/302;G06F9/38 |
代理公司: | 北京市中咨律师事务所 | 代理人: | 于 静;杨晓光 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 系统 获取 向量 欧几里得 范数 方法 装置 | ||
1.一种单处理器系统中获取向量的欧几里得范数的方法,包括:
将要获取欧几里得范数的向量划分为具有预定数量的元素的多个段;
对于上述多个段的每一个,为该段内的元素进行基于同一缩放因子的平方累加计算,以得到该多个段的元素的平方和;以及
根据上述多个段的元素的平方和,得到上述向量的欧几里得范数。
2.一种多处理器系统中获取向量的欧几里得范数的方法,其中该多处理器系统包括至少一个核心处理器以及多个加速器(accelerator),该方法包括:
在上述核心处理器上将要获取欧几里得范数的向量划分为多个部分向量;
将上述多个部分向量分发给上述多个加速器;
上述多个加速器的每一个,对于分发给其的部分向量:
将该部分向量划分为具有预定数量的元素的多个段;
对于上述多个段的每一个,为该段内的元素进行基于同一缩放因
子的平方累加计算,以得到该多个段的元素的平方和;以及
上述核心处理器对上述多个加速器的平方和进行合计,以得到上述向量的欧几里得范数。
3.根据权利要求1或2所述的方法,其中对于上述多个段的每一个,为该段内的元素进行基于同一缩放因子的平方累加计算的步骤进一步包括:
对于上述多个段的每一个:
求取该段中的元素的绝对值最大值;
确定该段的上述绝对值最大值与该段之前的所有段的绝对值最大值中最大的值,作为在进行该段的平方累加计算时的缩放因子;以及
以上述在进行该段的平方累加计算时的缩放因子为基数,将该段中的元素的值的平方累加到该段之前的所有段的元素的平方和。
4.根据权利要求3所述的方法,其中上述预定数量是确保所划分的上述多个段的每一个的元素相互之间不存在依赖关系的值。
5.根据权利要求3所述的方法,其中对于上述多个段的每一个,求取该段中的元素的绝对值最大值的步骤,是通过在流水线上使分别进行该段中的部分元素对部分元素的比较的多个操作并行地得到处理来实现的。
6.根据权利要求5所述的方法,其中对于上述多个段的每一个,求取该段中的元素的绝对值最大值的步骤是利用SIMD指令实现的。
7.根据权利要求3所述的方法,其中以上述在进行该段的平方累加计算时的缩放因子为基数,将该段中的元素的值的平方累加到该段之前的所有段的元素的平方和的步骤进一步包括:
对于上述多个段的每一个:
在上述在进行该段的平方累加计算时的缩放因子与该段之前的缩放因子不同时,将该段之前的所有段的元素的平方和转换为以在进行该段的平方累加计算时的缩放因子为基数的平方和;以及
以上述在进行该段的平方累加计算时的缩放因子为基数,将该段中的各个元素与该缩放因子的比值的平方累加到转换后的上述平方和。
8.根据权利要求7所述的方法,其中将该段中的各个元素与该缩放因子的比值的平方累加到转换后的上述平方和的步骤,是通过在流水线上使分别与该段中的部分元素的平方累加有关的多个操作并行地得到处理来实现的。
9.根据权利要求8所述的方法,其中将该段中的各个元素与该缩放因子的比值的平方累加到转换后的上述平方和的步骤是利用SIMD指令实现的。
10.根据权利要求1所述的方法,其中根据上述多个段的元素的平方和,得到上述向量的欧几里得范数的步骤进一步包括:
求取上述多个段的元素的平方和的平方根;以及
利用上述多个段中最后一个段的平方累加计算完成时的缩放因子恢复上述平方和的平方根。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810213578.X/1.html,转载请声明来源钻瓜专利网。