Descarga del controlador:El inicio de sesión del hipervínculo es visible. Kit de herramientas CUDA:El inicio de sesión del hipervínculo es visible. cuDNN:El inicio de sesión del hipervínculo es visible.
¿Qué es la GPU?
El concepto de GPU fue propuesto por Nvidia en 1999. Una GPU es un chip en una tarjeta gráfica, igual que una CPU es un chip en una placa base. ¿Así que no había GPUs en las tarjetas gráficas antes de 1999? Por supuesto que la hubo, pero nadie le puso nombre en ese momento, y no atrajo suficiente atención de la gente, y su desarrollo fue relativamente lento.
Desde que Nvidia propuso el concepto de GPU, las GPU han entrado en un periodo de rápido desarrollo. En resumen, ha pasado por las siguientes etapas de desarrollo:
1. Solo para renderizado gráfico, esta función es la intención original de las GPUs, que puede verse en su nombre: Unidad de Procesamiento Gráfico;
2. Más tarde se descubrió que era demasiado desperdiciador que un dispositivo tan potente como una GPU se usara solo para procesamiento gráfico, y que debía emplearse para realizar más trabajo, como operaciones en coma flotante. ¿Cómo hacerlo? No es posible dar operaciones de coma flotante directamente a la GPU porque solo puede usarse para procesamiento gráfico (en ese momento). Lo más sencillo es procesar operaciones de coma flotante, empaquetarlas en tareas de renderizado gráfico y luego entregarlas a la GPU. Este es el concepto de GPGPU (GPU de propósito general). Sin embargo, hay una desventaja en esto: debes tener cierto conocimiento de gráficos, de lo contrario no sabrás cómo hacer la maleta.
3. Por lo tanto, para permitir que quienes no entienden los gráficos experimenten el poder de la computación por GPU, Nvidia propuso el concepto de CUDA.
¿Qué es CUDA?
CUDA (ComputeUnified Device Architecture) es una plataforma informática lanzada por el fabricante de tarjetas gráficas NVIDIA. CUDA es una arquitectura de computación paralela de propósito general lanzada por NVIDIA. Contiene la arquitectura del conjunto de instrucciones CUDA y un motor de computación paralela dentro de la GPU. Puedes desarrollar programas CUDA usando un lenguaje CUDA C similar al lenguaje C, lo que facilita el uso de la potente potencia de cálculo de la GPU, en lugar de empaquetar la tarea de procesamiento en una tarea de renderizado gráfico y luego entregarla a la GPU para procesarla.
En otras palabras, CUDA es un marco de computación paralela lanzado por NVIDIA para sus propias GPUs, lo que significa que CUDA solo puede ejecutarse en las GPUs de NVIDIA, y solo puede desempeñar el papel de CUDA cuando el problema informático a resolver es que puede calcularse en un gran número de cálculos paralelos.
Ten en cuenta que no todas las GPUs soportan CUDA.
¿Qué es la CUDNN?
NVIDIA cuDNN es una biblioteca acelerada por GPU para redes neuronales profundas. Hace hincapié en el rendimiento, la facilidad de uso y la baja sobrecarga de memoria. NVIDIA cuDNN puede integrarse en frameworks de aprendizaje automático de mayor nivel como Tensorflow de Google, el popular software caffe de UC Berkeley. El diseño sencillo de plugins permite a los desarrolladores centrarse en diseñar e implementar modelos de redes neuronales en lugar de limitarse a ajustar el rendimiento, al tiempo que permite la computación paralela moderna de alto rendimiento en GPUs.
Si quieres entrenar un modelo con GPU, no se requiere cuDNN, pero generalmente se usa como biblioteca de aceleración.
¿Cuál es la relación entre CUDA y CUDNN?
CUDA se considera un banco de trabajo con muchas herramientas como martillos, destornilladores, etc. cuDNN es una biblioteca de aprendizaje profundo acelerada por GPU basada en CUDA, con la que se pueden realizar cálculos de aprendizaje profundo en GPUs. Es equivalente a una herramienta para trabajar, por ejemplo, es una llave inglesa. Pero cuando se compró el banco de trabajo CUDA, no proporcionó una llave inglesa. Para ejecutar una red neuronal profunda en CUDA, necesitas instalar cuDNN, igual que quieres atornillar una tuerca y comprar una llave inglesa. Esto permite que la GPU trabaje en redes neuronales profundas, lo cual es mucho más rápido que las CPUs.
|