cub

    1热度

    1回答

    我试图让我的头部绕过CUB,并且在(不完整的)工作示例之后有点麻烦。 CUB看起来像是一个很棒的工具,我无法理解示例代码。 我已经建立了一个简单的原经减少例如: #include <cub/cub.cuh> #include <cuda.h> #include <vector> using std::vector; #include <iostream> using std::cout;

    0热度

    1回答

    从CUDA内核调用CUB类后,是否需要调用cudaDeviceSynchronize?当一个人使用从设备说DeviceReduce ::总和(),有移动的阻挡装置内隐记忆副本,但遇到了一些不稳定使用呼吁GPU下面的代码后: __device__ void calcMonomerFlux(double* fluxes, double* lengths, double* dt) //temp2 tem

    1热度

    1回答

    每当我包含<cub/cub.cuh>头文件时,Visual Studio的智能感知都会报告数千个错误。 正如您在附件截图中看到的,应用程序由空行main()函数和include行组成。 我在项目属性中定义了额外的包含目录和额外的库目录。我没有做任何其他改变。 我的设置包含visual studio community 2015,cuda 8.0.61和cub 1.7.0库。 有什么我可以做的,以解

    0热度

    1回答

    我是CUDA和CUB的新手。我发现下面的代码,并试图编译它,但我有这个错误: 致命错误:cub/cub.cuh:没有这样的文件或目录。 CUDA的版本是7.0.27 我该如何解决这个错误? 谢谢!所有的 #include <cuda.h> #include <cub/cub.cuh> #include <stdio.h> int main(){ // Declare, allo

    1热度

    1回答

    我读CUB文档和例子: #include <cub/cub.cuh> // or equivalently <cub/block/block_radix_sort.cuh> __global__ void ExampleKernel(...) { // Specialize BlockRadixSort for 128 threads owning 4 integer items e

    0热度

    1回答

    在我的其中一个项目中,使用CUB的 DeviceReduce :: ReduceByKey时看到一些不正确的结果。但是,在thrust :: reduce_by_key中使用相同的输入/输出会产生预期结果。 #include "cub/cub.cuh" #include <vector> #include <iostream> #include <cuda.h> struct Add

    0热度

    1回答

    具体如何排序float3的数组?因此,.x组件是主要的分类标准,.y组件是次要分类标准,而.z组件是第三级分类标准。 有没有一个简单的解决方案,可以打一个电话cub:: DeviceRadixSort或thrust::sort_by_key? 目前我想也许我可以创建一个uint32键阵列,其中每个元素的前三分之一的数字取自输入数组的第一个三分之一的组成部分,第一个三分之一的数字取自第一个数字输入阵

    1热度

    1回答

    我有一个由float4数组表示的粒子池,其中w分量是粒子当前的生命周期[0,1]。 我需要根据粒子的寿命以降序对这个数组进行排序,这样我就可以为当前有多少粒子“活跃”(寿命大于0)保留一个精确计数器。我需要这个计数器,因为当我需要激活更多的粒子(随机发生)时,它将允许我索引到阵列中的正确位置。 我的微粒数组存储在设备内存中,似乎我应该能够对数组进行排序而不必将数组传输到主机内存。 我在网上找到例子

    1热度

    1回答

    当使用cub :: BlockRadixSort在块中进行排序时,如果元素数量太大,我们该如何处理?如果我们将图块大小设置得太大,临时存储的共享内存很快就无法存储。如果我们将它分成多个图块,我们如何在对每个图块进行排序后对其进行后处理?

    0热度

    1回答

    我试图并行实现多个top-k选择,其中每个选择从n个元素列表中选择k个元素,并且有m个这样的任务要并行执行。我使用幼崽来做到这一点。我有一个奇怪的错误,我不知道我做错了什么。我觉得我的理解可能会犯一些明显的错误,有人可以帮我检查一下吗? 编辑: 我把它通过增加两个cudaDeviceSynchronize()电话,每个包含free()两个代码段的前工作。所以,现在我的问题是,是否free行为不同于