Articles of cuda

OpenCV 2.4.3rc y CUDA 4.2: “Error de OpenCV: sin compatibilidad con GPU”

He subido varias capturas de pantalla en este álbum: http://imgur.com/a/w4jHc Estoy tratando de ejecutar GPU en OpenCV en Visual Studio 2008. Estoy ejecutando uno de los códigos de ejemplo de la GPU de OpenCV, bgfg_segm.cpp. Sin embargo, cuando compilo (sin errores de comstackción) arroja un “Error de OpenCV: No soporte GPU”. Windows 7, 32 bits […]

Error de enlace CUDA – Visual Express 2008 – nvcc fatal debido a un archivo de configuración (nulo)

He estado buscando exhaustivamente una posible solución a mi error durante las últimas 2 semanas. He instalado con éxito el comstackdor de Cuda de 64 bits (herramientas) y SDK, así como la versión de 64 bits de Visual Studio Express 2008 y Windows 7 SDK con Framework 3.5. Estoy usando Windows XP de 64 bits. […]

¿Cómo puedo verificar el progreso de la multiplicación de matrices?

Ahora solo necesito mostrar un progreso intermedio de la multiplicación de matrices. for(unsigned int col=0; col<mtxSize; col++) { unsigned tmp = 0; for(unsigned int row=0; row<mtxSize; row++) { for(unsigned int idx=0; idx<mtxSize; idx++) { tmp += h_A[col*mtxSize+idx] * h_B[idx*mtxSize+row]; } h_Rs[col*mtxSize+row] = tmp; tmp = 0; int rate_tmp = (col*mtxSize + (row+1))*100; // Maybe like […]

uso básico multi-GPU

¿Cómo puedo usar dos dispositivos para mejorar, por ejemplo, el rendimiento del siguiente código (sum de vectores)? ¿Es posible usar más dispositivos “al mismo tiempo”? En caso afirmativo, ¿cómo puedo gestionar las asignaciones de los vectores en la memoria global de los diferentes dispositivos? #include #include #include #include #include #define NB 32 #define NT 500 […]

¿Número entero de 128 bits en cuda?

Me las arreglé para instalar mi cuda SDK bajo Linux Ubuntu 10.04. Mi tarjeta gráfica es una NVIDIA geForce GT 425M, y me gustaría usarla para algunos problemas computacionales pesados. Lo que me pregunto es: ¿hay alguna forma de utilizar algunos int bits de 128 bits sin signo? Cuando uso gcc para ejecutar mi progtwig […]

Estructura de matrices frente a matriz de estructuras en CUDA

De algunos comentarios que he leído aquí, ¿por alguna razón es preferible tener Structure of Arrays ( SoA ) sobre Array of Structures ( AoS ) para implementaciones paralelas como CUDA? Si eso es cierto, ¿alguien puede explicar por qué? ¡Gracias por adelantado!

¿Cómo puedo implementar una función atómica personalizada que involucre varias variables?

Me gustaría implementar esta función atómica en CUDA: __device__ float lowest; // global var __device__ int lowIdx; // global var float realNum; // thread reg var int index; // thread reg var if(realNum < lowest) { lowest= realNum; // the new lowest lowIdx= index; // update the 'low' index } No creo que pueda hacer […]

¿Alguien puede proporcionar un código de muestra que demuestre el uso del punto flotante de 16 bits en cuda?

Cuda 7.5 admite variables de coma flotante de 16 bits. ¿Alguien puede proporcionar un código de muestra que demuestre su uso?

Copiar un objeto al dispositivo?

¿Puedo copiar un objeto C ++ al dispositivo? decir que tengo: class CudaClass { public: int* data; CudaClass(int x) { data = new int[1]; data[0] = x; } }; __global__ void useClass(CudaClass cudaClass) { printf(“%d” cudaClass.data[0]); }; int main() { CudaClass c(1); } Ahora, ¿cómo copio “c” en la memoria del dispositivo e inicio kernel […]

¿Cómo se dividen los bloques CUDA en warps?

Si comienzo mi kernel con una grilla cuyos bloques tienen dimensiones: dim3 block_dims(16,16); ¿Cómo se dividen ahora los bloques de malla en warps? ¿Las primeras dos filas de dicho bloque forman una urdimbre, o las dos primeras columnas, o se ordena arbitrariamente? Supongamos una capacidad de cálculo GPU de 2.0.