¿Qué (bloques de hardware) hace que las GPU sean buenas para el aprendizaje profundo (qué tipo de cálculo)?

El alto conteo de núcleos y el ancho de banda combinados con baja latencia dado el patrón de acceso de memoria combinado apropiado.

A diferencia de otra respuesta, argumentaría que los GPGPU-s modernos son capaces de ejecutar núcleos bastante complejos. De hecho, a partir de CUDA 7.5 hay poca restricción en el estándar C ++ 11.

Debido a que son procesadores de flujo de diseño, el código debe ajustarse al paradigma dado para ser eficiente. Sin embargo, puede optar por distribuir los datos entre muchas GPU-s si los parámetros de su modelo son pequeños u opcionalmente diseñar el flujo de trabajo de otra manera: tener parámetros de modelo muy grandes dentro de la memoria de la GPU y transmitir los datos a través de ella a una velocidad de transferencia PCI.

Si bien el uso de un dispositivo CUDA para la multiplicación de matrices hace que las cosas sean más rápidas, no aprovecha al máximo la potencia de cálculo. Esto se debe a que no solo tiene que leer los datos con cada invocación del núcleo, sino que también los volcará en alguna parte. Reduciendo el almacenamiento disponible y el ancho de banda a la mitad.

Grandes multiplicaciones matriciales.

Las GPU tienen muchos núcleos pequeños que tienen un gran ancho de banda de procesamiento combinado, pero solo pueden realizar tareas bastante simples, y todos deben estar ejecutando el mismo programa en su mayor parte. Eso los hace altamente eficientes en multiplicaciones de matrices grandes.

More Interesting

¿Cuáles son ejemplos de problemas que se creía que eran NP completos pero que en realidad son P?

¿Qué idioma entiende la computadora?

¿Cuál es la diferencia entre una combinación 'perfecta' y una combinación 'estable'?

¿Cuáles son los casos documentados conocidos en los que un gato que camina por el teclado causó una interrupción importante en el servicio en línea o en el sistema informático?

¿Cuáles son algunos libros, enlaces y sitios web que puedo usar para enseñarme ciencia de datos y aprendizaje automático?

¿Hay un límite para el archivo robots.txt?

¿Qué cosas geniales hiciste como geek?

¿Dónde empiezo a aprender sobre el aprendizaje automático si no tengo ningún conocimiento al respecto?

¿Debo ir por contabilidad o ciencias de la computación?

Cómo demostrar que el problema de la camarilla es NP completo

¿Qué es mejor fontanería o informática?

¿Cuál es la diferencia entre sincronización de procesos y punto muerto? Si hay sincronización, ¿ocurrirá un punto muerto o no?

¿Cuál es la mejor práctica para 'portar' modelos de Machine Learning (especialmente aprendizaje profundo) de Python a sistemas integrados para aplicaciones como visión artificial?

En teoría, ¿podría una máquina Turing de inteligencia sobrehumana no ser un desarrollo de un solo hombre? ¿Podría ser construido solo por varias personas juntas?

¿Podría alguien en el futuro hacer un chip de inteligencia artificial de computadora que mejore el atractivo?