Wenn ich mir die OpenCL-Bibliotheken dort anschaue, versuche ich, jeden einzelnen zu verstehen. Eine Bibliothek ist insbesondere clBLAS . Ihre Website gibt an, dass sie BLAS Level 1,2, & amp; 3 Methoden. Das ist großartig, aber ViennaCL hat auch BLAS-Routinen, lineare Algebra-Löser, unterstützt OpenCL- und CUDA-Backends und ist nur Header. Im Moment scheint es, als ob es keinen Grund gibt, clBLAS über ViennaCL zu verwenden, aber ich habe mich gefragt, ob irgendjemand irgendwelche Gründe hatte, warum man clBLAS über ViennaCL verwenden sollte ? p>
Obwohl dies ähnlich ist, ist dies eine Erweiterung von dieser vorherigen Frage Vergleichen von VexCL, Thrust und Boost.Compute.
clBlas wird von AMD implementiert, daher kann man hoffen, dass es auf AMD-Hardware schneller sein wird. Dies ist normalerweise der einzige Vorteil von BLAS-Implementierungen von Anbietern. Leider scheint dies hier nicht der Fall zu sein.
In dieser Diskussion berichten ViennaCL-Autoren, dass sie aufgrund ihres Autotuning-Frameworks in der Lage sind ClBLAS zu übertreffen, oder ähnliche Leistung zeigen.