Różnice między VexCL, Thrust i Boost.Compute
Dzięki pobieżnemu zrozumieniu tych bibliotek wyglądają na bardzo podobne. Wiem, że VexCL i Boost.Compute używają OpenCl jako backendu (choć wersja VexCL w wersji 1.0 obsługuje także CUDA jako backend), a Thrust używa CUDA. Pomijając różne zalety, jaka jest różnica między nimi.
W szczególności, jaką przestrzeń problemową się zajmują i dlaczego chciałbym używać jednego nad drugim.
Również w FAQ na temat ciągu jest powiedziane, że
Podstawową barierą dla obsługi OpenCL jest brak kompilatora OpenCL i środowiska wykonawczego z obsługą szablonów C ++
Jeśli tak jest, jak to możliwe, że VexCL i Boost.Compute nawet istnieją.