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

C++ AMP (C++ Accelerated Massive Parallelism) 利用数据并行硬件(通常作为独立显卡上的图形处理单元 (GPU) 存在)来加速 C++ 代码的执行。 C++ AMP 编程模型包括多维数组、索引、内存传输和平铺的支持。 它还包括数学函数库。 可以使用 C++ AMP 语言扩展来控制如何在 CPU 与 GPU 之间来回移动数据。

注意

从 Visual Studio 2022 版本 17.0 开始,已弃用 C++ AMP 标头。 包含任何 AMP 标头都会导致生成错误。 应在包含任何 AMP 标头之前定义 _SILENCE_AMP_DEPRECATION_WARNINGS,以使警告静音。

Title 说明
C++ AMP 概述 描述 C++ AMP 和数学库的主要功能。
使用 Lambda 表达式、函数对象和受限函数 描述如何在调用 parallel_for_each 方法时使用 Lambda 表达式、函数对象和受限功能。
使用平铺 描述如何使用磁贴加速执行 C++ AMP 代码。
使用 accelerator 和 accelerator_view 对象 描述如何使用加速器自定义 GPU 上的代码执行。
在 UWP 应用中使用 C++ AMP 描述如何在使用 Windows 运行时类型的通用 Windows 平台 (UWP) 应用中使用 C++ AMP。
图形 (C++ AMP) 描述如何使用 C++ AMP 图形库。
演练:矩阵乘法 使用 C++ AMP 代码和平铺演示矩阵乘法。
演练:调试 C++ AMP 应用程序 介绍如何创建和调试使用并行归约来对大型整数数组求和的应用程序。

参考

参考 (C++ AMP)
tile_static 关键字
restrict (C++ AMP)

其他资源

本机代码中的并行编程博客
用于下载的 C++ AMP 示例项目
使用并发可视化工具分析 C++ AMP 代码