Resultados de la búsqueda a petición "thrust"

2 la respuesta

Obteniendo CUDA Thrust para usar una transmisión CUDA de su elección

Al observar los lanzamientos de kernel dentro del código de CUDA Thrust, parece que siempre usan la secuencia predeterminada. ¿Puedo hacer que Thrust use una transmisión de mi elección? ¿Me estoy perdiendo algo en la API?

1 la respuesta

Empuje Ordenar por clave sobre la marcha o enfoque diferente?

Me preguntaba si es posible ordenar por claves usando Thrust Library sin la necesidad de crear un Vector para almacenar las claves (sobre la marcha). Por ejemplo, tengo los siguientes dos vectores: claves y valores: vectorKeys: 0, 1, 2, 0, 1, 2, ...

1 la respuesta

Ordenar píxeles de opengl usando CUDA y Thrust

Procesé una escena con opengl (también puedo convertirla en una textura) Quiero usar CUDA / Thrust para ordenar esta imagen renderizada ¿Cómo vinculo la textura que hice a partir de: cudaGraphicsGLRegisterImage para utilizarla mediante ...

2 la respuesta

Cómo copiar asincrónicamente la memoria del host al dispositivo utilizando flujos de empuje y CUDA

Me gustaría copiar la memoria del host al dispositivo usando empuje como en thrust::host_vector<float> h_vec(1 << 28); thrust::device_vector<float> d_vec(1 << 28); thrust::copy(h_vec.begin(), h_vec.end(), d_vec.begin());usando transmisiones de ...

1 la respuesta

Empuje equivalente del código Open MP

El código que estoy tratando de paralelizar en mp abierto es un Monte Carlo que se reduce a algo como esto: int seed = 0; std::mt19937 rng(seed); double result = 0.0; int N = 1000; #pragma omp parallel for for(i=0; x < N; i++) { result += rng() ...

1 la respuesta

Cómo implementar bucles anidados en el empuje de Cuda

Actualmente tengo que ejecutar un bucle anidado de la siguiente manera: for(int i = 0; i < N; i++){ for(int j = i+1; j <= N; j++){ compute(...)//some calculation here } }He intentado dejar el primer bucle enCPU y hacer el segundo bucle enGPU. ...

1 la respuesta

El código de empuje simple funciona aproximadamente la mitad de rápido que mi ingenuo núcleo de Cuda. ¿Estoy usando Thrust mal?

Soy bastante nuevo en Cuda y Thrust, pero mi impresión fue que Thrust, cuando se usa bien, se supone que ofrece un mejor rendimiento que los núcleos de Cuda escritos ingenuamente. ¿Estoy usando Thrust de una manera subóptima? A continuación se ...

1 la respuesta

Clasificación de vértices empaquetados con empuje

Entonces tengo una matriz de dispositivos de estructuras PackedVertex: struct PackedVertex { glm::vec3 Vertex; glm::vec2 UV; glm::vec3 Normal; }Estoy tratando de ordenarlos para que los duplicados se agrupen en la matriz; No me importa el orden ...

1 la respuesta

¿Cómo pasar una matriz de vectores al núcleo de Cuda?

Ahora tengo thrust::device_vector<int> A[N];y mi función kernel __global__ void kernel(...) { auto a = A[threadIdx.x]; }Sé que a través de thrust :: raw_pointer_cast podría pasar un device_vector al kernel. Pero, ¿cómo podría pasarle una matriz ...

3 la respuesta

Combinando dos listas por clave usando Thrust

Dadas dos listas de valores clave, estoy tratando de combinar los dos lados haciendo coincidir las teclas y aplicando una función a los dos valores cuando las teclas coinciden. En mi caso quiero multiplicar los valores. Un pequeño ejemplo para ...