Resultados de la búsqueda a petición "thrust"
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?
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, ...
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 ...
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 ...
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() ...
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. ...
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 ...
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 ...
¿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 ...
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 ...