簡體   English   中英

pip在windows上安裝pycuda

[英]pip install pycuda on windows

我正在使用VS2008,Win XP,最新的CUDA工具包。 我在Windows上運行pip install pycuda並從C:\\ Documents and Settings \\ User \\ Application Data \\ pip \\ pip.log獲取以下日志

我收到錯誤

鏈接:致命錯誤LNK1181:無法打開輸入文件'cuda.lib'

錯誤:命令'“C:\\ Program Files \\ Microsoft Visual Studio 9.0 \\ VC \\ BIN \\ link.exe”'失敗,退出狀態為1181

我想我需要為cuda lib指定一些路徑變量,但是我不明白什么變量以及為什么它在cuda toolkit的安裝過程中沒有設置。

更新:我想解決這個問題從這里安裝prebuild pycuda,但也許它會工作得更慢,因為它沒有在我的機器上編譯。

如果有人還在尋找答案:

configure.py生成一個siteconf.py文件,其中包含用於編譯pycuda的CUDA .lib文件的路徑。 但是,它使用不正確的路徑(至少在Windows上和使用工具包V7.5時)。

現在這可以通過多種方式修復(確保你已經下載了pycuda包並在某處解壓縮):

1.修改setup.py

這是罪魁禍首所在。 這些是它目前使用的路徑:

default_lib_dirs = [
    "${CUDA_ROOT}/lib", "${CUDA_ROOT}/lib64",
    # https://github.com/inducer/pycuda/issues/98
    "${CUDA_ROOT}/lib/stubs", "${CUDA_ROOT}/lib64/stubs",
    ]

目前,Nvidia使用CUDA_PATH作為環境變量,.lib文件存儲在單獨的x64或Win32文件夾中。 您可以將這些路徑添加到數組中,也可以刪除不正確的路徑

default_lib_dirs = ["${CUDA_PATH}/lib/x64", "${CUDA_PATH}/lib/Win32"]

現在運行py configure.py來生成siteconf.py文件。

2.覆蓋configure.py生成的設置

如上所述,configure.py生成siteconf.py文件。 您可以使用可選參數調用configure.py來覆蓋默認庫文件夾(我們在setup.py中定義的文件夾)。 運行configure.py --help后的部分輸出

--cudadrv-lib-dir=DIR
    Library directories for Cudadrv (default:
    ${CUDA_PATH}/lib/x64) (several ok)
--cudadrv-libname=LIBNAME
    Library names for Cudadrv (without lib or .so)
    (default: cuda) (several ok)
--cudart-lib-dir=DIR  Library directories for Cudart (default:
    ${CUDA_PATH}/lib/x64) (several ok)
--cudart-libname=LIBNAME
    Library names for Cudart (without lib or .so)
    (default: cudart) (several ok)
--curand-lib-dir=DIR  Library directories for Curand (default:
    ${CUDA_PATH}/lib/x64) (several ok)
--curand-libname=LIBNAME
    Library names for Curand (without lib or .so)
    (default: curand) (several ok)

3.直接修改siteconf.py

最簡單的方法。 只需運行py configure.py以生成具有默認路徑的siteconf.py文件,然后再編輯該文件。
后來我發現這兩個頁面都建議這樣做: https//kerpanic.wordpress.com/2015/09/28/pycuda-windows-installation-offline/ https://wiki.tiker.net/PyCuda/Installation/視窗

完成安裝

要將其全部打包,請運行以下命令編譯並安裝pycuda:

py setup.py build
py setup.py install

(這將使用以前生成/修改的siteconf.py文件)。

而已 :)

(如果你想知道為什么我寫下了所有3個方法而不是最簡單的方法,我實際上在setup.py文件中使用了default_lib_dirs之后發現了siteconf.py和configure.py文件。兩個網站鏈接,我發現那些人工解決問題后)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM