![]() |
GeNN
2.2.3
GPU enhanced Neuronal Networks (GeNN)
|
You can download GeNN either as a zip file of a stable release or a snapshot of the most recent stable version or the unstable development version using the Git version control system.
Point your browser to https://github.com/genn-team/genn/releases and download a release from the list by clicking the relevant source code button. Note that GeNN is only distributed in the form of source code due to its code generation design. Binary distributions would not make sense in this framework and are not provided. After downloading continue to install GeNN as described in the Installing GeNN section below.
If it is not yet installed on your system, download and install Git (http://git-scm.com/). Then clone the GeNN repository from Github
The github url of GeNN in the command above can be copied from the HTTPS clone URL displayed on the GeNN Github page (https://github.com/genn-team/genn).
This will clone the entire repository, including all open branches. By default git will check out the master branch which contains the source version upon which the latest release is based. If you want the most recent (but unstable) development version (which may or may not be fully functional at any given time), checkout the development branch
There are other branches in the repository that are used for specific development purposes and are opened and closed without warning.
As an alternative to using git you can also download the full content of GeNN sources clicking on the "Download ZIP" button on the bottom right of the GeNN Github page (https://github.com/genn-team/genn).
Installing GeNN comprises a few simple steps to create the GeNN development environment.
(i) If you have downloaded a zip file, unpack GeNN.zip in a convenient location. Otherwise enter the directory where you downloaded the Git repository.
(ii) Define the environment variable "GENN_PATH" to point to the main GeNN directory, e.g. if you extracted/downloaded GeNN to /usr/local/GeNN, then you can add "export GENN_PATH=/usr/local/GeNN" to your login script (e.g. .profile
or .bashrc
. If you are using WINDOWS, the path should be a windows path as it will be interpreted by the Visual C++ compiler cl
, and environment variables are best set using SETX
in a Windows cmd window. To do so, open a Windows cmd window by typing cmd
in the search field of the start menu, followed by the enter
key. In the cmd
window type
where C:\Users\me\GeNN
is the path to your GeNN directory.
(iii) Add $GENN_PATH/lib/bin to your PATH variable, e.g.
in your login script, or in windows,
(iv) Install the C++ compiler on the machine, if not already present. For Windows, download Microsoft Visual Studio Community Edition from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx When installing Visual Studio, one should select "custom install", and ensure that all C++ optional extras are also installed. Mac users should download and set up Xcode from https://developer.apple.com/xcode/index.html Linux users should install the GNU compiler collection gcc and g++ from their Linux distribution repository, or alternatively from https://gcc.gnu.org/index.html Be sure to pick CUDA and C++ compiler versions which are compatible with each other. The latest C++ compiler is not necessarily compatible with the latest CUDA toolkit.
(v) If you haven't installed CUDA on your machine, obtain a fresh installation of the NVIDIA CUDA toolkit from https://developer.nvidia.com/cuda-downloads Again, be sure to pick CUDA and C++ compiler versions which are compatible with each other. The latest C++ compiler is not necessarily compatible with the latest CUDA toolkit.
(vi) Set the CUDA_PATH
variable if it is not already set by the system, by putting
in your login script (or, if CUDA is installed in a non-standard location, the appropriate path to the main CUDA directory). For most people, this will be done by the CUDA install script and the default value of /usr/local/cuda is fine. In Windows, CUDA_PATH is normally already set after installing the CUDA toolkit. If not, set this variable with:
This normally completes the installation. Windows useres must close and reopen their command window to ensure variables set using SETX
are initialised.
Depending on the needs of your own projects, e.g., depencies on other libraries or non-standard installation paths of libraries used by GeNN, you may want to modify Makefile examples under $GENN_PATH/userproject/xxx_project
and $GENN_PATH/userproject/xxx_project/model
to add extra linker-, include- and compiler-flags on a per-project basis, or modify global default flags in $GENN_PATH/userproject/include/makefile_common_[win|gnu].mk.
For all makefiles there are separate makefiles for Unix-style operating systems (GNUmakefile) such as Linux or MacOS and for Windows (WINmakefile).
If you are using GeNN in Windows, the Visual Studio development environment must be set up within every instance of the CMD.EXE command window used. One can open an instance of CMD.EXE with the development environment already set up by navigating to Start - All Programs - visual studio - tools - visual studio native command prompt. You may wish to create a shortcut for this tool on the desktop, for convenience. Note that all C++ tools should have been installed during the Visual Studio install process for this to work. Alternatively one can use the make.bat scripts to build the example projects, which will attempt to setup your development environment by executing vcvarsall.bat
which is part of every Visual Studio distribution, inside the visual studio/VC directory. For this to work properly, GeNN must be able to locate the Visual Studio install directory, which should be contained in the VS_PATH
environment variable. You can set this variable by hand if it is not already set by the Visual C++ installer by typing:
GeNN also has experimental CYGWIN support. However, with the introduction of native Windows support in GeNN 1.1.3, this is not being developed further and should be considered as deprecated.
To test your installation, follow the example in the Quickstart section. Linux and Mac users can perform a more comprehensive test by running:
This test script may take a long while to complete, and will terminate if any errors are detected.