Pregunta

Estoy utilizando Windows 7 Pro x64 en un Core i5 con una NVIDIA 3100m, que es compatible con CUDA.

He intentado instalar tanto las de 32 bits y 64 bits kits de herramientas CUDA de NVIDIA, por desgracia, a partir de cualquiera de ellos que pueda todo lo que no compilación; NVCC dice "no se puede encontrar una versión cl compatible. Sólo MSVC 8.0 y 9.0 son compatibles MSVC".

tengo el x86 y x86-64 compiladores instalados a través del SDK de Windows 7 (versión del compilador 15.00.30729.01 para ambos arcos). Ambos compiladores están operando correctamente; He construido y el código C y C ++ probado su uso. He intentado correr NVCC de shells de comandos creados por tanto de 32 bits y 64 bits de compilación, y el uso de la opción de línea de comandos -ccbin a NVCC señalar que en el Visual C ++ directorio de instalación.

¿Cuál es la forma correcta de manejar esta configuración? ¿Hay alguna manera hago NVCC ser más detallado de lo que está pasando? La opción -v no es terrible útiles. Lo ideal sería que alguna forma de hacer que se muestre lo que está encontrando frente a lo que se esperaba encontrar. ¿Este trabajo mejor si instalar Visual C ++ Express en su lugar? O es sólo una versión comercial de VC ++ soportan el uso de CUDA?

¿Fue útil?

Solución

Parece que no ha instalado Visual Studio 2005 o 2008, pero su número de versión del compilador indica que es MSVC 9.0. La forma más sencilla de conseguir que todo funcione es instalar Visual Studiso y creo que expreso funcionará.

Además, es posible que desee echar un vistazo a este tema en Nvidia Foro

Otros consejos

Incluir esta línea

compilador bindir = C: \ Archivos de programa (X86) \ Microsoft Visual Studio 9,0 \ VC \ bin

en

C: \ CUDA \ bin64 \ nvcc.profile

Con CUDA v6.0, que tiene una versión anterior de Visual Studio (estoy usando 2010) sigue siendo necesaria, pero las otras soluciones no funcionó para mí.

Para que esto funcione, añada lo siguiente a su nvcc.profile (C: / Archivos de programa / NVIDIA GPU Computing Toolkit / CUDA / v6.0 / bin / nvcc.profile):

CUDA_NVCC_FLAGS += --compiler-bindir = "-IE:/PROGRA~2/MICROS~2.0/VC/bin"

También tiene instalado VS 2013, y que necesitaba este argumento para evitar NVCC de encontrar la versión más reciente (por desgracia incompatibles) de cl.exe

Yo estaba tratando de conseguir CUDA 6.5 trabajar con VS 2010 Express. Después de desinstalar VS 2010 Express, la instalación del SDK de Windows 7.1 y volver a instalar VS 2010 Express, la configuración del SDK de Windows 7.1 como conjunto de herramientas, etc. Nada funcionó. Al final lo que funcionó para mí fue la de añadir lo siguiente a CUDA_NVCC_FLAGS:

--cl-version 2010

También puede ser necesario añadir:

--machine 32

Me trató las banderas correspondientes en la primera línea de comandos.

Este enlace fue muy útil

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top