pip installer pycuda sur les fenêtres

J’utilise VS2008, Win XP, la dernière boîte à outils CUDA. Je lance py install pycuda sur Windows et obtenir le journal suivant à partir de C: \ Documents and Settings \ Utilisateur \ Application Data \ pip \ pip.log

J’ai une erreur

LINK: erreur fatale LNK1181: impossible d’ouvrir le fichier d’entrée ‘cuda.lib’

erreur: la commande ‘”C: \ Program Files \ Microsoft Visual Studio 9.0 \ VC \ BIN \ link.exe”‘ a échoué avec le statut de sortie 1181

Je pense que je dois spécifier une variable de chemin pour cuda lib, mais je ne comprends pas quelle variable et pourquoi elle ne se définit pas lors de l’installation de cuda toolkit.

MISE À JOUR: Je me suis efforcé de résoudre ce problème en installant le prebuild pycuda à partir d’ ici , mais peut-être que cela fonctionnera plus lentement car il n’a pas été compilé sur ma machine.

Si quelqu’un cherche encore une réponse:

configure.py génère un fichier siteconf.py contenant les chemins d’access aux fichiers .lib CUDA utilisés pour comstackr pycuda. Cependant, il utilise des chemins incorrects (au moins sous Windows et à l’aide du toolkit V7.5).

Maintenant, cela peut être résolu de plusieurs façons (assurez-vous d’avoir téléchargé le paquet pycuda et l’avoir décompressé quelque part):

1. Modification de setup.py

C’est là que réside le principal coupable. Ce sont les chemins qu’il utilise actuellement:

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

Actuellement, Nvidia utilise CUDA_PATH comme variable d’environnement et les fichiers .lib sont stockés dans un dossier x64 ou Win32 distinct. Vous pouvez soit append ces chemins au tableau, soit vous en débarrasser

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

Exécutez maintenant py configure.py pour générer le fichier siteconf.py.

2. Remplacer les parameters générés par configure.py

Comme mentionné, configure.py génère le fichier siteconf.py. Vous pouvez appeler configure.py avec des parameters facultatifs pour remplacer les dossiers de bibliothèque par défaut (ce que nous avons défini dans setup.py). Sortie partielle après l’exécution de 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. Modifiez directement siteconf.py

La méthode la plus simple Exécutez simplement py configure.py pour générer un fichier siteconf.py avec les chemins par défaut, puis éditez ce fichier par la suite.
Plus tard, j’ai pensé que ces deux pages recommandaient de le faire: https://kerpanic.wordpress.com/2015/09/28/pycuda-windows-installation-offline/ https://wiki.tiker.net/PyCuda/Installation/ les fenêtres

Terminer l’installation

Pour envelopper le tout, comstackz et installez pycuda en exécutant:

 py setup.py build py setup.py install 

(cela utilisera le fichier siteconf.py précédemment généré / modifié).

C’est tout 🙂

(Si vous vous demandez pourquoi j’ai écrit les 3 méthodes au lieu de la plus simple, j’ai découvert le fichier siteconf.py et configure.py après avoir setup.py default_lib_dirs dans le fichier setup.py . Même chose pour le fichier deux liens de sites Web, j’ai trouvé ceux-ci après avoir résolu manuellement le problème)