关于在cuda中使用哈希表的一些经验总结
cuda中哈希方法
目前已知的在cuda中使用哈希的方法:
数组
适用于较小的数据规模,如键的范围是int,或者能转化为整型,值类型最长为long等
cudpp...::unordered_map获取数据
将keys和values从host拷贝到device
创建CUDPPHandle
插入数据
使用哈希表查询数据
验证数据
将查询的结果由GPU内存拷贝回CPU内存...,进行数据的验证
释放资源
问题和改进
cudpp内存泄漏问题
cudpp在更新的cuda版本如cuda10,更新的显卡架构如TitanV下出现内存泄漏问题
情况就是只要使用cudpp的lib,代码经过第一个...经过测试,我发现是计算能力配置问题,新的显卡架构支持更高的计算能力,只要在编译选项中增加compute_60;compute_70即可解决问题
详见cudpp_issues_187
扩展cudpp哈希表...(9765625)种可能序列,不到10M数据,在cuda中使用数组就可以了;后来需要处理双barcode,20bp,有5^20(95367431640625)种可能序列,需要约95T数据,数组显然不够,