Miind
Installation

# Third Party Dependencies

It is recommended, but no longer necessary, to install ROOT. ROOT is a powerful analysis platform that has similar capabilities as MATLAB, but is optimized for high end performance. Under Unix systems, this is straightforward. For almost all UNIX-like distributions there is a binary. This can be installed in a directory of your choice. If you have sudo or root permission, you can opt to have ROOT installed under /usr/local, thereby making the framework available to all users. It is also possible to install the package locally. Regardless of whether you install the package locally or under /usr/local, the top of the ROOT directory structure is always a directory called 'root'.

Alternatively, you can compile the package from source, using the configure script} in the top directory of the download. There is a comprehensive description on how to do this: https://root.cern.ch/building-root. Make sure you have all the prerequisites installed that are listed at https://root.cern.ch/build-prerequisites.

Make sure that the version you use is configured with

--enable-python, --enable-table, --enable-mathmore

. You can use Python to inspect the simulation results, and convert them to numpy objects if you feel the need.

Whether you install ROOT locally or system-wide, make sure that the script root/bin/thisroot.sh is sourced, i.e. issue the command:

source ~/root/bin/thisroot.sh

if you have installed the package in your home directory. You have to do this every time before you use ROOT, so it is worth to include in a .bashrc file or equivalent.

If ROOT is not installed, it will produce ASCII files containing the firing rate.

You will also need:

• The GNU Scientific Library, GSL for short
• A recent (> 1.48) version of BOOST.
• FFTW3, the developer files.

section sec_procedure Procedure Whether you down load the tar file or checkout the code from the repository, you will have a top directory called 'miind-git'. This is the MIIND_ROOT. Where you place this is immaterial. Perform the following steps:

• Directly below 'code', create a directory called 'build'. This 'build' directory will be at the same level as 'apps' and 'libs'.
• 'cd build'
• 'ccmake ..'
• Indicate whether you want a Release or a Debug version, by setting the CMAKE_BUILD_TYPE field.
• You may have to indicate where ROOT is. CMake is intelligent enough to work out where, once you have provided the location of the root excutable.
• Configure ('c')
• Generate the Make file ('g')
• Quit ('q')
• Type 'make'

The libraries will built in build/libs, the excetuables in buid/apps. In general, you want set your PATH and PYTHONPATH such that they include the path to MIIND_ROOT/python.

CMake can be used directly from the command line, e.g.:

cmake path_to_miind_src -DENABLE_MPI=TRUE -DCMAKE_BUILD_TYPE=Debug -DMPIEXEC=/opt/local/bin/openmpirun

To compile the project type:

make


To build the documentation type:

make doc


# A Clean Ubuntu Install

We start with a clean Ubuntu 16-04 machine. Install the following packages with sudo apt-get install:

 g++ (this should be at least g++ 5.4.0, which you should get by default.)
python-scipy
cmake-curses-gui
libboost-all-dev
libgsl-dev
libfftw3-dev
git


If you don't use ROOT, this is all you need.

Do not use a Ubuntu package for ROOT! It does exist, but misses a few libraries that MIIND depends on. Go to the ROOT web site: http://root.cern.ch, go to Download and click on the most recent version. Download the Ubuntu binary and unpack it in a directory of your choice. Issue the command

source cwd/root/bin/thisroot.sh


, where 'cwd' should be replaced by the name of the directory where you unpacked. If you now type 'root' anywhere in a shell, ROOT's CINT interpreter should start and a splash screen should appear. Exit CINT by typing ' .q'. Start a Python shell, and type 'import ROOT'. This module should now load without any comment. You may want to incorporate the 'source' command described above in a .bashrc file or equivalent.