С просто беглым пониманием этих библиотек они выглядят очень похожими. Я знаю, что VexCL и Boost.Compute используют OpenCl в качестве бэкэнд (хотя версия V1.0 VexCL также поддерживает CUDA в качестве бэкэнд), а Thrust использует CUDA. Помимо разных бэкендов, какая разница между ними.
В частности, какое пространство проблем они адресуют и почему я хочу использовать один над другим.
Кроме того, в FAQ Thrust указано, что
Основным препятствием для поддержки OpenCL является отсутствие компилятора OpenCL и среды выполнения с поддержкой шаблонов С++
Если это так, то как возможно, что VexCL и Boost.Compute даже существуют.