在 Windows 上从源代码安装 PyGeNN
- 确保至少安装了 Python 3.5 和 Visual Studio 2015(无法使用任何足以编译 GeNN 的 Visual Studio 新版本生成早期版本的 Python 的扩展)。如果使用的是 Visual Studio 2019,则至少需要 Python 3.7.5。这些说明假设 Anaconda 平台用于安装 Python,但应该可以使用以不同方式安装的合适 Python 版本来安装 PyGeNN
- 此过程需要命令提示符,并为 Visual Studio 和 Anaconda 正确配置环境。若要创建一个,请从所选版本的 Visual Studio 的开始菜单文件夹中启动“x64 Native Tools Command Prompt”,并通过在其目录中运行 来激活所选版本的 Anaconda。例如,如果您的用户称为“me”,并且 Anaconda 安装在您的主目录中,运行
activate me
- 在此命令提示符下,使用命令安装 SWIG
pip install swig
或conda install swig
- 进入到 我们下载的 genn 目录,并使用以下命令将 GeNN 构建为 dll:
msbuild genn.sln /t:Build /p:Configuration=Release_DLL
(如果您没有安装 CUDA,构建 CUDA 后端将失败,但仍应构建 CPU 后端)
- 使用以下命令将新构建的 DLL 复制到 pygenn 中:
copy /Y lib\genn*Release_DLL.* pygenn\genn_wrapper
- 使用设置工具构建 Python 扩展
python setup.py develop
需要注意的是要配置环境变量,将你下载的genn
添加到指定路径并且配置环境变量,我的genn
包放在了C:\Users\User\genn
尝试安装上面的步骤进行安装,出现如下问题
F:\Users\User\genn\share\genn\backends\opencl\cl2.hpp(531,10): fatal error C1083: 无法打开包括文件: “CL/opencl.h”: No such file
or directory (编译源文件 backend.cc) [F:\Users\User\genn\src\genn\backends\opencl\opencl_backend.vcxproj]
F:\Users\User\genn\share\genn\backends\opencl\cl2.hpp(531,10): fatal error C1083: 无法打开包括文件: “CL/opencl.h”: No such file
or directory (编译源文件 optimiser.cc) [F:\Users\User\genn\src\genn\backends\opencl\opencl_backend.vcxproj]
已完成生成项目“F:\Users\User\genn\src\genn\backends\opencl\opencl_backend.vcxproj”(默认目标)的操作 - 失败。
已完成生成项目“F:\Users\User\genn\src\genn\backends\opencl\opencl_backend.vcxproj.metaproj”(默认目标)的操作 - 失败。
已完成生成项目“F:\Users\User\genn\genn.sln”(Build 个目标)的操作 - 失败。
生成失败。
无法打开包括文件: “CL/opencl.h”
,通过查看cl2.hpp
代码,发现代码中包含了CL/opencl.h
,由于电脑系统环境问题,未识别到代码包CL
所在位置。
解决办法:
将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include
路径下的CL
复制到H:\Windows Kits\10\Include\10.0.19041.0\um
,关于Windows Kits\10\include
路径Visual studio电脑安装位置根据自己情况选择可能不同。
2.
然后遇到第二个问题
错误显示无法打开输入文件“OpenCL.lib”
解决办法:将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib\x64
下的OpenCL.lib
复制到C:\Users\User\genn\lib
,成功解决