[发明专利]一种基于OpenCL的KNN-GPU加速方法无效

专利信息
申请号: 201410267295.9 申请日: 2014-06-16
公开(公告)号: CN104020983A 公开(公告)日: 2014-09-03
发明(设计)人: 余小清;周艺圆;万旺根;叶轩楠 申请(专利权)人: 上海大学
主分类号: G06F9/38 分类号: G06F9/38
代理公司: 上海上大专利事务所(普通合伙) 31205 代理人: 何文欣
地址: 200444*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种基于OpenCL的KNN-GPU加速方法。本发明主要完成KNN算法的并行化实现,首先是CPU端的准备工作,包括OpenCL平台的初始化、设备端的存储配置,然后在GPU上的计算过程,包括设备端的测试数据及训练数据在索引空间表示、距离计算及排序等步骤,最后将GPU端所得到的分类结果输出到CPU端显示。本发明还对GPU端的内存访问进行了优化,采用了局部存储器的存储和读取数据,进一步提高了并行化效率。通过实验证明,本发明能够有效提高KNN分类算法的效率,且分类精度保持不变,能够广泛应用于文本及图像等分类计算中。
搜索关键词: 一种 基于 opencl knn gpu 加速 方法
【主权项】:
一种基于OpenCL的KNN‑GPU加速方法,如图1所示,其特征在于基于OpenCL平台的并行化处理,具体步骤如下:步骤1:初始化OpenCL平台:首先获取OpenCL平台信息,接着获取设备ID,最后创建设备运行环境的上下文;步骤2:设备端的存储配置操作:CPU端配置三个存储器:1是用于存储输入训练数据,2是用于存储输入测试数据,3是用于存储输出分类数据;GPU端则从对应的存储器中读取数据;步骤3:配置GPU设备端的测试数据和训练数据:按照GPU设备端分配线程数,设置工作组的大小,工作项的大小和数据维度的大小,据此建立测试数据和训练数据的索引空间,用于之后的计算;步骤4:GPU端的KNN算法:在设置完KNN算法内核函数参数后, 内核函数将被调度在GPU上并行计算,得到测试数据的距离和所属的分类;步骤5:CPU端的存储配置操作:GPU端的计算处理完成后,需要把设备内存中的分类计算的结果传回到CPU,完成数据的输出;步骤6:确定测试点的类别;根据GPU端的计算结果,判定测试的所属的类别。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大学,未经上海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410267295.9/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top