Boost.Compute v0.1

Boost.Compute v0.1 Released - boost.devel

GPGPUと並列プログラミングのためのライブラリ、Boost.Computeのv0.1がリリースされました。Boostに正式に入っているライブラリではありません。

#include <vector>

#include <boost/compute/algorithm/copy.hpp>
#include <boost/compute/container/vector.hpp>

namespace compute = boost::compute;

int main()
{
    // ホスト環境に配列を作る
    int host_data[] = { 1, 3, 5, 7, 9 };

    // デバイス上にvectorを作る
    compute::vector<int> device_vector(5);

    // ホストからデバイスにデータをコピーする
    compute::copy(host_data,
                  host_data + 5,
                  device_vector.begin());

    // ホスト上にvectorを作る
    std::vector<int> host_vector(5);

    // デバイスからホストにデータを戻す
    compute::copy(device_vector.begin(),
                  device_vector.end(),
                  host_vector.begin());

    return 0;
}

このライブラリは、OpenCLをラップして作られています。