graphics activar - ¿Puedo ejecutar CUDA en el procesador de gráficos integrado de Intel?




rendimiento cs5 (5)

Si está interesado en aprender un idioma que admita el paralelismo masivo, vaya a OpenCL ya que no tiene una GPU NVIDIA. Puede ejecutar OpenCL en CPU Intel, pero en el mejor de los casos puede aprender a programar SIMDs . La optimización en CPU y GPU es diferente. Realmente no creo que puedas usar la tarjeta Intel para GPGPU .

Tengo un portátil Toshiba muy simple con procesador i3. Además, no tengo ninguna tarjeta gráfica costosa. En la configuración de pantalla, veo los gráficos Intel (HD) como adaptador de pantalla. Estoy planeando aprender algo de programación de cuda. Pero, no estoy seguro, si puedo hacer eso en mi computadora portátil, ya que no tiene ninguna GPU NVIDIA compatible con cuda.

De hecho, dudo, si incluso tengo una GPU o_o

Entonces, agradecería que alguien me diga si puedo hacer la programación de CUDA con la configuración actual y, si es posible, también dígame qué significa Intel (HD) Graphics .


El grupo Portland tiene un producto comercial llamado CUDA x86, es un compilador híbrido que crea el código CUDA C / C ++ que puede ejecutarse en una GPU o usar SIMD en la CPU, esto se hace de manera totalmente automática sin ninguna intervención del desarrollador. Espero que esto ayude.

Enlace: http://www.pgroup.com/products/pgiworkstation.htm


En la actualidad, los chips gráficos Intel no son compatibles con CUDA. Es posible que, en el futuro cercano, estos chips admitan OpenCL (que es un estándar que es muy similar a CUDA), pero esto no está garantizado y sus controladores actuales tampoco son compatibles con OpenCL. (Hay un Intel OpenCL SDK disponible, pero, en este momento, no le da acceso a la GPU).

Los procesadores Intel más nuevos (Sandy Bridge) tienen una GPU integrada en el núcleo de la CPU. Su procesador puede ser una versión de generación anterior, en cuyo caso "gráficos Intel (HD)" es un chip independiente.


Intel HD Graphics es generalmente el chip gráfico de la CPU en los procesadores Core i3 / i5 / i7 más nuevos.

Hasta donde yo sé, no es compatible con CUDA (que es una tecnología patentada de NVidia), pero OpenCL cuenta con el respaldo de NVidia, ATi e Intel.


La GTX 580 puede tener 16 * 48 warps simultáneos (32 hilos cada uno) que se ejecutan a la vez. Eso es 16 multiprocesadores (SM) * 48 urdimbres residentes por SM * 32 hilos por urdimbre = 24.576 hilos.

No confundas la concurrencia y el rendimiento. El número anterior es la cantidad máxima de hilos cuyos recursos se pueden almacenar en el chip simultáneamente: el número que puede ser residente . En términos de CUDA también llamamos a esta ocupación máxima. El hardware cambia constantemente entre urdimbres para ayudar a cubrir u "ocultar" la latencia (grande) de los accesos a la memoria, así como también la (pequeña) latencia de las tuberías aritméticas.

Si bien cada SM puede tener 48 urdimbres residentes, solo puede emitir instrucciones de un número pequeño (en promedio, entre 1 y 2 para GTX 580, pero depende de la combinación de instrucciones del programa) de urdimbres en cada ciclo de reloj.

Por lo tanto, probablemente sea mejor que compare el rendimiento, que está determinado por las unidades de ejecución disponibles y por la forma en que el hardware es capaz de realizar múltiples problemas. En GTX580, hay 512 unidades de ejecución FMA, pero también unidades enteras, unidades de funciones especiales, unidades de instrucciones de memoria, etc., que pueden ser de doble emisión (es decir, emiten instrucciones independientes de 2 warps simultáneamente) en varias combinaciones.

Sin embargo, tomar en cuenta todo lo anterior es demasiado difícil, por lo que la mayoría de las personas se compara en dos parámetros:

  1. Peak GFLOP / s (que para GTX 580 es de 512 unidades FMA * 2 fracasos por FMA * 1544e6 ciclos / segundo = 1581.1 GFLOP / s (precisión simple))
  2. Rendimiento medido en la aplicación que le interesa.

La comparación más importante siempre es el tiempo de reloj de pared medido en una aplicación real.







graphics cuda gpu gpu-programming