C++ AMPを用いたGPUプログラミングwiki
首都大学東京 田川研究室
C++ AMP 目次へ

特定の領域へアクセスできるarray_viewを作ろう

array_viewというのは非常に便利です。データの転送に関する難しい処理はクラス内部で行ってくれて、どのデバイス(マルチGPU、CPUを含む)からも共通のarray_viewを用いてアクセスできます。
例えば、ある特定の領域のみにアクセスすればよい場合、そのような領域に対するarray_viewを作ることができます。パフォーマンス的にも有利に働くでしょう。
                array<int , 2> vAGpu(10,10);
                array_view<int , 2> vAf = vAGpu.section(5 , 5 , 2,2);
上記2行目のarray_viewクラス、vAfはvAGpuの(5,5)成分から、幅2、高さ2の領域へアクセスできるようになります。