Definición de GPGPU (chip)
GPGPU significa en inglés "General-Purpose computation on Graphics Processing Units". GPGPU es el uso de un chip GPU, que usualmente procesa sólo gráficos por computadora, para realizar operaciones generales de computación (tarea usualmente exclusiva del CPU). Se trata de aprovechar la capacidad del GPU más allá del simple procesamiento de gráficos.
Los GPU son diseñados para procesar cálculos y funciones gráficos, pero potencialmente pueden realizar otras operaciones también. GPGPU maximiza la eficiencia de procesamiento descargando algunas operaciones desde la CPU hacia la GPU. En este caso, en lugar de estar sin hacer nada cuando no procesa gráficos, la GPU estará disponible para otras tareas.
Los sistemas operativos modernos permiten a los programas acceder al GPU junto con la CPU, permitiendo mejorar su rendimiento. Además la GPU está optimizado para el procesamiento en el cálculo de vectores, por lo que pueden procesar ciertas instrucciones más rápidamente que la CPU.
GPGPU es un tipo de procesamiento paralelo, en el que las operaciones se procesan conjuntamente entre la CPU y la GPU.
Cuando la GPU finaliza un cálculo, el resultado puede ser almacenado en una memoria buffer (apenas milisegundos) y luego ser pasado a la CPU.
El popular OpenCL permite programar software para que tanto la CPU como la GPU compartan procesamiento. Otros similares son CUDA, una API de la empresa NVIDIA y APP, un SDK que provee la empresa AMD.
GPGPU es una tecnología en constante evolución y ha ganado gran popularidad en aplicaciones de alto rendimiento en áreas como la medicina, la ciencia, la ingeniería y la criptografía. Actualmente, hay muchos programas que aprovechan la potencia del GPGPU, como programas de simulación, minería de criptomonedas y procesamiento de imágenes médicas.
Sin embargo, es importante tener en cuenta que no todos los programas son adecuados para este tipo de procesamiento. Los programas que se benefician más del GPGPU son aquellos que realizan intensas operaciones matemáticas o gráficas, mientras que otros programas pueden no obtener una mejora significativa en su rendimiento.
En resumen, GPGPU es un enfoque innovador que utiliza la potencia del GPU para realizar tareas de procesamiento general, aprovechando su capacidad de procesamiento paralelo y la optimización que tiene para ciertas operaciones. Se espera que su uso continúe expandiéndose en el futuro y que se desarrollen nuevas aplicaciones que aprovechen su potencia.
Resumen: GPGPU
GPGPU significa "General-Purpose computation on Graphics Processing Units". Es el uso de un chip GPU para realizar operaciones generales de computación en lugar de solo procesar gráficos. Esto maximiza la eficiencia de procesamiento al descargar algunas operaciones desde la CPU hacia la GPU. Los sistemas operativos modernos permiten que la CPU y la GPU trabajen juntas, mejorando el rendimiento. La GPU es optimizada para el procesamiento de vectores y puede procesar ciertas instrucciones más rápido que la CPU. GPGPU es un tipo de procesamiento paralelo en el que tanto la CPU como la GPU trabajan juntas. OpenCL, CUDA y APP son ejemplos de tecnologías que permiten programar el uso compartido de procesamiento entre la CPU y la GPU.
¿Qué significa GPGPU?
GPGPU significa "General-Purpose computation on Graphics Processing Units", en español se traduce como "cómputo de propósito general en unidades de procesamiento gráfico".
¿En qué consiste el uso de GPGPU?
Consiste en aprovechar la capacidad de los chips de GPU, que están diseñados para procesar gráficos, para realizar operaciones generales de computación.
¿Cuál es la ventaja de utilizar GPGPU?
La ventaja de usar GPGPU es maximizar la eficiencia de procesamiento al descargar operaciones desde la CPU hacia la GPU, permitiendo que esta última esté disponible para otras tareas en lugar de estar inactiva.
¿Qué permiten los sistemas operativos modernos en relación al uso de GPU y CPU?
Los sistemas operativos modernos permiten a los programas acceder tanto al GPU como a la CPU, lo que permite mejorar el rendimiento al utilizar ambos procesadores en conjunto.
¿Cuál es una de las ventajas de la GPU en comparación con la CPU en términos de procesamiento de vectores?
La GPU está optimizada para el procesamiento de vectores, lo que le permite procesar ciertas instrucciones más rápidamente que la CPU en este tipo de cálculos.
¿Qué herramientas y APIs existen para programar utilizando GPGPU?
Existen herramientas como OpenCL, que permite programar software para que tanto la CPU como la GPU compartan procesamiento. Otras opciones incluyen CUDA, una API de NVIDIA, y APP, un SDK proporcionado por AMD.
Tecnologías empleadas en CPUs |
|
• Arquitectura |
• Harvard (Modified Harvard) • von Neumann • Dataflow • TTA |
• Conjunto de instrucciones |
• ASIP • CISC • EDGE • EPIC • MISC • MIPS • NISC • OISC • RISC • TRIPS • VLIW • ZISC |
• Tamaño de palabra (word) |
• 1 bit • 4 bit • 8 bit • 9 bit • 10 bit • 12 bit • 15 bit • 16 bit • 18 bit • 22 bit • 24 bit • 25 bit • 26 bit • 27 bit • 31 bit • 32 bit • 33 bit • 34 bit • 36 bit • 39 bit • 40 bit • 48 bit • 50 bit • 60 bit • 64 bit • 128 bit • 256 bit • 512 bit • bit variable |
• Ejecución (ciclo de instrucción) |
• Segmentación (pipelining): Bubble, Operand forwarding |
• Computación paralela |
• Paralelismo a nivel de Bit: bit-serial, palabra • Paralelismo a nivel de Instrucción: escalar, superescalar • Paralelismo de Datos: vector • Paralelismo a nivel de Memoria (MLP) • Paralelismo a nivel de Tareas: hilo de ejecución (thread) |
• Multihilo |
• Temporal multithreading • Simultaneous multithreading: HyperThreading |
• Taxonomía de Flynn |
• SISD • SIMD • MISD • MIMD (SPMD) • Modos de direccionamiento (addressing mode) |
• Tipos |
• Procesador digital de señales (DSP) • GPGPU • Microcontrolador • Unidad de procesamiento físico (PPU) • System on a chip (SoC) • Celular (cellular architecture) |
• Componentes |
• Unidad de generación de direcciones (address generation unit o AGU) |
• Gestión de energía |
• APM • ACPI • Escala de frecuencia dinámica (Dynamic frequency scaling) • Escala de tensión dinámica (Dynamic voltage scaling) • Gating de reloj (clock gating) |
• Seguridad por hardware de CPU |
• NX bit |
Autor: Leandro Alegsa
Actualizado: 18-06-2023
¿Cómo citar este artículo?
Alegsa, Leandro. (2023). Definición de GPGPU. Recuperado de https://www.alegsa.com.ar/Dic/gpgpu.php