我遇到了运行时错误:找不到或无法加载库cublas64_11.dll。我搜索后发现,我需要从源代码编译它,以使其支持12.1 CUDA。
在Windows上如何操作?文档中只提到了Linux。
6rvt4ljy1#
你可以在ctranslate2源目录下的python/tools中查看Windows编译脚本。它应该使用类似于Linux的shell环境来为Windows(如msys2)进行编译。当我编译它时,我直接使用了cmd终端。以下是简要描述,主要内容与上述脚本相似。
安装Visual Studio 2022
从官方网站安装Intel MKL、Nvidia CudaToolkit和Cudnn。重要提示!在安装cudnn时,你可以参考pdf文件将cudnn和cuda的bin、include、lib目录合并,否则在cmake阶段无法找到cudnn库。
安装oneDNN(可以参考prepare_build_environment_windows.sh脚本,使用cmake进行编译)
将源代码克隆到D盘
打开由Intel mkl提供的构建环境“Intel oneAPI命令提示符 for Intel 64 for Visual Studio 2022”。
cmake配置
djmepvbi2#
你好,@seclog,@panosk。根据上述指示,我已经修改了我的cmake命令,仅使用DNNL而不使用CUDA,如下所示:
`cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CTRANSLATE2_ROOT% -DWITH_DNNL=ON ..`
在构建完成后,我按照prepare_build_environment_windows.sh中的说明操作,将DLL文件复制到了python/ctranslate2/文件夹。
python/ctranslate2/
稍后,当我完成pip安装后,我发现dlls作为ctranslate2包的site-packages目录的一部分存在。然而,当我尝试在代码中导入ctranslate2包时,我遇到了DLL未找到的错误,如下图所示。
我复制的DLL列表如下:
请问您能建议我如何解决这个问题,以便让导入运行吗?此外,我已经从我的机器上卸载了CUDA,因为我的优先级是使用DNNL并保留了dll。
谢谢!
0vvn1miw3#
我通过将所有 .dlls 从 oneapi/compiler 目录复制到 site-packages/ctranslate2/ 目录来解决了上述问题。这有所帮助,不再出现上述导入错误。如果有其他建议,请不吝赐教,因为我觉得自己做的更多的是一种粗糙的方法/权宜之计。
oneapi/compiler
site-packages/ctranslate2/
3条答案
按热度按时间6rvt4ljy1#
你可以在ctranslate2源目录下的python/tools中查看Windows编译脚本。
它应该使用类似于Linux的shell环境来为Windows(如msys2)进行编译。当我编译它时,我直接使用了cmd终端。以下是简要描述,主要内容与上述脚本相似。
安装Visual Studio 2022
从官方网站安装Intel MKL、Nvidia CudaToolkit和Cudnn。
重要提示!在安装cudnn时,你可以参考pdf文件将cudnn和cuda的bin、include、lib目录合并,否则在cmake阶段无法找到cudnn库。
安装oneDNN(可以参考prepare_build_environment_windows.sh脚本,使用cmake进行编译)
将源代码克隆到D盘
打开由Intel mkl提供的构建环境“Intel oneAPI命令提示符 for Intel 64 for Visual Studio 2022”。
cmake配置
djmepvbi2#
你好,@seclog,@panosk。根据上述指示,我已经修改了我的cmake命令,仅使用DNNL而不使用CUDA,如下所示:
在构建完成后,我按照prepare_build_environment_windows.sh中的说明操作,将DLL文件复制到了
python/ctranslate2/
文件夹。稍后,当我完成pip安装后,我发现dlls作为ctranslate2包的site-packages目录的一部分存在。然而,当我尝试在代码中导入ctranslate2包时,我遇到了DLL未找到的错误,如下图所示。
我复制的DLL列表如下:
请问您能建议我如何解决这个问题,以便让导入运行吗?此外,我已经从我的机器上卸载了CUDA,因为我的优先级是使用DNNL并保留了dll。
谢谢!
0vvn1miw3#
我通过将所有 .dlls 从
oneapi/compiler
目录复制到site-packages/ctranslate2/
目录来解决了上述问题。这有所帮助,不再出现上述导入错误。如果有其他建议,请不吝赐教,因为我觉得自己做的更多的是一种粗糙的方法/权宜之计。