【优秀硕士博士论文】基于GPU的哈希表建立及其应用.ppt

【优秀硕士博士论文】基于GPU的哈希表建立及其应用.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【优秀硕士博士论文】基于GPU的哈希表建立及其应用

线程执行原子操作 * 主要原因是把时间用于拷贝数据,但随着数据的增加,CPU端用于处理数据的时间线性增加, 而GPU端根据并行处理数据的特性, 总体时间不会呈线性增加,时间主要还是用于拷贝数据。 * 利用链地址法处理碰撞时,采用 链表结构 把相同哈希值的数据放在一起 如图为数据经哈希函数计算得到相同的哈希值会被映射到同一链表中 * 链表结点包括两个域:数据本身和指向下一结点的指针。 若要在GPU上得到很好的加速效果,需要利用GPU各个层次的存储器,而在GPU上某些存储器空间相对有限,对于这类存储器,存储指针显得浪费。 在链表中查询一个数据时,需要从链表表头开始,顺着结点指针查找,直到查询到数据或查询不到数据而遍历完整个链表 多个线程同时在同一链表中插入数据时,需要串行执行 解决以上问题的方法是:利用数组结构存储数据,当查询一个数据时,可以根据链表其实位置和数据在链表中的偏移量确定。 * 如果为数组结构哈希表。 数据根据 * * 这个方法可以应用于字符串去重 我得到的数据由于某些原因需要去除重复的数据 * 选择的字符串哈希函数为BKDRHASH函数,一种字符串哈希函数,无论在实际效果效果突出。 若字符串参与基数排序,大量的数据移动使得运行效率降低,所以引入辅助数组参与基数排序,辅助数组为输入数据数组中的下标值。 原始数据数租中的位置 * 作为对比实验,本文利用TRIE树去掉重复字符串,TRIE树是一种用于快速检索的多叉树数据结构,查询效率高于哈希表 * * * 杜鹃哈希表由几个子表构成,并且每个子表拥有各自的哈希函数,这样每个数据可以通过各个子表的哈希函数映射到相应的子表中 杜鹃哈希处理碰撞的方式 类似于杜鹃在别的鸟巢中下蛋,并把别的鸟蛋挤出的行为。 轮转调度过程处理碰撞 * 最差情况是当有一个数据插入不成功时,需要重新建表,这个开销不值。 * 分块 各个块之间相互独立 所以当某个块中建立杜鹃哈希表不成功时 只需在这个块中重新选择哈希函数建表 充分GPU端多层次存储结构 * * * 纹理合成是给定一张样本纹理图片和一张噪声图片,合成一张新的目标图片,这张新的图片对人的感知系统来说就像从样本纹理图片中自然衍生出来一样。 * 低维的相似性 推知 高维的相似性 * * 基于GPU的哈希表建立及其应用 四川大学.计算机学院.11级硕士研究生毕业论文答辩 研究背景及意义 开地址法建表及其实验 链地址法建表及其应用 杜鹃哈希建表及其应用 LSH哈希算法介绍及其应用 主要内容 * 应用领域广泛 计算机密码学、病毒检测、信息安全等 各领域发展需求 建立哈希表速度及查找速度不能满足需求 GPU构架的发展 CUDA(Compute Unified Device Architecture,统一计算设备架构) 研究背景及意义 * 串行建立开地址哈希表 B E Z Y A 哈希表 哈希函数h(x) A 开地址法建表 * 并行建立开地址哈希表 CUDA提供高的存储器带宽 CUDA提供原子操作 ? B A 哈希表 哈希函数h(x) E Z Y B E Z Y A 开地址法建表 * 实验测试 数据32bit(unsigned int 类型)整数 互不重复且键是数据本身 开地址法建表 * 二次探测函数建表 串行链地址哈希 A 链式哈希表 B W E K M P N D 哈希函数h(x) A 链地址法建表 * 链表不适于GPU 链表结点包括两个域,而某些存储器空间相对有限 查询一个数据时,需从链表表头开始 多个线程同时在同一链表中插入数据时,需要串行执行 * 链地址法建表 并行链地址哈希 · 0 3 3 5 8 A 索引数组 哈希函数h(x) B W E K M P N A D 0 1 2 3 4 5 6 7 8 哈希表 * 链地址法建表 索引数组 哈希表 基数排序 A B D E K M P N W 3 0 4 0 2 2 3 3 0 B W E K M A P N D 0 0 0 2 2 3 3 3 4 0 1 2 3 4 5 6 7 8 0 3 3 5 8 A B D E K M P N W 3 0 4 0 2 2 3 3 0 B W E K M A P N D 0 0 0 2 2 3 3 3 4 0 1 2 3 4 5 6 7 8 0 3 3 5 8 哈希函数h(x) 链地址法建表 * 字符串去重的应用 片段数量巨大 重复数量多 增加系统拼接难度 并行链地址哈希应用 * @xM_QwGhWMIu642/1 TAAGGAGCAAGGGCTTGACATCAAACCGCGAATCCTCATTATAACTAG

您可能关注的文档

文档评论(0)

138****7331 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档