Xgboost gpu安装致命错误LNK1181

时间:2017-10-01 22:56:53

标签: visual-studio gpu xgboost lnk

我正按照以下说明尝试安装xgboost gpu支持版本。 xgboost-gpu-support

我使用windows 10,visual studio 2017. not-gpu-support版本运行正常。但是对于gpu-support版本,当我从Visual studio中释放模式时,它输出错误LINK:致命错误LNK1181:无法打开输入文件“Release \ gpuxgboost.lib”。

以前的步骤中一切都很顺利。我该如何解决这个问题?提前谢谢。

(我的项目是D:\ Software \ xgboost \ xgboost \ build \ ALL_BUILD.vcxproj,没有空格。所以这个解决方案不起作用。lnk1181-error-message-when-you-build-a-manag

2 个答案:

答案 0 :(得分:4)

正如我所见,许多人都在努力正确构建支持GPU的xgboost库,并且鉴于此,在我看来,关于此事的文档至少是不完整的,我决定分享我的经验。 首先,此过程在Windows 10 x64平台上取得了成功。我使用的工具是:

  1. Microsoft Visual Studio 2015 Express,https://www.visualstudio.com/vs/visual-studio-express/
  2. Cmake,https://cmake.org/
  3. Git(Git for Windows),https://git-for-windows.github.io/
  4. 为了构建支持GPU的xgboost库,首先应检查显卡与xgboost要求的兼容性。 xgboost支持8.0及更高版本的CUDA版本。具有3.0及以上计算能力的显卡符合此要求。你可以在这里查看:

    https://developer.nvidia.com/cuda-gpus

    然后,您必须为您的系统下载并安装适当的CUDA SDK。你可以在这里找到它:

    https://developer.nvidia.com/cuda-downloads

    您可以使用SDK附带的示例项目来检查它们是否可以在您的系统中构建并正确运行。

    此步骤必不可少(至少在我的情况下)是用于构建具有GPU支持的库。在VC / bin子目录中转到Microsoft Visual Studio 2015的安装目录。在这:

    1. 将子目录x86_amd64的所有内容复制到子目录amd64。

    2. 在amd64子目录中,将文件vcvarsx86_amd64.bat重命名为vcvars64.bat。

    3. 然后,打开Git Bash,输入以下命令:

      1. git clone --recursive https://github.com/dmlc/xgboost
      2. cd xgboost
      3. git submodule init
      4. git submodule update
      5. mkdir build
      6. cd build
      7. cmake ..-G" Visual Studio 14 2015 Win64" -DUSE_CUDA = ON
      8. cmake完成后,使用Visual Studio 2015打开ALL_BUILD.vcxproj。选择Solution Configurations'Release'和Solution Platforms'x64'。构建 - >构建解决方案。 构建过程完成后,xgboost.dll库文件将位于xgboost / lib目录中。

        最后,您可以继续安装Python包或R包。

答案 1 :(得分:0)

你可以点击安装catboost。 在拟合函数中使用参数tast_type ='GPU'。 CatBoost是最近开源的梯度增强库。在大多数情况下,它比XGBoost更准确,在GPU上快20倍。试试看。以下是图书馆的网站:https://catboost.yandex