Cuda 什么是libcublasLt.so(不是libcublas.so)?

Cuda 什么是libcublasLt.so(不是libcublas.so)?,cuda,nvidia,Cuda,Nvidia,我正在使用pgf95 Fortran编译器编译源代码 如果我使用cuda 10.0,它会成功编译源代码 但是,如果我使用CUDA10.1,它无法显示“找不到libcublasLt.so” 当我扫描目录cuda-10.0/lib64、cuda-10.1/lib64时,它们都没有以“libcublasLt”开头的文件 如何解决此问题?libcublasLt.so是为已定义的cublasLt API提供实现的库。它恰好是libcublas.so中的一个单独的共享对象 在过去,例如CUDA 10.0及之

我正在使用pgf95 Fortran编译器编译源代码

如果我使用cuda 10.0,它会成功编译源代码

但是,如果我使用CUDA10.1,它无法显示“找不到libcublasLt.so”

当我扫描目录cuda-10.0/lib64、cuda-10.1/lib64时,它们都没有以“libcublasLt”开头的文件

如何解决此问题?

libcublasLt.so是为已定义的cublasLt API提供实现的库。它恰好是libcublas.so中的一个单独的共享对象

在过去,例如CUDA 10.0及之前的版本中,大多数CUDA库默认安装在/usr/local/CUDA/lib64或linux上的类似版本中。大约在CUDA 10.1的时间范围内,决定在不同的地方安装一些库。CUDA10.1也是引入cublasLt API和库的地方。这影响了一些cublas库,CUDA 10.1发行说明中讨论了cublasLt库的引入以及库位置的变化

因此,CUDA 10.1和CUDA 10.2有两种可能性:

libcublasLt.so在您的机器上,但它根本不是您希望找到它的地方

libcublasLt.so不在您的机器上。这意味着您使用的是Cubda版本,在引入cublasLt API(即10.0或更高版本)之前,或者安装失败

因此,假设您正在使用CUDA 10.1或CUDA 10.2,第一步是定位/确定libcublasLt.So是否在您的机器上。您可以使用像find或locate这样的linux实用程序来实现这一点。他们应该为您提供手册页

如果您可以找到它,那么您需要通过链接器规范提供它的路径,例如-L/path/to/libcublasLt.so/

如果您找不到它,那么您可能正在使用CUDA 10.0或更早版本,或者您需要重新安装CUDA

我相信当您访问CUDA11.0时,CUDA软件包将cublas库与其他库一起放回/usr/local/CUDA/lib64。YMMV.

libcublasLt.so是为定义的cublasLt API提供实现的库。它恰好是libcublas.so中的一个单独的共享对象

在过去,例如CUDA 10.0及之前的版本中,大多数CUDA库默认安装在/usr/local/CUDA/lib64或linux上的类似版本中。大约在CUDA 10.1的时间范围内,决定在不同的地方安装一些库。CUDA10.1也是引入cublasLt API和库的地方。这影响了一些cublas库,CUDA 10.1发行说明中讨论了cublasLt库的引入以及库位置的变化

因此,CUDA 10.1和CUDA 10.2有两种可能性:

libcublasLt.so在您的机器上,但它根本不是您希望找到它的地方

libcublasLt.so不在您的机器上。这意味着您使用的是Cubda版本,在引入cublasLt API(即10.0或更高版本)之前,或者安装失败

因此,假设您正在使用CUDA 10.1或CUDA 10.2,第一步是定位/确定libcublasLt.So是否在您的机器上。您可以使用像find或locate这样的linux实用程序来实现这一点。他们应该为您提供手册页

如果您可以找到它,那么您需要通过链接器规范提供它的路径,例如-L/path/to/libcublasLt.so/

如果您找不到它,那么您可能正在使用CUDA 10.0或更早版本,或者您需要重新安装CUDA


我相信当您访问CUDA11.0时,CUDA软件包将cublas库与其他库一起放回/usr/local/CUDA/lib64。YMMV.

这意味着10.0根本没有libcublasLt.so?嗯。。。我理解你的第二点libcublasLt.so不在你的机器上。这意味着您使用的是Cubda版本,在引入cublasLt API之前,即10.0或之前版本,因为10.0没有该版本。问题是,我需要它来编译库,但找不到10.0的文件。是的,你说得对,我错了。cublasLt API是在CUDA 10.1 see中引入的,但在CUDA 10.0 see中不可用。我删除了我以前的评论,因为它是不正确的/误导性的。这意味着10.0没有libcublasLt。所以呢?嗯。。。我理解你的第二点libcublasLt.so不在你的机器上。这意味着您使用的是Cubda版本,在引入cublasLt API之前,即10.0或之前版本,因为10.0没有该版本。问题是,我需要它来编译库,但找不到10.0的文件。是的,你说得对,我错了。cublasLt API是在CUDA 10.1 see中引入的,但在CUDA 10.0 see中不可用。我删除了我以前的评论,因为它不正确/具有误导性。