首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这将是均匀分布正态分布的最佳方法。将值放入桶中?

这将是均匀分布正态分布的最佳方法。将值放入桶中?
EN

Stack Overflow用户
提问于 2014-11-11 12:10:44
回答 1查看 161关注 0票数 0

这将是将值均匀分布到存储桶中的最佳方法。这些值是使用高斯分布生成的,因此大多数值都在中位数附近。

我正在CUDA中实现存储桶排序。由于大多数值都是在中位数附近生成的,因此它们被插入到4-5个桶中。我可以创建大量的存储桶,并希望将值均匀分布在所有/大多数存储桶中,而不是只有3-4个存储桶。

EN

回答 1

Stack Overflow用户

发布于 2014-11-11 17:12:55

看起来你在找一个histogram

如果您正在寻找性能,请使用两个注释指出的CUBThrust库,否则您最终将花费大量时间,仍然无法达到这些性能级别。

如果您决定实现直方图,我建议您从最简单的实现开始;一个两步的方法。在第一步中,您计算落入每个存储桶中的元素的数量,因此您可以创建具有正确数组大小的容器结构。第二步只是将元素复制到结构的相应数组中。

因为在这里,您可以发展到更复杂的版本,例如使用prefix sum来计算大型数组中存储桶的初始位置。

应用程序受到内存流量的限制(您根本没有算术工作负载),因此请尝试尽可能地改进局部性和访问模式。

当然,请查看开放源码以获得一些想法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26857308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档