问题标签 [thrust]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1064 浏览

c++ - 如何从两个数组中创建一个对向量,然后使用 CUDA/Thrust 按对的第一个元素进行排序?

好吧,这将是一口。

我有一个指向序列化二维数组的指针,除了指针算术之外,我想从(基本上)两个数组(我打算从二维数组中取出)制作一个对向量。但是,我需要使用Thrust库。

这样我就可以根据对的第一个元素的值在向量上使用推力::sort()。在设备上。

所以,我需要一个成对的向量(最好是推力::device_vector)(大小显然与arrayOne和arrayTwo的大小相匹配),其中对的第一个元素来自arrayOne,第二个来自arrayTwo。这样我就可以使用推力::sort() 来按对的第一个元素进行排序。

抱歉,由于缺少代码,但我仍在试图弄清楚如何实现这一点的更详细的细节,因此是这个问题。我会在我进行的过程中发布我的尝试。先感谢您!

#更新

我想我实际上很幸运并找到了解决方案,因为我发布了问题(有点,它比使用 pair 更好的解决方案 - 这反过来是从我之前提出的问题中向我建议的),事实证明 Thrust 实际上提供了我默认情况下正在寻找:

*取自http://code.google.com/p/thrust/wiki/QuickStartGuide#Fancy_Iterators *

所以,现在我要做的就是从两个数组中取出两个推力::device_vectors(我必须从二维数组中取出)。快乐的。

0 投票
1 回答
1152 浏览

sorting - 双调排序网络 vs Thrust::sort_by_key

我实现了一个使用排序的算法。我尝试了 Thrust::sort_by_key 大约需要 0.4 秒来对包含 10^7 个元素的数组进行排序。

我认为双音排序网络应该比 Thrust::sort_by_key 更快。但是,双调排序需要大约 2.5 秒才能对上述相同的数组进行排序。我使用了 SDK 提供的双音排序网络。我只是稍微修改了原来的双音排序。

你能告诉我为什么吗?或者给我一些建议?

谢谢,

2011 年 8 月 15 日

0 投票
1 回答
1206 浏览

cuda - 删除排序列表中的条目:在 gpu 中有效

我正在尝试在 cuda/thrust 中编写以下问题。我得到一个键列表和与每个键关联的三个值。我设法按字典顺序对它们进行了排序。如果具有相同键的输入具有每个值关系,则现在需要减少输入。在下面的示例中,V1(a)<=V1(c) 和 V2(a)<=V2(c) 和 V3(a)<=V3(c),意味着输入 a < 输入 c,因此输入 c从输出中删除。

示例输入:

示例输出:

  • 输入 a < 输入 c ==> c 已移除
  • 输入 a < 输入 d ==> d 删除

我已经能够使用 for 循环和 if 语句解决上述问题。我目前正在尝试使用基于 gpu 的 cuda/thrust 来解决这个问题。这可以在 gpu 上完成(最好是推力)还是必须用 cuda 编写单个内核?

我没有像Thrust: Removing duplicates in key-value arrays 中讨论的那样使用 unique 来制定这个问题

编辑为包含程序“stl/c++”程序以生成上述场景:“Reducing myMap”部分是我使用 for 循环和 if 语句的实现。

0 投票
1 回答
472 浏览

cuda - CUDPP faster than THRUST in sorting? so what about structure arrays?

I have an array of structures and I want to sort them. I have been using Thrust::sort and it works well. Then people tell me CUDPP is faster in sorting but I found it's not possible to sort structure arrays straight forward.

Here they have explained how to sort structure arrays with CUDPP but it sounds resource consuming.

Do you have any suggestion on faster doing the sort? Any other way you do this job?

P.S. my structure is simply some numbers...

0 投票
1 回答
1822 浏览

cuda - Cuda Thrust 自定义功能

如何在 Thrust 中实现此功能?

在CUDA中,我这样做了:

谢谢!

0 投票
1 回答
691 浏览

cuda - 函数内部的推力计数迭代器

非常感谢您对Cuda Thrust Custom 功能的回答

如果我想传递另一个向量来复制这样的值,最后一件事是什么?

我仍然不清楚如何将值传递给创建的函数谢谢!

0 投票
1 回答
2237 浏览

c++ - STL推力多向量变换?

我想知道是否有更有效的方式来编写 a = a + b + c?

这可行,但有没有办法只使用一行代码来获得相同的效果?我查看了示例中的 saxpy 实现,但是它使用了 2 个向量和一个常量值;


这更有效吗?

0 投票
4 回答
3458 浏览

cuda - 计算 CUDA 数组中数字的出现次数

1000000我有一个使用 CUDA(通常是元素)存储在 GPU 上的无符号整数数组。我想计算数组中每个数字的出现次数。只有几个不同的数字(约10),但这些数字可以跨越 1 到1000000。大约9/10th 的数字是0,我不需要它们的计数。结果如下所示:

我有一个使用atomicAdds 的实现,但它太慢了(很多线程写入同一个地址)。有人知道快速/有效的方法吗?

0 投票
2 回答
705 浏览

cuda - 如何在推力变换期间重新排序矢量?

我如何将这个简单的代码转换为推力代码?

更多信息: cA 和 rA 是 const 整数,因此我们可以将其视为 'n'= cA-rA sn:float(n) 数组 n_index:int(n) 数组 c:float(cA) 数组

我的问题是指向 C 数组元素的 n_index[i] 。谢谢你!

0 投票
2 回答
2016 浏览

cuda - 3个不同大小向量的推力复变换

您好,我在 C+ 中有这个循环,我试图将其转换为推力,但没有得到相同的结果......有什么想法吗?谢谢你

C++ 代码

推力代码

推力函数