clBLAS 和 ViennaCL 之间的区别?
Differences between clBLAS and ViennaCL?
查看那里的 OpenCL 库,我试图完全掌握每个库。一个特别的库是 clBLAS. Their website states that it implements BLAS level 1,2, & 3 methods. That is great but ViennaCL,它也有 BLAS 例程、线性代数求解器、支持 OpenCL 和 CUDA 后端,并且只是头文件。在我看来,目前似乎没有理由在 ViennaCL 上使用 clBLAS,但我想知道 是否有人有任何理由为什么会在 ViennaCL 上使用 clBLAS ?
虽然相似,但这是 this previous question 的扩展,比较 VexCL、Thrust 和 Boost.Compute。
clBlas 由 AMD 实现,因此可以希望它在 AMD 硬件上更快。这通常是供应商 BLAS 实现的唯一优势。不幸的是,这里似乎不是这种情况。
在 this talk ViennaCL 作者报告说,由于他们的自动调整框架,他们能够胜过 clBLAS,或者表现出类似的性能。
查看那里的 OpenCL 库,我试图完全掌握每个库。一个特别的库是 clBLAS. Their website states that it implements BLAS level 1,2, & 3 methods. That is great but ViennaCL,它也有 BLAS 例程、线性代数求解器、支持 OpenCL 和 CUDA 后端,并且只是头文件。在我看来,目前似乎没有理由在 ViennaCL 上使用 clBLAS,但我想知道 是否有人有任何理由为什么会在 ViennaCL 上使用 clBLAS ?
虽然相似,但这是 this previous question 的扩展,比较 VexCL、Thrust 和 Boost.Compute。
clBlas 由 AMD 实现,因此可以希望它在 AMD 硬件上更快。这通常是供应商 BLAS 实现的唯一优势。不幸的是,这里似乎不是这种情况。
在 this talk ViennaCL 作者报告说,由于他们的自动调整框架,他们能够胜过 clBLAS,或者表现出类似的性能。