仅出于好奇,CuBLAS是一个基本矩阵计算库。但通常情况下,这些计算也可以轻松地使用普通的Cuda代码编写,而不必使用CuBLAS。那么,CuBLAS库和您自己编写的矩阵计算Cuda程序之间的主要区别是什么?
老实说,在这一点上,我可能只能数出实际上实现自己的密集线性代数例程而不是调用cuBLAS的开发人员的数量。当您学习CUDA时,这是一个好的练习,但对于生产代码而言,最好使用一个库。
(披露:我领导CUDA Library团队)
有几个原因可以选择使用库而不是编写自己的实现。以下是我能想到的三个:
以上内容不仅与cuBLAS相关:如果你在一个受到良好支持的库中有一个方法,相对于使用自己的实现,你可能会节省很多时间并获得更好的性能。