首页 > 其他分享 >VS下进行CUDA编译时error MSB3721相关的原因之一

VS下进行CUDA编译时error MSB3721相关的原因之一

时间:2024-12-12 17:11:33浏览次数:9  
标签:Files mkl Intel MKL oneAPI VS MSB3721 CUDA 版本

报错:“1>D:\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA 11.6.targets(790,9): error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin\nvcc.exe" -gencode=arch=compute_61,code="sm_61,compute_61" --use-local-env -ccbin "D:\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64" -x cu -rdc=true 。。。。。。”

添加“mkl.h”的附加包含目录时注意有两个:

“C:\Program Files (x86)\Intel\oneAPI\mkl\2025.0\include”

“D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.1.216\windows\mkl\include”

提到的两个路径确实都指向了 Intel MKL(Math Kernel Library)库,但它们属于不同的版本和安装方式。以下是关于这两个路径的详细解释:

1. C:\Program Files (x86)\Intel\oneAPI\mkl\2025.0\include

  • Intel oneAPI:这是 Intel 的最新软件开发工具套件,旨在提供统一的编程模型来简化跨架构开发。它包含了多个优化库,包括最新的 MKL 版本。
  • MKL 2025.0:这表明这是一个较新的 MKL 版本,可能包含了性能改进、新功能以及对现代硬件的支持。

2. D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.1.216\windows\mkl\include

  • Intel Parallel Studio XE旧版 Intel Software Development Tools:这个路径指向的是 Intel 在 oneAPI 之前发布的软件包,如 Intel Parallel Studio XE。这些软件包也包含 MKL 库,但通常是较旧的版本。
  • 2020.1.216:这是一个特定版本号,表示这是一个2020年的版本,可能缺少一些在 newer oneAPI 中引入的新特性。

选择哪个版本?

通常情况下,建议使用最新的库版本以获得最佳性能和支持。因此,如果你没有特别的需求或限制,应该优先考虑使用 Intel oneAPI 下的 MKL 版本(即 C:\Program Files (x86)\Intel\oneAPI\mkl\2025.0\include)。这个版本不仅更新,而且更有可能支持最新的硬件和技术。

添加附加包含目录

无论选择哪个版本,在 Visual Studio 的 C++ 项目属性中添加 MKL 的附加包含目录时,请确保遵循以下步骤:

  1. 打开项目属性

    • 右键点击解决方案资源管理器中的项目,选择“属性”。
  2. 配置所有平台和配置

    • 确保你选择了正确的平台(如 x64)和配置(如 Debug 或 Release),或者选择“全部配置”和“全部平台”。
  3. 添加包含目录

    • 导航到 Configuration Properties -> C/C++ -> General
    • 编辑 Additional Include Directories,添加所选 MKL 版本的包含路径,例如:
      C:\Program Files (x86)\Intel\oneAPI\mkl\2025.0\include
      
  4. 添加库目录(如果需要链接静态库或导入库)

    • 导航到 Configuration Properties -> Linker -> General
    • 编辑 Additional Library Directories,添加相应的库路径,例如:
      C:\Program Files (x86)\Intel\oneAPI\mkl\2025.0\lib\intel64_win
      
  5. 指定链接的库文件

    • 导航到 Configuration Properties -> Linker -> Input
    • 编辑 Additional Dependencies,添加你需要链接的 MKL 库文件,例如:
      mkl_intel_lp64.lib
      mkl_sequential.lib
      mkl_core.lib
      

总结

确保你使用的是最新版本的 MKL 库(如来自 Intel oneAPI 的版本),并且正确配置了项目属性中的包含目录和库目录。这样可以确保你的项目能够充分利用 MKL 提供的优化功能,并且避免潜在的兼容性问题。如果你有特殊需求或项目依赖于旧版本的 MKL,则可以选择旧版本的路径。

标签:Files,mkl,Intel,MKL,oneAPI,VS,MSB3721,CUDA,版本
From: https://www.cnblogs.com/zbxing/p/18602994

相关文章

  • vscode+wsl Windows和Linux之间的文件同步
    vscode+wslWindows和Linux之间的文件同步创建VSCode任务配置文件运行任务创建VSCode任务配置文件在项目目录下创建或编辑.vscode/tasks.json配置文件//tasks.json{"version":"2.0.0","tasks":[{"label":"SyncWSLtoWindows",......
  • VScode基本使用
    VScode基本使用VScode的使用新建文件(Ctrl+N)。保存(Ctrl+S),注意后缀名为.html文件。Ctrl+加号键,Ctrl+减号键可以放大缩小试图。Ctrl+B关闭侧边栏。利用插件在浏览器中预览页面:单机鼠标右键,在弹出串口中点击“OpenInDefaultBrower”。一些好用的插件Chinese(汉化)Auto......
  • 【已解决】关于远程连接服务器后vscode报错:由于意外错误,无法打开编辑器: Unterminated
     一、问题与原因    昨天打开VScode准备在远程服务器撸代码时,右下角提示更新,更新后便出现这个问题。问题表现为右下角打开设置提示错误、安装与更新扩展显示错误、本地扩展被禁用导致编辑器变成纯txt代码阅读器、命令面板进入setting.json文件毫无异常。错误显示大致......
  • 转载:【AI系统】CUDA 编程模式
    前面的文章对AI芯片SIMD和SIMT计算本质进行了分析,结合英伟达CUDA实现对SIMD和SIMT进行了对比,本文将以英伟达GPU为例,讲解GPU的编程模型。GPU编程模型CUDA英伟达公司于2007年发布了CUDA,支持编程人员利用更为通用的方式对GPU进行编程,更好地发挥底层硬件强大......
  • IEC 104 vs IEC 101 vs DNP3 vs IEC 61850
    互联网与中间件:RedisAssistantZooKeeperAssistantKafkaAssistantRocketMQAssistantRabbitMQAssistantPulsarAssistantHBaseAssistantNoSqlAssistantEtcdAssistantGarnetAssistant工业与物联网:MQTTAssistantModbus从站模拟器Modbus主站模拟器IE......
  • 转载:【AI系统】SIMD & SIMT 与 CUDA 关系
    前面的文章对AI芯片SIMD和SIMT计算本质进行了分析,结合NVIDIACUDA实现对SIMD和SIMT进行了对比,本文将对不同并行的编程方式进行讲解,以英伟达GPU为例,讲解GPU的编程模型。实现并行的编程方式从指令级别的执行方式来看,一共有三种不同的编程模型,串行(SISD)、数据并行(SI......
  • 转载:【AI系统】从 CUDA 对 AI 芯片思考
    从技术的角度重新看英伟达生态,有很多值得借鉴的方面。本文将主要从流水编排、SIMT前端、分支预测和交互方式等方面进行分析,同时对比DSA架构,思考可以从英伟达CUDA中借鉴的要点。英伟达生态的思考点从软件和硬件架构的角度出发,CUDA和SIMT之间存在一定的关系,而目前AI芯片......
  • 转载:【AI系统】CUDA 编程模式
    前面的文章对AI芯片SIMD和SIMT计算本质进行了分析,结合英伟达CUDA实现对SIMD和SIMT进行了对比,本文将以英伟达GPU为例,讲解GPU的编程模型。GPU编程模型CUDA英伟达公司于2007年发布了CUDA,支持编程人员利用更为通用的方式对GPU进行编程,更好地发挥底层硬件强大......
  • VSCode中Python文件的自动格式化
    Python文件的自动格式化首先随便打开一个项目,创建一个[[Python]]文件按Shift+Alt+F,会进行格式化,不出意外会出现下图:那么就去安装坑点就在这,会出现很长一串,然后发现都不是是一个叫BlackFormatter的插件,装完之后再Shift+Alt+F会出现下面这个点击配置出现这个,选就OK了如果......
  • 转载:【AI系统】CUDA 编程模式
    前面的文章对AI芯片SIMD和SIMT计算本质进行了分析,结合英伟达CUDA实现对SIMD和SIMT进行了对比,本文将以英伟达GPU为例,讲解GPU的编程模型。GPU编程模型CUDA英伟达公司于2007年发布了CUDA,支持编程人员利用更为通用的方式对GPU进行编程,更好地发挥底层硬件强大......