栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

CUDA流压缩算法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CUDA流压缩算法

您需要的是一种经典的并行算法,称为 流压缩 1。

如果选择“推力”,则可以简单地使用

thrust::copy_if
。这是一种稳定的算法,它保留所有元素的相对顺序。

草图:

#include <thrust/copy.h>template<typename T>struct is_non_zero {    __host__ __device__    auto operator()(T x) const -> bool {        return T != 0;    }};// ... your input and output vectors herethrust::copy_if(input.begin(), input.end(), output.begin(), is_non_zero<int>());

如果 没有 选择“ 推力”,则可以自己实现流压缩(有关该主题的文献很多)。这是一个有趣且相当简单的练习,同时也是更复杂的并行基元的基本构建块。

(1) 严格来说,这不是 正好 流传统意义上的压缩,作为流压缩传统上是稳定的算法,但你的要求不包括稳定。放宽要求可能会导致更有效的实施?



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637497.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号