首页 > 代码库 > GPU方法做倒排压缩和交集计算
GPU方法做倒排压缩和交集计算
之前一直想读这篇,今天读了一下,颇有收获:
1.对文档按相似term聚类之后,delta较小,可以提高压缩率(similarity graph)
1.GPU一般可以有几百个核,有shared memory和global memory,shared memory相当于寄存器的速度,global memory速度较慢
2.有序数组上的搜索算法除了binary search还有interplation search(插值搜索),平均复杂度是O(loglogn),但memory access是binary search的三倍,一般不使用
3.一般到排链基本都符合线性增长趋势,可以对应直线的点,取范围查找可以减少binary search的范围,提升效率(LR Algorithm)
4.或使用hash表,将一定范围内的docId放在一个bucket中,哈希函数简单、哈希表在shared memory中,虽然有些内存的overhead,但效率非常高,快于LR(HS Algorithm)
5.因为一般倒排表是线性增长的,使用Linear Regression Compression,可以很好压缩(但压缩比只有二点几,不知道和group variant比怎么样),但是具有不保存delta的优势,在GPU上可以直接应用binary search,只是每次需要浮点数计算.
Efficent Parallel Lists Intersection and Index Compression Algorithms using Graphics Processing Units:
http://www.vldb.org/pvldb/vol4/p470-ao.pdf
1.对文档按相似term聚类之后,delta较小,可以提高压缩率(similarity graph)
1.GPU一般可以有几百个核,有shared memory和global memory,shared memory相当于寄存器的速度,global memory速度较慢
2.有序数组上的搜索算法除了binary search还有interplation search(插值搜索),平均复杂度是O(loglogn),但memory access是binary search的三倍,一般不使用
3.一般到排链基本都符合线性增长趋势,可以对应直线的点,取范围查找可以减少binary search的范围,提升效率(LR Algorithm)
4.或使用hash表,将一定范围内的docId放在一个bucket中,哈希函数简单、哈希表在shared memory中,虽然有些内存的overhead,但效率非常高,快于LR(HS Algorithm)
5.因为一般倒排表是线性增长的,使用Linear Regression Compression,可以很好压缩(但压缩比只有二点几,不知道和group variant比怎么样),但是具有不保存delta的优势,在GPU上可以直接应用binary search,只是每次需要浮点数计算.
Efficent Parallel Lists Intersection and Index Compression Algorithms using Graphics Processing Units:
http://www.vldb.org/pvldb/vol4/p470-ao.pdf
GPU方法做倒排压缩和交集计算
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。