C++ AMP 已被微软弃用,不建议新项目使用;CUDA 是目前最成熟、资料最丰富的 GPU 编程方案,但仅支持 NVIDIA 显卡,入门推荐从 CUDA 开始。
直接说结论:C++ AMP 已被微软弃用,不建议新项目使用;CUDA 是目前最成熟、资料最丰富的 GPU 编程方案,但仅
支持 NVIDIA 显卡。入门推荐从 CUDA 开始。
第一步是装好 NVIDIA 驱动、CUDA Toolkit(官网下载安装包,选匹配驱动的版本),再配好编译器(如 Visual Studio 或 g++)。写代码时注意后缀用 .cu,不是 .cpp,因为 nvcc 编译器要识别 CUDA 语法。
add>>(d_a, d_b, d_c); 表示 1 个线程块、每块 4 个线程GPU 显存和 CPU 内存是分开的,必须显式拷贝数据。常见操作有:
cudaMemcpyHostToDevice 这类宏指定cudaGetLastError() 或封装成宏,否则出错不报、结果不对很难排查核心逻辑就三步:分配显存 → 拷贝输入到 GPU → 启动核函数 → 拷贝结果回 CPU。
int idx = threadIdx.x; 定位当前线程处理的下标if (idx ),避免越界——线程数可能比数组长度多
微软 2017 年起停止更新 C++ AMP,Visual Studio 2025 已移除相关支持。它语法更像 C++(比如用 array_view、parallel_for_each),但生态弱、文档少、不跨平台。除非维护老项目,否则跳过即可。
基本上就这些。CUDA 入门不复杂但容易忽略内存拷贝和错误检查,动手写两遍向量加法,再试试矩阵乘,节奏就稳了。