これらのライブラリをざっと理解しただけでは、それらは非常に似ているように見えます。VexCL と Boost.Compute はバックエンドとして OpenCl を使用し (v1.0 リリースの VexCL はバックエンドとして CUDA もサポートしていますが)、Thrust は CUDA を使用することを知っています。さまざまなバックエンドは別として、これらの違いは何ですか。
具体的には、どのような問題領域に対処し、なぜ一方を他方よりも優先して使用する必要があるのか.
また、Thrust FAQ には、次のように記載されています。
OpenCL サポートの主な障壁は、C++ テンプレートをサポートする OpenCL コンパイラとランタイムがないことです。
この場合、VexCL と Boost.Compute が存在する可能性はありますか。