¿Cuál es la diferencia entre "cpu" y "GPU"?
En primer lugar, debemos explicar qué significan las dos abreviaturas CPU y GPU. La CPU es la unidad central de procesamiento y la GPU es la unidad de procesamiento de gráficos.
La diferencia entre los dos radica en el sistema de caché y la estructura de la unidad de operación lógica digital en la memoria del chip: aunque la CPU tiene múltiples núcleos, el número total no excede los dos dígitos, y cada núcleo tiene suficiente caché y suficientes unidades de operación lógica y digital, complementadas con muchos juicios de rama acelerados por hardware y juicios lógicos aún más complejos;
La GPU tiene muchos más núcleos que la CPU, por lo que se la llama de muchos núcleos (Nvidia Fermi tiene 512 núcleos). El tamaño de caché de cada núcleo es relativamente pequeño y las unidades de operación lógica digital son pocas y simples (las GPU siempre son más débiles que las CPU en los cálculos de punto flotante desde el principio). Por lo tanto, las CPU son buenas para procesar tareas informáticas con pasos informáticos complejos y dependencias de datos complejas, como informática distribuida, compresión de datos, inteligencia artificial, simulación física y muchas otras tareas informáticas.
Por razones históricas, las GPU nacieron para los videojuegos (el principal motor fue el creciente mercado de los videojuegos). Una operación que ocurre a menudo en los juegos 3D es realizar la misma operación en datos masivos, como realizar la misma transformación de coordenadas en cada vértice y calcular el valor de color de cada vértice en función del mismo modelo de iluminación. La arquitectura de muchos núcleos de la GPU es muy adecuada para enviar el mismo flujo de instrucciones a muchos núcleos en paralelo y ejecutarlo con diferentes datos de entrada.
Alrededor de 2003-2004, los expertos en campos distintos a los gráficos comenzaron a notar las capacidades informáticas únicas de las GPU y comenzaron a intentar utilizarlas para la informática general (es decir, GPGPU). Más tarde, NVIDIA lanzó CUDA, AMD y Apple también lanzaron OpenCL, y las GPU comenzaron a usarse ampliamente en campos informáticos generales, que incluyen: análisis numérico, procesamiento masivo de datos (clasificación, Map-Reduce, etc.), análisis financiero, etc.