[发明专利]一种基于MIC实现聚类算法的方法及装置无效
申请号: | 201410555944.5 | 申请日: | 2014-10-20 |
公开(公告)号: | CN104360985A | 公开(公告)日: | 2015-02-18 |
发明(设计)人: | 王恩东;沈铂;王娅娟;张清 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mic 实现 算法 方法 装置 | ||
1.一种基于MIC实现聚类算法的方法,其特征在于其具体实现过程为:
一、开辟CPU端内存,并根据该CPU端内存设置MIC数组;
二、将CPU内存复制到MIC数组;
三、将确定的MIC数组划分为一个或一个以上16乘16的大小的矩阵;对不足16乘16的矩阵,设置对应矩阵行列的两个标志位,标志位为16bit,其中每个bit对应矩阵中行或列,如存在该行或列,则该bit赋值为1,否则赋值为0;
四、对各划分的矩阵,按照矩阵乘法的形式进行矩阵运算,对不足16乘16的矩阵,在结果累加时,使用标志位参与运算,以获得协处理器MIC矩阵运算结果;
五、统计MIC矩阵运算结果,当MIC矩阵运算结果中改变的点数大于或等于预先设置的阈值时,根据MIC矩阵运算结果更新MIC类数组,直至聚类完成。
2.根据权利要求1所述的一种基于MIC实现聚类算法的方法,其特征在于:所述步骤一中的CPU端内存包括CPU点数组和CPU类数组,相对应的,MIC数组包括MIC点数组、MIC类数组,其具体的开辟过程为:
从输入文件中获取每行一组浮点数的二进制或文本形式的信息,根据获取的二进制或文本形式的信息,建立中央处理器CPU内存相应的CPU点数组和CPU类数组;
根据CPU点数组和CPU类数组,确定MIC点数组、MIC类数组。
3.根据权利要求2所述的一种基于MIC实现聚类算法的方法,其特征在于:所述MIC点数组、MIC类数组确定过程为:将CPU点数组转置变化后赋值给MIC点数组,将CPU类数组直接赋值给MIC类数组。
4.根据权利要求1~3中任一所述的一种基于MIC实现聚类算法的方法,其特征在于:所述矩阵运算前进行初始化的步骤:设置元素个数与MIC点数组相同的聚类结果数组,并初始化聚类结果数组各元素为-1。
5.根据权利要求4所述的一种基于MIC实现聚类算法的方法,其特征在于:所述步骤五中统计MIC矩阵运算结果通过聚类结果数组实现。
6.根据权利要求4所述的一种基于MIC实现聚类算法的方法,其特征在于:所述步骤五中根据MIC矩阵运算结果更新MIC类数组的具体过程为:根据MIC矩阵运算结果更新CPU类数组,再直接将CPU类数组赋值给MIC类数组。
7.根据权利要求4所述的一种基于MIC实现聚类算法的方法,其特征在于:所述步骤五中聚类完成是指MIC矩阵运算结果中改变的点数小于预先设置的阈值。
8.一种基于MIC实现聚类算法的装置,其特征在于:该装置包括接收单元、划分单元、计算单元、统计处理单元和确定单元;其中,
接收单元,用于接收CPU处理的点数组和类数组;
划分单元,用于将确定的MIC类数组和MIC点数组划分为一个或一个以上16乘16的大小的矩阵;对不足16乘16的矩阵,标志位赋值为0,除标志位以外的其他位赋值为1;
计算单元,用于对各划分的矩阵,按照矩阵乘法的形式进行矩阵运算,对不足16乘16的矩阵,在结果累加时,使用标志位参与运算,以获得协处理器MIC矩阵运算结果;
统计处理单元,用于统计MIC矩阵运算结果,当MIC矩阵运算结果中改变的点数大于或等于预先设置的阈值时,根据MIC矩阵运算结果更新MIC类数组,直至聚类完成;
确定单元,用于将CPU点数组转置变化后赋值给MIC点数组,将CPU类数组直接赋值给MIC类数组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410555944.5/1.html,转载请声明来源钻瓜专利网。