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.
- ¿Cuál es el mejor sistema operativo en caso de seguridad?
- Cómo instalar aplicaciones de terceros en Ubuntu 16.04
- Teletransportación: ¿Cuánta memoria de computadora necesitaríamos para registrar y reproducir la ubicación exacta de todos los átomos en nuestro cuerpo?
- ¿Por qué la longitud de palabra de una computadora tiene el poder de 2?
- ¿Cuál es la diferencia entre algoritmos y heurística?
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.