さっきのarticle、総計を求めるためだけに thrust::reduce を使いましたけど、Thrustはすっごく便利で使いでがあるんですよ。 たとえば thrust::device_vector<T> は cudaMalloc/cudaFree で取得/解放するデバイス・メモリーが可変長配列であるかのようにふるまってくれるクラス。 デバイス・メモリーがstd::vector<T> みたいに使えちゃう。 「モンテカルロで円周率」を Thrust色濃いメにre-writeしてみました。 ぱっと見これがCUDAとは思えぬコードができましたよ♪ /* DO NOT FORGET OPTION: --expt-extended-lambda */ // CUDA Runtime #include <cuda_runtime.h> #include <device_launch_paramete