Различия между clBLAS и ViennaCL?
Глядя на библиотеки OpenCL, я пытаюсь получить полное представление о каждой из них. В частности, одна библиотека - это clBLAS. Их веб-сайт утверждает, что он реализует методы уровня 1,2 и 3 BLAS. Это замечательно, но ViennaCL также имеет подпрограммы BLAS, решатели линейной алгебры, поддерживает бэкэнды OpenCL и CUDA и является только заголовком. В настоящий момент мне кажется, что нет причины использовать clBLAS вместо ViennaCL, но мне было интересно, есть ли у кого-нибудь причины, по которым можно использовать clBLAS вместо ViennaCL?
Хотя это и похоже, это должно быть продолжением предыдущего вопроса, сравнивая VexCL, Thrust и Boost.Compute.
1 ответ
clBlas реализован AMD, поэтому можно надеяться, что он будет быстрее на оборудовании AMD. Это, как правило, единственное преимущество реализации поставщика BLAS. К сожалению, здесь, похоже, это не так.
В этом выступлении авторы ViennaCL сообщают, что благодаря своей структуре автонастройки они могут либо опередить clBLAS, либо показать аналогичную производительность.