thrust

    0热度

    1回答

    我想用CUDA中的6个变量来解决使用推力的ODE。我的程序在这里。 #include <iostream> #include <cmath> #include <utility> #include <cstdlib> #include <thrust/device_vector.h> #include <thrust/reduce.h> #include <thrust/funct

    0热度

    1回答

    当我想执行浮动的阵列上减少我通常做到以下几点: float res = *thrust::max_element(thrust::device, thrust::device_ptr<float>(dDensities), thrust::device_ptr<float>(dDensities+numParticles) ); 但是我想现在做的是非常

    -2热度

    1回答

    class bead { int ID; __host__ __device__ bead(int id){ID=id}; } void main(void){ vector<bead*> beadvec; for(int i=0;i<128;i++){ bead* b1=new bead(i); beadvec.pushback(b1); } } 我不确定如何将指针矢量(

    1热度

    1回答

    我是新来的推力,但希望得到一个如何在并行排序情况。我有一个超大的gpu列表(1mil +),我试图将它们分类到各个cpu容器中,其中每个容器都有一个device_vector。这个想法是,我想将gpu列表分类到CPU容器拥有的各种device_vector中。 class GpuObject { int someData; int otherValue; }; clas

    0热度

    1回答

    我对推力::排序实现感兴趣。 使用哪种排序算法?它是否使用了gcc的所有权力以及哪种类型的并行性?

    3热度

    1回答

    使用Visual Studio 2017年和推力图书馆,我整理了以下程序: #include <thrust/iterator/counting_iterator.h> #include <thrust/iterator/transform_iterator.h> template<int c> struct computes_mod { auto operator()(int

    1热度

    1回答

    我重载操作以在vectorspace.cuh超过float3向量空间(以及类似的结构): // Boilerplate vector space over data type Pt #pragma once #include <type_traits> // float3 __device__ __host__ float3 operator+=(float3& a, const f

    1热度

    1回答

    我正在考虑以下简单代码,我将thrust::host_vector<int>::iterator h_temp_iterator = h_temp.begin();和thrust::device_vector<int>::iterator d_temp_iterator = d_temp.begin();转换为原始指针。 为此,我将&(h_temp_iterator[0])和&(d_temp_it

    -1热度

    1回答

    我有一个相当简单的cuda问题,看起来应该是一个简单的操作:根据第二个布尔值数组从第一个数组中删除元素。我采取的步骤是: 创建与处理的输入数组大小相同的bools的device_vector。 调用将从(1)中设置一些元素为真的内核 使用来自(2)的已处理数组的谓词调用输入数组上的remove_if。 对于设置为true的bool数组中的每个值,从输入数组中删除相应的元素。 我所看到的是输入数组没

    3热度

    2回答

    如果我有两个cudaMalloc ed数组,我可以通过交换相关指针来交换它们而无需记忆移动。 如果我有两个CUDA推力device_vectors,说d_a和d_b,我可以通过使用第三temorary向量交换他们,说d_c,但这将需要记忆的动作。 我的问题是:有没有办法将CUDA Thrust device_vectors交换为无内存移动?