关于在cuda中使用哈希表的一些经验总结
cuda中哈希方法
目前已知的在cuda中使用哈希的方法:
数组
适用于较小的数据规模,如键的范围是int,或者能转化为整型,值类型最长为long等
cudpp...,即必须把键值对先准备好;主要用来查询
cudpp_github
huge-CTR
这是英伟达开发的一个点击率推荐系统的库,其中实现了哈希功能
优点是官方文档写了支持动态插入
huge-CTR_github...获取数据
将keys和values从host拷贝到device
创建CUDPPHandle
插入数据
使用哈希表查询数据
验证数据
将查询的结果由GPU内存拷贝回CPU内存,进行数据的验证
释放资源
问题和改进..._187
扩展cudpp哈希表
修改CUDPP库中哈希功能支持更长的键类型....原库支持32bit键值对,将其编码在64bit的long long类型中;我实际工作中需要对碱基序列进行哈希查找,每一个碱基可能有ACGTN五种类型,最开始只处理单barcode是10bp,所以有5^10