C++AMP

科技工作者之家 2020-11-17

C++ AMP是微软Visual Studio和C++编程语言的新扩展,用于帮助开发人员充分适应现在和未来的高度并行和异构计算环境。

简介C++ AMP是微软Visual Studio和C++编程语言的新扩展,用于帮助开发人员充分适应现在和未来的高度并行和异构计算环境。1

特性支持CPU/GPU共享内存

代码可在GPU上调试,亦可在CPU上模拟及调试GPU代码1

系统要求操作系统:Windows 7, Windows 8, Windows Server 2008 R2, 或者Windows Server 2012

支持DirectX 11或更新的硬件1

示范程序#include // C++ AMP 头文件#include using namespace concurrency; //C++ AMP 命名空间const int size = 5; // 定义数组大小void TestCPPAMP() { int aCPU[] = {1, 1, 1, 1, 1}; int bCPU[] = {3, 3, 3, 3, 3}; int cCPU[size]; // 定义C++ AMP封装对象 array_view a(size, aCPU); //a是aCPU在并行计算硬件(显卡)上的拷贝 array_view b(size, bCPU); array_view c(size, cCPU); parallel_for_each( // C++ AMP 并行代码 c.extent, // 定义并行计算的大小 [=](index idx) // [=]是lambda函数中的捕捉从句,index是数组下标 restrict(amp) // 通知编译器此处为C++ AMP代码 { c[idx] = a[idx] + b[idx]; } ); // 打印结果 for (int i = 0; i

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。