vscode visual tag studio code closing close beauty beautiful visual-studio parallel-processing cuda gpu

tag - Usando CUDA con Visual Studio 2017



visual studio code highlight closing tag (8)

Estoy tratando de instalar CUDA, pero recibo un mensaje que dice "No se encontró una versión compatible de Visual Studio". Creo que esto se debe a que estoy usando Visual Studio 2017 (Comunidad), y CUDA actualmente solo admite hasta Visual Studio 2015. Desafortunadamente, Microsoft no me permitirá descargar versiones antiguas de Visual Studio sin pagar una tarifa de suscripción.

¿Hay alguna manera de evitar el problema de compatibilidad con VS 2017, o no puedo usar CUDA?


  1. Si desea instalar CUDA 8.0 con Visual Studio 2017 , necesita instalar componentes adicionales para Visual Studio 2017.

    Haga clic en el menú Inicio y escriba Visual Studio Installer. Abra el instalador de Visual Studio

    Abra la pestaña Individual components y seleccione el VC++ 2015.3 v140 toolset
    bajo Compilers, build tools and runtimes .

  1. También necesita instalar .NET Framework 3.5 si no lo tenía instalado.
    Nvda.Build.CudaTasks.v8.0.dll dependientes del ensamblado en MS .NET Framework 3.5 .

Abra el Panel de control clásico, vaya a Programs and features
y presione Turn Windows features on or off . Verifique .NET Framework 3.5 y presione OK.

  1. Descargue la distribución completa del CUDA toolkit y extráigala en algún lugar de su disco.
  2. Si no tenía instalado el CUDA toolkit , hágalo ahora. Si solo tiene instalado Visual Studio 2017 , desactive la casilla de verificación Visual Studio integration .


Ahora desea recibir el error "No supported version of the visual studio was found" .

Pero para construir con éxito proyectos de kit de herramientas Cuda en Visual Studio 2017 , también debe seguir los pasos 5 y 6.

  1. Vaya a CUDAVisualStudioIntegration/extras/visual_studio_integration/MSBuildExtensions
    carpeta en su distribución extraída, copie todos los archivos y péguelos en
    C:/Program Files (x86)/MSBuild/Microsoft.Cpp/v4.0/v140/BuildCustomizations:

  1. En el último paso, deberá editar sus proyectos de Cuda para reconocer las tareas de compilación de NVidia de Visual Studio 2017 . Abra su archivo .vcxproj en un editor de texto y encuentre todas las apariciones de CUDA 8.0.props . Reemplace la macro al comienzo de la cadena con $(VCTargetsPath14) para que el fragmento XML se vea de la siguiente manera:

<ImportGroup Label="ExtensionSettings"> <Import Project="$(VCTargetsPath14)/BuildCustomizations/CUDA 8.0.props" /></ImportGroup>

No olvide editar la ruta de destino personalizada al final del archivo:

<ImportGroup Label="ExtensionTargets"> <Import Project="$(VCTargetsPath14)/BuildCustomizations/CUDA 8.0.targets" /></ImportGroup>



¡Asegúrate de verificar la conifuración de tu ruta!
Si usa nvcc desde el símbolo del sistema, es posible que no esté llamando a cl.exe desde la carpeta de Visual Studio .



Ahora puede construir su proyecto Cuda desde Visual Studio 2017.

Partes de esta solución son del blog Oleg Tarasov .


Última actualización (correcta a partir del 06/12/2018) la última versión de Cuda es la 9.2 y la última versión de Visual Studio es la 2017.7 NO funcionan juntas Las instrucciones proporcionadas en la solución anterior no funcionan. Esto es lo que funcionó para mí:

  1. Desinstalar Visual Studio.
  2. Desinstalar el instalador de Visual Studio
  3. Descargue Visual Studio 2017.6 (tenga en cuenta que se sabe que Microsoft cambia los enlaces y las revisiones sin previo aviso) https://docs.microsoft.com/en-us/visualstudio/productinfo/installing-an-earlier-release-of-vs2017
  4. Iniciar instalador
  5. Ir a componentes individuales. Haga clic en Windows 10 SDK 10.0.15063 ingrese la descripción de la imagen aquí

  6. Descargue cuda Toolkit del sitio web oficial: https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal

  7. Es posible que deba descargar el parche.

Gracias a todos por su ayuda. Solo quería complementar esta publicación con las últimas piezas del rompecabezas. CUDA v9.0 RC está buscando VS2017 para identificar como 1910, pero la última actualización en realidad se identifica como 1911. Para arreglar abrir ... / CUDA / v9.0 / include / crt / host_config.h y cambiar esta línea:
#if _MSC_VER < 1600 || _MSC_VER > 1910
a esto:
#if _MSC_VER < 1600 || _MSC_VER > 1911

También es posible que deba agregar lo siguiente a sus CMakeLists:
list(APPEND CUDA_NVCC_FLAGS --cl-version=2017)


Me encontré con el mismo problema usando CUDA 9.1 y VS2017 Enterprise.

Después de cambiar el compilador de VC ++ a v140 (en lugar de 141) todo funciona bien.

Ya tenía banderas

#if _MSC_VER < 1600 || _MSC_VER > 1911

Pero no dejaría de mostrar el error.

No tengo idea de por qué, pero tratar de ejecutarlo en VS2015 conduce a errores sobre la instalación de v141 ... así que, debido a una lógica retorcida, traté de no usar v141 donde estaba instalado ... ¡y todo funcionó!

Dejar esto aquí ya que puede ayudar a alguien más en la misma situación. (aunque realmente no entiendo por qué, cómo, cuándo, quién o qué de la solución.


Para las personas que ven esto último.

Primero, intente instalar CUDA 10 (CUDA Toolkit 10.0).

Si todavía no funciona sin modificaciones, asegúrese de tener tantos conjuntos de herramientas VC ++ como puede ver en la lista. Mira este video , para a las 8:41 y compara las listas.

Si por alguna razón tiene que usar CUDA 9.0 - 9.2 deberá saltar algunos aros:

  • Para compilaciones cmd, configure vcvars_ver = 14.11 - vea esta respuesta
  • Para las compilaciones de IDE, configure Platform Toolset (en las propiedades del proyecto - General) en
    • Visual Studio 2017 (v141)) o
    • Visual Studio 2015 (v140))

Si tiene una compilación basada en cmd muy personalizada, #if _MSC_VER (en .../CUDA/.../include/crt/host_config.h ) y elimine el final || _MSC_VER > ... || _MSC_VER > ...


Para que funcione el compilador de Cuda nvcc en Windows Shell, debe hacer lo siguiente

  1. instale la versión adecuada del conjunto de herramientas del componente individual para VS 2017 - VC++ 2017 version 15.4 v.14.11 toolset

  2. Ejecute en el shell de Windows siguiendo "c:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvarsall.bat" x64 -vcvars_ver=14.11

  3. Puede compilar código nvcc sin errores desde el shell de Windows


Por el momento, Microsoft todavía parece estar haciendo disponible la edición comunitaria VS2015 Update 2. Tienes que unirte al programa "dev essentials", pero parece ser gratis.

Pude descargar el instalador desde here recientemente.

Actualización: CUDA 9 RC se puso a disposición ayer en developer.nvidia.com para desarrolladores registrados, y tiene soporte para VS 2017.


Quería editar mis programas CUDA usando un editor de texto (es decir, Sublime) y compilarlos desde el símbolo del sistema, pero me encontré con un error del compilador nvcc. Instalé Visual Studio 2017 con el sistema operativo Windows 10, pero después de compilar, decía "solo se permiten las versiones de VS 2012, 13, 15 y 17". Entonces, lo que hice fue instalar el kit de herramientas VC ++ 2015 del paquete de instalación del instalador VS 2017 (consulte la imagen de la publicación superior). No realicé todo el proceso, solo copié la ruta de mi archivo cl.exe de la carpeta VS 14.0 recién creada a la variable de entorno. El .exe se puede encontrar aquí:

C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin

¡Espero que esto ayude!