关于在cuda中使用哈希表的一些经验总结
cuda中哈希方法
目前已知的在cuda中使用哈希的方法:
数组
适用于较小的数据规模,如键的范围是int,或者能转化为整型,值类型最长为long等
cudpp...拷贝到device
创建CUDPPHandle
插入数据
使用哈希表查询数据
验证数据
将查询的结果由GPU内存拷贝回CPU内存,进行数据的验证
释放资源
问题和改进
cudpp内存泄漏问题
cudpp...,我发现是计算能力配置问题,新的显卡架构支持更高的计算能力,只要在编译选项中增加compute_60;compute_70即可解决问题
详见cudpp_issues_187
扩展cudpp哈希表
修改CUDPP...库中哈希功能支持更长的键类型....原库支持32bit键值对,将其编码在64bit的long long类型中;我实际工作中需要对碱基序列进行哈希查找,每一个碱基可能有ACGTN五种类型,最开始只处理单barcode是10bp,所以有5^10