C++ AMP (C++ Accelerated Massive Parallelism)

C++ AMP (C++ Accelerated Massive Parallelism) acelera la ejecución de código de C++ al aprovechar las ventajas del hardware de datos en paralelo que suele estar presente como una unidad de procesamiento gráfico (GPU) en una tarjeta gráfica discreta. El modelo de programación de C++ AMP incluye compatibilidad con matrices multidimensionales, indexación, transferencia de memoria y colocación en mosaico. También incluye una biblioteca de funciones matemáticas. Puede usar extensiones de lenguaje de C++ AMP para controlar cómo se mueven los datos de la CPU a la GPU y viceversa.

Nota:

Los encabezados de C++ AMP están en desuso a partir de la versión 17.0 de Visual Studio 2022. Si se incluyen encabezados AMP, se generarán errores de compilación. Defina _SILENCE_AMP_DEPRECATION_WARNINGS antes de incluir encabezados AMP para silenciar las advertencias.

Title Descripción
Información general sobre C++ AMP Describe las características clave de C++ AMP y la biblioteca matemática.
Uso de expresiones lambda, objetos de función y funciones restringidas Describe cómo usar expresiones lambda, objetos de función y funciones restringidas en llamadas al método parallel_for_each.
Uso de mosaicos Describe cómo usar iconos para acelerar el código de C++ AMP.
Uso de objetos accelerator y accelerator_view Describe cómo usar aceleradores para personalizar la ejecución del código en la GPU.
Uso de C++ AMP en aplicaciones de UWP Describe cómo usar C++ AMP en aplicaciones de la Plataforma universal de Windows (UWP) que usan tipos de Windows Runtime.
Gráficos (C++ AMP) Describe cómo usar la biblioteca de gráficos de C++ AMP.
Tutorial: Multiplicación de matrices Muestra la multiplicación de matrices mediante la colocación en mosaico y el código de C++ AMP.
Tutorial: Depurar una aplicación de C++ AMP Explica cómo crear y depurar una aplicación que usa la reducción paralela para sumar una gran matriz de enteros.

Referencia

Referencia (C++ AMP)
tile_static (Palabra clave)
restrict (C++ AMP)

Otros recursos

Blog de programación en paralelo en código nativo
Proyectos de C++ AMP de ejemplo para la descarga
Análisis de código de C++ AMP con el visualizador de simultaneidad