R 中 MicrosoftML 的 CUDA 支持

CUDA Support with MicrosoftML in R

我想使用选项加速 = "gpu" 从 R 的 MicrosoftML 包执行 rxNeuralNet 函数。但是,R 无法启用 GPU 加速,因为它会打印以下消息:

Beginning processing data.
Failed to initialize CUDA runtime. Possible reasons:
1. The machine does not have CUDA-capable card. Supported devices have compute capability 2.0 and higher.
2. Outdated graphics drivers. Please install the latest drivers from http://www.nvidia.com/Drivers.
3. CUDA runtime DLLs are missing, please see the GPU acceleration help for the installation instructions.

我有一个 Nvidia GPU,安装了最新的驱动程序,包括 CUDA 8.0。我也把需要的dll文件复制到帮助文档里说的合适的地方。 dll 的目标目录是:

C:/Program Files/Microsoft/R Client/R_SERVER/library/MicrosoftML/mxLibs/x64

我复制到这个目录的 dll 是:

cublas80_65.dll cudart80_65.dll cusparse80_65.dll cudnn80_65.dll

我错过了什么吗?不幸的是,CUDA 仍然不适用于 rxNeuralNet。我的 OS:Win7_64Bit 和 GPU:Nvidia 950ti

MicrosoftML 目前仅支持 CUDA 6.5。 ?rxNeuralNet 中对此进行了说明,尽管有些含糊不清。确保从 https://developer.nvidia.com/cuda-toolkit-65 and https://developer.nvidia.com/rdp/cudnn-archive.

下载正确的版本

这里是基本说明。请务必严格遵守这些要求。

对于 GPU 加速,需要额外的手动设置步骤:

  • 下载并安装 NVidia CUDA 工具包 6.5(CUDA 工具包)。
  • 下载并安装 NVidia cuDNN v2 库(cudnn 库)。
  • 通过调用system.file("mxLibs/x64", package = "MicrosoftML")找到MicrosoftRML包的libs目录。
  • 将 CUDA Toolkit 6.5 中的 cublas64_65.dll、cudart64_65.dll 和 cusparse64_65.dll 复制到 MicrosoftML 包的 libs 目录中。
  • 将 cuDNN v2 库中的 cudnn64_65.dll 复制到 MicrosoftML 包的 libs 目录中。