如何使用CUDA并行地从数组中有效地删除零值.有关零值数量的信息可以提前获得,这可以简化此任务.
在复制到结果数组时,数字在源数组中保持有序排列非常重要.
例:
该数组将例如包含以下值:[0,0,19,7,0,3,5,0,0,1]以及5个值为零的附加信息.然后,期望的最终结果将是包含以下内容的另一个数组:[19,7,3,5,1]
我可以使用哪些并行算法从给定集合生成随机排列?特别是适合CUDA的论文提案或链接会有所帮助.
这种顺序版本将是Fisher-Yates shuffle.
例:
设S = {1,2,...,7}是源索引的集合.目标是并行生成n个随机排列.n个排列中的每一个恰好包含每个源索引一次,例如{7,6,...,1}.
我在Tegra处理器上找不到任何关于CUDA使用的东西,尽管它们提供了相当多的SIMD内核(~72).看起来NVIDIA目前通过Tegra开发套件(基于Android)将开发工作重点放在Tegra上.
所以我的问题是:"是否有可能在Tegra 4或前辈上使用CUDA(或OpenCL),如果可以,支持哪个版本?"