From d033a8addc243b4fa82910ef3e484d02f5ef4a5e Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Fri, 3 Sep 2021 13:26:31 +0200 Subject: [PATCH 01/19] convert to tables, add undocumented options --- doc/userdoc/installation/cmake_options.rst | 163 +++++++++++++-------- 1 file changed, 99 insertions(+), 64 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index 770574e454..fa1ef3d649 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -28,70 +28,105 @@ Options for configuring NEST NEST allows for several configuration options for custom builds: -Change NEST behavior:: - - -Dtics_per_ms=[number] Specify elementary unit of time. [default 1000.0] - -Dtics_per_step=[number] Specify resolution. [default 100] - -Add user modules:: - - -Dexternal-modules=[OFF|] External NEST modules to be linked - in, separated by ';'. [default=OFF] - -Connect NEST with external projects:: - - -Dwith-music=[OFF|ON|] Request the use of MUSIC. Optionally - give the directory, where MUSIC is installed. - [default=OFF] - -Change parallelization scheme:: - - -Dwith-mpi=[OFF|ON|] Request compilation with MPI. Optionally - give directory with MPI installation. - [default=OFF] - -Dwith-openmp=[OFF|ON|] Enable OpenMP multi-threading. - Optional: set OMP flag. [default=ON] - -Set default libraries:: - - -Dwith-gsl=[OFF|ON|] Find a gsl library. To set a specific - library, set install path.[default=ON] - -Dwith-readline=[OFF|ON|] Find a GNU Readline library. To set - a specific library, set install path. - [default=ON] - -Dwith-ltdl=[OFF|ON|] Find an ltdl library. To set a specific - ltdl, set install path. NEST uses the - ltdl for dynamic loading of external - user modules. [default=ON] - -Dwith-python=[OFF|ON] Build PyNEST. [default=ON] - -Dcythonize-pynest=[OFF|ON] Use Cython to cythonize pynestkernel.pyx. - If OFF, PyNEST has to be build from - a pre-cythonized pynestkernel.pyx. - [default=ON] - -Change compilation behavior:: - - -Dstatic-libraries=[OFF|ON] Build static executable and libraries. [default=OFF] - -Dwith-optimize=[OFF|ON|] Enable user defined optimizations. Separate - multiple flags by ';'. - [default OFF, when ON, defaults to '-O3'] - -Dwith-warning=[OFF|ON|] Enable user defined warnings. Separate - multiple flags by ';'. - [default ON, when ON, defaults to '-Wall'] - -Dwith-debug=[OFF|ON|] Enable user defined debug flags. Separate - multiple flags by ';'. - [default OFF, when ON, defaults to '-g'] - -Dwith-intel-compiler-flags=[] User defined flags for the Intel compiler. - Separate multiple flags by ';'. - [defaults to '-fp-model strict'] - -Dwith-libraries= Link additional libraries. Give full path. - Separate multiple libraries by ';'. - [default OFF] - -Dwith-includes= Add additional include paths. Give full - path without '-I'. Separate multiple include - paths by ';'. [default OFF] - -Dwith-defines= Additional defines, e.g. '-DXYZ=1'. - Separate multiple defines by ';'. [default OFF] +**Change NEST behavior:** + ++--------------------------+----------------------------------------------------+ +| -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000.0] | ++--------------------------+----------------------------------------------------+ +| -Dtics_per_step=[number] | Specify resolution. [default 100] | ++--------------------------+----------------------------------------------------+ + +**Add user modules:** + ++---------------------------------------------+----------------------------------------------------------------+ +| -Dexternal-modules=[OFF|] | External NEST modules to be linked in, separated by ';'. | +| | [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ + +**Connect NEST with external projects:** + ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-libneurosim= | Request the use of libneurosim. Optionally give the directory, | +| [OFF|ON|] | where libneurosim is installed. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-music=[OFF|ON|] | Request the use of MUSIC. Optionally give the directory, where | +| | MUSIC is installed. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-sionlib=[OFF|ON|] | Request the use of sionlib. Optionally give the directory, | +| | where sionlib is installed. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-recordingbackend-arbor=[OFF|ON] | Request compilation of the recording backend for Arbor. | +| | Requires MPI, Python and mpi4py. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ + +**Change parallelization scheme:** + ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-mpi=[OFF|ON|] | Request compilation with MPI. Optionally give directory with | +| | MPI installation. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optional: set OMP flag. MPI | +| | MPI | ++---------------------------------------------+----------------------------------------------------------------+ + +**Set default libraries:** + ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-gsl=[OFF|ON|] | Find a gsl library. To set a specific library, set install | +| | path. [default=ON] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-readline=[OFF|ON|]| Find a GNU Readline library. To set a specific library, set | +| | install path. [default=ON] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-ltdl=[OFF|ON|] | Find an ltdl library. To set a specific ltdl, set install path.| +| | NEST uses the ltdl for dynamic loading of external user | +| | modules. [default=ON] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-python=[OFF|ON] | Build PyNEST. [default=ON] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dcythonize-pynest=[OFF|ON] | Use Cython to cythonize pynestkernel.pyx. If OFF, PyNEST has to| +| | be build from a pre-cythonized pynestkernel.pyx. [default=ON] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-boost=[OFF|ON|] | Find a Boost library. To set a specific Boost installation, | +| | set install path. [default=ON] | ++---------------------------------------------+----------------------------------------------------------------+ + + +**Use detailed NEST internal timers:** + ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-detailed-timers=[OFF|ON] | Enable detailed NEST internal time measurements. Detailed | +| | timers can affect the performance. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ + +**Change compilation behavior:** + ++---------------------------------------------+----------------------------------------------------------------+ +| -Dstatic-libraries=[OFF|ON] | Build static executable and libraries. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-optimize=[OFF|ON|] | Enable user defined optimizations. Separate multiple flags by | +| | ';'. [default OFF, when ON, defaults to '-O3'] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-warning=[OFF|ON|] | Enable user defined warnings. Separate multiple flags by ';'. | +| | [default ON, when ON, defaults to '-Wall'] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-debug=[OFF|ON|] | Enable user defined debug flags. Separate multiple flags by | +| | ';'. [default OFF, when ON, defaults to '-g'] | ++---------------------------------------------+----------------------------------------------------------------+ +|-Dwith-intel-compiler-flags=[]| User defined flags for the Intel compiler. Separate multiple | +| | flags by ';'. [defaults to '-fp-model strict'] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-libraries=[] | Link additional libraries. Give full path. Separate multiple | +| | libraries by ';'. [default OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-includes=[] | Add additional include paths. Give full path without '-I'. | +| | Separate multiple include paths by ';'. [default OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-defines=[] | Additional defines, e.g. '-DXYZ=1'. Separate multiple defines | +| | by ';'. [default OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-version-suffix=[string] | Set a user defined version suffix. [default ''] | ++---------------------------------------------+----------------------------------------------------------------+ .. _compile-with-mpi: From 73cd1e19cab7d047ef99f9ba95ecad7fa7dabf31 Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Fri, 3 Sep 2021 13:26:56 +0200 Subject: [PATCH 02/19] add alphabetized table --- doc/userdoc/installation/cmake_options.rst | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index fa1ef3d649..a8d39cc3ff 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -238,3 +238,80 @@ Portland compiler ~~~~~~~~~~~~~~~~ Use the ``-Kieee`` flag to ensure that computations obey the IEEE754 standard for floating point numerics. + + +All configuration options +------------------------- + ++---------------------------------------------+----------------------------------------------------------------+ +| -Dcythonize-pynest=[OFF|ON] | Use Cython to cythonize pynestkernel.pyx. If OFF, PyNEST has to| +| | be build from a pre-cythonized pynestkernel.pyx. [default=ON] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dexternal-modules=[OFF|] | External NEST modules to be linked in, separated by ';'. | +| | [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dstatic-libraries=[OFF|ON] | Build static executable and libraries. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000.0] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dtics_per_step=[number] | Specify resolution. [default 100] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-boost=[OFF|ON|] | Find a Boost library. To set a specific Boost installation, | +| | set install path. [default=ON] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-debug=[OFF|ON|] | Enable user defined debug flags. Separate multiple flags by | +| | ';'. [default OFF, when ON, defaults to '-g'] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-defines=[] | Additional defines, e.g. '-DXYZ=1'. Separate multiple defines | +| | by ';'. [default OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-detailed-timers=[OFF|ON] | Enable detailed NEST internal time measurements. Detailed | +| | timers can affect the performance. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-gsl=[OFF|ON|] | Find a gsl library. To set a specific library, set install | +| | path. [default=ON] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-includes=[] | Add additional include paths. Give full path without '-I'. | +| | Separate multiple include paths by ';'. [default OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +|-Dwith-intel-compiler-flags=[]| User defined flags for the Intel compiler. Separate multiple | +| | flags by ';'. [defaults to '-fp-model strict'] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-libneurosim= | Request the use of libneurosim. Optionally give the directory, | +| [OFF|ON|] | where libneurosim is installed. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-libraries=[] | Link additional libraries. Give full path. Separate multiple | +| | libraries by ';'. [default OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-ltdl=[OFF|ON|] | Find an ltdl library. To set a specific ltdl, set install path.| +| | NEST uses the ltdl for dynamic loading of external user | +| | modules. [default=ON] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-mpi=[OFF|ON|] | Request compilation with MPI. Optionally give directory with | +| | MPI installation. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-music=[OFF|ON|] | Request the use of MUSIC. Optionally give the directory, where | +| | MUSIC is installed. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optional: set OMP flag. MPI | +| | MPI | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-optimize=[OFF|ON|] | Enable user defined optimizations. Separate multiple flags by | +| | ';'. [default OFF, when ON, defaults to '-O3'] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-python=[OFF|ON] | Build PyNEST. [default=ON] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-sionlib=[OFF|ON|] | Request the use of sionlib. Optionally give the directory, | +| | where sionlib is installed. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-readline=[OFF|ON|]| Find a GNU Readline library. To set a specific library, set | +| | install path. [default=ON] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-recordingbackend-arbor=[OFF|ON] | Request compilation of the recording backend for Arbor. | +| | Requires MPI, Python and mpi4py. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-version-suffix=[string] | Set a user defined version suffix. [default ''] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-warning=[OFF|ON|] | Enable user defined warnings. Separate multiple flags by ';'. | +| | [default ON, when ON, defaults to '-Wall'] | ++---------------------------------------------+----------------------------------------------------------------+ From d773d23755489bf90685cc82cec3abe783bb7b29 Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Fri, 3 Sep 2021 13:27:30 +0200 Subject: [PATCH 03/19] removed documentation already described --- doc/userdoc/installation/cmake_options.rst | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index a8d39cc3ff..37a1f080d8 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -146,7 +146,7 @@ following steps in order to add support for MPI: 3. If 2. does not work, but you know the correct compiler wrapper for your installation, try adding the following to the invocation of ``cmake``:: - -DMPI_CXX_COMPILER=myC++_CompilerWrapper + -DMPI_CXX_COMPILER=myC++_CompilerWrapper \ -DMPI_C_COMPILER=myC_CompilerWrapper -Dwith-mpi=ON When running large-scale parallel simualations and recording from many @@ -184,16 +184,6 @@ follwing switch for the invocation of ``cmake``. It expects either For details on how to use the Connection Generator Interface, see the :ref:`guide on connection management `. -Disabling the Python Bindings (PyNEST) --------------------------------------- - -To disable Python bindings use:: - - -Dwith-python=OFF - -as an argument to ``cmake``. - -Please see the :doc:`README ` for details. Python Binding (PyNEST) ----------------------- From 2df4eed2de18cc962eedecbeace634f7cfb69241 Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Tue, 7 Dec 2021 09:28:52 +0100 Subject: [PATCH 04/19] Restructure text --- doc/userdoc/installation/cmake_options.rst | 64 +++++++++++----------- 1 file changed, 31 insertions(+), 33 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index 37a1f080d8..946472c88a 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -28,36 +28,6 @@ Options for configuring NEST NEST allows for several configuration options for custom builds: -**Change NEST behavior:** - -+--------------------------+----------------------------------------------------+ -| -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000.0] | -+--------------------------+----------------------------------------------------+ -| -Dtics_per_step=[number] | Specify resolution. [default 100] | -+--------------------------+----------------------------------------------------+ - -**Add user modules:** - -+---------------------------------------------+----------------------------------------------------------------+ -| -Dexternal-modules=[OFF|] | External NEST modules to be linked in, separated by ';'. | -| | [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ - -**Connect NEST with external projects:** - -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-libneurosim= | Request the use of libneurosim. Optionally give the directory, | -| [OFF|ON|] | where libneurosim is installed. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-music=[OFF|ON|] | Request the use of MUSIC. Optionally give the directory, where | -| | MUSIC is installed. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-sionlib=[OFF|ON|] | Request the use of sionlib. Optionally give the directory, | -| | where sionlib is installed. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-recordingbackend-arbor=[OFF|ON] | Request compilation of the recording backend for Arbor. | -| | Requires MPI, Python and mpi4py. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ **Change parallelization scheme:** @@ -65,8 +35,7 @@ NEST allows for several configuration options for custom builds: | -Dwith-mpi=[OFF|ON|] | Request compilation with MPI. Optionally give directory with | | | MPI installation. [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optional: set OMP flag. MPI | -| | MPI | +| -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optional: set OMP flag. | +---------------------------------------------+----------------------------------------------------------------+ **Set default libraries:** @@ -91,7 +60,6 @@ NEST allows for several configuration options for custom builds: | | set install path. [default=ON] | +---------------------------------------------+----------------------------------------------------------------+ - **Use detailed NEST internal timers:** +---------------------------------------------+----------------------------------------------------------------+ @@ -128,6 +96,36 @@ NEST allows for several configuration options for custom builds: | -Dwith-version-suffix=[string] | Set a user defined version suffix. [default ''] | +---------------------------------------------+----------------------------------------------------------------+ +**Change NEST behavior:** + ++--------------------------+----------------------------------------------------+ +| -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000.0] | ++--------------------------+----------------------------------------------------+ +| -Dtics_per_step=[number] | Specify resolution. [default 100] | ++--------------------------+----------------------------------------------------+ + +**Add user modules:** + ++---------------------------------------------+----------------------------------------------------------------+ +| -Dexternal-modules=[OFF|] | External NEST modules to be linked in, separated by ';'. | +| | [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ + +**Connect NEST with external projects:** + ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-libneurosim= | Request the use of libneurosim. Optionally give the directory, | +| [OFF|ON|] | where libneurosim is installed. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-music=[OFF|ON|] | Request the use of MUSIC. Optionally give the directory, where | +| | MUSIC is installed. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-sionlib=[OFF|ON|] | Request the use of sionlib. Optionally give the directory, | +| | where sionlib is installed. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-recordingbackend-arbor=[OFF|ON] | Request compilation of the recording backend for Arbor. | +| | Requires MPI, Python and mpi4py. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ .. _compile-with-mpi: From bdd8914fe76e75f250e0d6e054c2fdea63471360 Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Tue, 7 Dec 2021 09:42:17 +0100 Subject: [PATCH 05/19] Add cmake options --- doc/userdoc/installation/cmake_options.rst | 32 +++++++++++++++++----- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index 946472c88a..2d34aeaa24 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -123,10 +123,23 @@ NEST allows for several configuration options for custom builds: | -Dwith-sionlib=[OFF|ON|] | Request the use of sionlib. Optionally give the directory, | | | where sionlib is installed. [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-recordingbackend-arbor=[OFF|ON] | Request compilation of the recording backend for Arbor. | -| | Requires MPI, Python and mpi4py. [default=OFF] | + +**Cross-compiling:** + +Should be set via toolchain files + ++---------------------------------------------+----------------------------------------------------------------+ +| -Denable-bluegene=[OFF|STRING] | Configure for BlueGene. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dk-computer=[OFF|ON] | Enable K computer. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dtarget-bits-split=["standard"|STRING] | Split of the 64-bit target neuron identifier type. "standard" | +| | is recommended for most users. If running on more than 262144 | +| | MPI processes or more than 512 threads, change to "hpc". | +| | [default="standard"] | +---------------------------------------------+----------------------------------------------------------------+ + .. _compile-with-mpi: Configuring NEST for Distributed Simulation with MPI @@ -235,11 +248,20 @@ All configuration options | -Dcythonize-pynest=[OFF|ON] | Use Cython to cythonize pynestkernel.pyx. If OFF, PyNEST has to| | | be build from a pre-cythonized pynestkernel.pyx. [default=ON] | +---------------------------------------------+----------------------------------------------------------------+ +| -Denable-bluegene=[OFF|STRING] | Configure for BlueGene. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ | -Dexternal-modules=[OFF|] | External NEST modules to be linked in, separated by ';'. | | | [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ +| -Dk-computer=[OFF|ON] | Enable K computer. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ | -Dstatic-libraries=[OFF|ON] | Build static executable and libraries. [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ +| -Dtarget-bits-split=["standard"|STRING] | Split of the 64-bit target neuron identifier type. "standard" | +| | is recommended for most users. If running on more than 262144 | +| | MPI processes or more than 512 threads, change to "hpc". | +| | [default="standard"] | ++---------------------------------------------+----------------------------------------------------------------+ | -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000.0] | +---------------------------------------------+----------------------------------------------------------------+ | -Dtics_per_step=[number] | Specify resolution. [default 100] | @@ -281,8 +303,7 @@ All configuration options | -Dwith-music=[OFF|ON|] | Request the use of MUSIC. Optionally give the directory, where | | | MUSIC is installed. [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optional: set OMP flag. MPI | -| | MPI | +| -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optional: set OMP flag. | +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-optimize=[OFF|ON|] | Enable user defined optimizations. Separate multiple flags by | | | ';'. [default OFF, when ON, defaults to '-O3'] | @@ -295,9 +316,6 @@ All configuration options | -Dwith-readline=[OFF|ON|]| Find a GNU Readline library. To set a specific library, set | | | install path. [default=ON] | +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-recordingbackend-arbor=[OFF|ON] | Request compilation of the recording backend for Arbor. | -| | Requires MPI, Python and mpi4py. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ | -Dwith-version-suffix=[string] | Set a user defined version suffix. [default ''] | +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-warning=[OFF|ON|] | Enable user defined warnings. Separate multiple flags by ';'. | From c65c8dca34fc4d2c6441f564df552bc19da3bfe9 Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Tue, 7 Dec 2021 13:51:25 +0100 Subject: [PATCH 06/19] fix typo --- doc/userdoc/installation/cmake_options.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index 2d34aeaa24..22dc675c63 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -160,7 +160,7 @@ following steps in order to add support for MPI: -DMPI_CXX_COMPILER=myC++_CompilerWrapper \ -DMPI_C_COMPILER=myC_CompilerWrapper -Dwith-mpi=ON -When running large-scale parallel simualations and recording from many +When running large-scale parallel simulations and recording from many neurons, writing to ASCII files might become prohibitively slow due to the large number of resulting files. By installing the `SIONlib library `_ and supplying its From 1e035cd648ec216d75bc7874d79dad92e058c8e1 Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Tue, 21 Dec 2021 09:01:04 +0100 Subject: [PATCH 07/19] Convert to headings --- doc/userdoc/installation/cmake_options.rst | 24 ++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index 22dc675c63..d3341d51b6 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -29,7 +29,8 @@ Options for configuring NEST NEST allows for several configuration options for custom builds: -**Change parallelization scheme:** +Select parallelization scheme +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-mpi=[OFF|ON|] | Request compilation with MPI. Optionally give directory with | @@ -38,7 +39,8 @@ NEST allows for several configuration options for custom builds: | -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optional: set OMP flag. | +---------------------------------------------+----------------------------------------------------------------+ -**Set default libraries:** +External libraries +~~~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-gsl=[OFF|ON|] | Find a gsl library. To set a specific library, set install | @@ -60,14 +62,16 @@ NEST allows for several configuration options for custom builds: | | set install path. [default=ON] | +---------------------------------------------+----------------------------------------------------------------+ -**Use detailed NEST internal timers:** +Use detailed NEST internal timers +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-detailed-timers=[OFF|ON] | Enable detailed NEST internal time measurements. Detailed | | | timers can affect the performance. [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ -**Change compilation behavior:** +Generic build configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ | -Dstatic-libraries=[OFF|ON] | Build static executable and libraries. [default=OFF] | @@ -96,7 +100,8 @@ NEST allows for several configuration options for custom builds: | -Dwith-version-suffix=[string] | Set a user defined version suffix. [default ''] | +---------------------------------------------+----------------------------------------------------------------+ -**Change NEST behavior:** +Change NEST behavior +~~~~~~~~~~~~~~~~~~~~ +--------------------------+----------------------------------------------------+ | -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000.0] | @@ -104,14 +109,16 @@ NEST allows for several configuration options for custom builds: | -Dtics_per_step=[number] | Specify resolution. [default 100] | +--------------------------+----------------------------------------------------+ -**Add user modules:** +Add user modules +~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ | -Dexternal-modules=[OFF|] | External NEST modules to be linked in, separated by ';'. | | | [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ -**Connect NEST with external projects:** +Connect NEST with external projects +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-libneurosim= | Request the use of libneurosim. Optionally give the directory, | @@ -124,7 +131,8 @@ NEST allows for several configuration options for custom builds: | | where sionlib is installed. [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ -**Cross-compiling:** +Cross-compiling +~~~~~~~~~~~~~~~ Should be set via toolchain files From 798d90284f2e111e00c85226078e4458005e43e1 Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Tue, 21 Dec 2021 09:08:06 +0100 Subject: [PATCH 08/19] Python as its own table --- doc/userdoc/installation/cmake_options.rst | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index d3341d51b6..692cfd4253 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -29,6 +29,17 @@ Options for configuring NEST NEST allows for several configuration options for custom builds: +Use Python to build PyNEST +~~~~~~~~~~~~~~~~~~~~~~~~~~ + ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-python=[OFF|ON|] | Find a Boost library. To set a specific Boost installation, | | | set install path. [default=ON] | +---------------------------------------------+----------------------------------------------------------------+ From e492a5e590ed56284d1f4d5a0a62966d6c747521 Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Tue, 21 Dec 2021 09:09:35 +0100 Subject: [PATCH 09/19] Remove unnecessary alphabetized table --- doc/userdoc/installation/cmake_options.rst | 82 ---------------------- 1 file changed, 82 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index 692cfd4253..e458a0945d 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -253,85 +253,3 @@ Portland compiler ~~~~~~~~~~~~~~~~ Use the ``-Kieee`` flag to ensure that computations obey the IEEE754 standard for floating point numerics. - - -All configuration options -------------------------- - -+---------------------------------------------+----------------------------------------------------------------+ -| -Dcythonize-pynest=[OFF|ON] | Use Cython to cythonize pynestkernel.pyx. If OFF, PyNEST has to| -| | be build from a pre-cythonized pynestkernel.pyx. [default=ON] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Denable-bluegene=[OFF|STRING] | Configure for BlueGene. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dexternal-modules=[OFF|] | External NEST modules to be linked in, separated by ';'. | -| | [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dk-computer=[OFF|ON] | Enable K computer. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dstatic-libraries=[OFF|ON] | Build static executable and libraries. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dtarget-bits-split=["standard"|STRING] | Split of the 64-bit target neuron identifier type. "standard" | -| | is recommended for most users. If running on more than 262144 | -| | MPI processes or more than 512 threads, change to "hpc". | -| | [default="standard"] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000.0] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dtics_per_step=[number] | Specify resolution. [default 100] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-boost=[OFF|ON|] | Find a Boost library. To set a specific Boost installation, | -| | set install path. [default=ON] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-debug=[OFF|ON|] | Enable user defined debug flags. Separate multiple flags by | -| | ';'. [default OFF, when ON, defaults to '-g'] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-defines=[] | Additional defines, e.g. '-DXYZ=1'. Separate multiple defines | -| | by ';'. [default OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-detailed-timers=[OFF|ON] | Enable detailed NEST internal time measurements. Detailed | -| | timers can affect the performance. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-gsl=[OFF|ON|] | Find a gsl library. To set a specific library, set install | -| | path. [default=ON] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-includes=[] | Add additional include paths. Give full path without '-I'. | -| | Separate multiple include paths by ';'. [default OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -|-Dwith-intel-compiler-flags=[]| User defined flags for the Intel compiler. Separate multiple | -| | flags by ';'. [defaults to '-fp-model strict'] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-libneurosim= | Request the use of libneurosim. Optionally give the directory, | -| [OFF|ON|] | where libneurosim is installed. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-libraries=[] | Link additional libraries. Give full path. Separate multiple | -| | libraries by ';'. [default OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-ltdl=[OFF|ON|] | Find an ltdl library. To set a specific ltdl, set install path.| -| | NEST uses the ltdl for dynamic loading of external user | -| | modules. [default=ON] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-mpi=[OFF|ON|] | Request compilation with MPI. Optionally give directory with | -| | MPI installation. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-music=[OFF|ON|] | Request the use of MUSIC. Optionally give the directory, where | -| | MUSIC is installed. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optional: set OMP flag. | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-optimize=[OFF|ON|] | Enable user defined optimizations. Separate multiple flags by | -| | ';'. [default OFF, when ON, defaults to '-O3'] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-python=[OFF|ON] | Build PyNEST. [default=ON] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-sionlib=[OFF|ON|] | Request the use of sionlib. Optionally give the directory, | -| | where sionlib is installed. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-readline=[OFF|ON|]| Find a GNU Readline library. To set a specific library, set | -| | install path. [default=ON] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-version-suffix=[string] | Set a user defined version suffix. [default ''] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-warning=[OFF|ON|] | Enable user defined warnings. Separate multiple flags by ';'. | -| | [default ON, when ON, defaults to '-Wall'] | -+---------------------------------------------+----------------------------------------------------------------+ From 21b53c34ec805c5ec2e9843a9f418694c24446ad Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Tue, 21 Dec 2021 09:26:39 +0100 Subject: [PATCH 10/19] K-computer and Bluegene no longer available --- doc/userdoc/installation/cmake_options.rst | 4 ---- 1 file changed, 4 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index e458a0945d..20b5e5eae6 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -142,10 +142,6 @@ Cross-compiling Should be set via toolchain files -+---------------------------------------------+----------------------------------------------------------------+ -| -Denable-bluegene=[OFF|STRING] | Configure for BlueGene. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dk-computer=[OFF|ON] | Enable K computer. [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ | -Dtarget-bits-split=["standard"|STRING] | Split of the 64-bit target neuron identifier type. "standard" | | | is recommended for most users. If running on more than 262144 | From 12ad26784744daf6609fd9cb81335041ab156e64 Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Tue, 21 Dec 2021 09:41:04 +0100 Subject: [PATCH 11/19] Combine and restructure tables --- doc/userdoc/installation/cmake_options.rst | 68 ++++++++-------------- 1 file changed, 23 insertions(+), 45 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index 20b5e5eae6..2223aeabb8 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -67,14 +67,35 @@ External libraries | -Dwith-boost=[OFF|ON|] | Find a Boost library. To set a specific Boost installation, | | | set install path. [default=ON] | +---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-libneurosim= | Request the use of libneurosim. Optionally give the directory, | +| [OFF|ON|] | where libneurosim is installed. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-music=[OFF|ON|] | Request the use of MUSIC. Optionally give the directory, where | +| | MUSIC is installed. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dwith-sionlib=[OFF|ON|] | Request the use of sionlib. Optionally give the directory, | +| | where sionlib is installed. [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ -Use detailed NEST internal timers -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +NEST properties +~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-detailed-timers=[OFF|ON] | Enable detailed NEST internal time measurements. Detailed | | | timers can affect the performance. [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ +| -Dtarget-bits-split=["standard"|"hpc"] | Split of the 64-bit target neuron identifier type. "standard" | +| | is recommended for most users. If running on more than 262144 | +| | MPI processes or more than 512 threads, change to "hpc". | +| | [default="standard"] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000.0] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dtics_per_step=[number] | Specify resolution. [default 100] | ++---------------------------------------------+----------------------------------------------------------------+ +| -Dexternal-modules=[OFF|] | External NEST modules to be linked in, separated by ';'. | +| | [default=OFF] | ++---------------------------------------------+----------------------------------------------------------------+ Generic build configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -106,49 +127,6 @@ Generic build configuration | -Dwith-version-suffix=[string] | Set a user defined version suffix. [default ''] | +---------------------------------------------+----------------------------------------------------------------+ -Change NEST behavior -~~~~~~~~~~~~~~~~~~~~ - -+--------------------------+----------------------------------------------------+ -| -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000.0] | -+--------------------------+----------------------------------------------------+ -| -Dtics_per_step=[number] | Specify resolution. [default 100] | -+--------------------------+----------------------------------------------------+ - -Add user modules -~~~~~~~~~~~~~~~~ - -+---------------------------------------------+----------------------------------------------------------------+ -| -Dexternal-modules=[OFF|] | External NEST modules to be linked in, separated by ';'. | -| | [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ - -Connect NEST with external projects -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-libneurosim= | Request the use of libneurosim. Optionally give the directory, | -| [OFF|ON|] | where libneurosim is installed. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-music=[OFF|ON|] | Request the use of MUSIC. Optionally give the directory, where | -| | MUSIC is installed. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-sionlib=[OFF|ON|] | Request the use of sionlib. Optionally give the directory, | -| | where sionlib is installed. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ - -Cross-compiling -~~~~~~~~~~~~~~~ - -Should be set via toolchain files - -+---------------------------------------------+----------------------------------------------------------------+ -| -Dtarget-bits-split=["standard"|STRING] | Split of the 64-bit target neuron identifier type. "standard" | -| | is recommended for most users. If running on more than 262144 | -| | MPI processes or more than 512 threads, change to "hpc". | -| | [default="standard"] | -+---------------------------------------------+----------------------------------------------------------------+ - .. _compile-with-mpi: From 972104bacffd0c7a9d2bcca49b9ea5d6e985f40d Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Tue, 21 Dec 2021 10:30:50 +0100 Subject: [PATCH 12/19] Add hyperlinks --- doc/userdoc/installation/cmake_options.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index 2223aeabb8..5bb78ebb87 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -40,6 +40,8 @@ Use Python to build PyNEST | | be build from a pre-cythonized pynestkernel.pyx. [default=ON] | +---------------------------------------------+----------------------------------------------------------------+ +For more details, see the :ref:`Python binding ` section below. + Select parallelization scheme ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -50,6 +52,8 @@ Select parallelization scheme | -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optional: set OMP flag. | +---------------------------------------------+----------------------------------------------------------------+ +See also the section on :ref:`building with mpi ` below. + External libraries ~~~~~~~~~~~~~~~~~~ @@ -183,6 +187,7 @@ follwing switch for the invocation of ``cmake``. It expects either For details on how to use the Connection Generator Interface, see the :ref:`guide on connection management `. +.. _compile_with_python: Python Binding (PyNEST) ----------------------- From 9efd00a726180c15f7affd46f769b166198f468e Mon Sep 17 00:00:00 2001 From: Stine Brekke Vennemo Date: Fri, 7 Jan 2022 13:36:50 +0100 Subject: [PATCH 13/19] Apply suggestions from code review Co-authored-by: Hans Ekkehard Plesser --- doc/userdoc/installation/cmake_options.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index 5bb78ebb87..911a8322c4 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -33,7 +33,7 @@ Use Python to build PyNEST ~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-python=[OFF|ON|] | Build PyNEST. To set a specific Python, set install path. | | | [default=ON] | +---------------------------------------------+----------------------------------------------------------------+ | -Dcythonize-pynest=[OFF|ON] | Use Cython to cythonize pynestkernel.pyx. If OFF, PyNEST has to| @@ -46,10 +46,10 @@ Select parallelization scheme ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-mpi=[OFF|ON|] | Request compilation with MPI. Optionally give directory with | +| -Dwith-mpi=[OFF|ON|] | Enable MPI parallelization. Optionally give directory with | | | MPI installation. [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optional: set OMP flag. | +| -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optionally set OMP compiler flags. | +---------------------------------------------+----------------------------------------------------------------+ See also the section on :ref:`building with mpi ` below. @@ -58,7 +58,7 @@ External libraries ~~~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-gsl=[OFF|ON|] | Find a gsl library. To set a specific library, set install | +| -Dwith-gsl=[OFF|ON|] | Build with the GSL library. To set a specific library, set install | | | path. [default=ON] | +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-readline=[OFF|ON|]| Find a GNU Readline library. To set a specific library, set | @@ -93,9 +93,9 @@ NEST properties | | MPI processes or more than 512 threads, change to "hpc". | | | [default="standard"] | +---------------------------------------------+----------------------------------------------------------------+ -| -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000.0] | +| -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000 tics per ms] | +---------------------------------------------+----------------------------------------------------------------+ -| -Dtics_per_step=[number] | Specify resolution. [default 100] | +| -Dtics_per_step=[number] | Specify resolution. [default 100 tics per step] | +---------------------------------------------+----------------------------------------------------------------+ | -Dexternal-modules=[OFF|] | External NEST modules to be linked in, separated by ';'. | | | [default=OFF] | @@ -108,7 +108,7 @@ Generic build configuration | -Dstatic-libraries=[OFF|ON] | Build static executable and libraries. [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-optimize=[OFF|ON|] | Enable user defined optimizations. Separate multiple flags by | -| | ';'. [default OFF, when ON, defaults to '-O3'] | +| | ';'. [default OFF (uses '-O2'); when ON, use '-O3'] | +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-warning=[OFF|ON|] | Enable user defined warnings. Separate multiple flags by ';'. | | | [default ON, when ON, defaults to '-Wall'] | @@ -117,7 +117,7 @@ Generic build configuration | | ';'. [default OFF, when ON, defaults to '-g'] | +---------------------------------------------+----------------------------------------------------------------+ |-Dwith-intel-compiler-flags=[]| User defined flags for the Intel compiler. Separate multiple | -| | flags by ';'. [defaults to '-fp-model strict'] | +| | flags by ';'. [default '-fp-model strict'] | +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-libraries=[] | Link additional libraries. Give full path. Separate multiple | | | libraries by ';'. [default OFF] | From 0f7dd10a738bbb9a9abf96dd993c641023ed569f Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Fri, 7 Jan 2022 13:39:29 +0100 Subject: [PATCH 14/19] Fix formatting after merge --- doc/userdoc/installation/cmake_options.rst | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index 911a8322c4..a7733253ae 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -33,7 +33,7 @@ Use Python to build PyNEST ~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-python=[OFF|ON|] | Build PyNEST. To set a specific Python, set install path. | +| -Dwith-python=[OFF|ON|] | Build PyNEST. To set a specific Python, set install path. | | | [default=ON] | +---------------------------------------------+----------------------------------------------------------------+ | -Dcythonize-pynest=[OFF|ON] | Use Cython to cythonize pynestkernel.pyx. If OFF, PyNEST has to| @@ -46,10 +46,11 @@ Select parallelization scheme ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-mpi=[OFF|ON|] | Enable MPI parallelization. Optionally give directory with | +| -Dwith-mpi=[OFF|ON|] | Enable MPI parallelization. Optionally give directory with | | | MPI installation. [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optionally set OMP compiler flags. | +| -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optionally set OMP compiler | +| | flags. | +---------------------------------------------+----------------------------------------------------------------+ See also the section on :ref:`building with mpi ` below. @@ -58,8 +59,8 @@ External libraries ~~~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-gsl=[OFF|ON|] | Build with the GSL library. To set a specific library, set install | -| | path. [default=ON] | +| -Dwith-gsl=[OFF|ON|] | Build with the GSL library. To set a specific library, set | +| | install path. [default=ON] | +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-readline=[OFF|ON|]| Find a GNU Readline library. To set a specific library, set | | | install path. [default=ON] | @@ -93,9 +94,9 @@ NEST properties | | MPI processes or more than 512 threads, change to "hpc". | | | [default="standard"] | +---------------------------------------------+----------------------------------------------------------------+ -| -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000 tics per ms] | +| -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000 tics per ms] | +---------------------------------------------+----------------------------------------------------------------+ -| -Dtics_per_step=[number] | Specify resolution. [default 100 tics per step] | +| -Dtics_per_step=[number] | Specify resolution. [default 100 tics per step] | +---------------------------------------------+----------------------------------------------------------------+ | -Dexternal-modules=[OFF|] | External NEST modules to be linked in, separated by ';'. | | | [default=OFF] | @@ -108,7 +109,7 @@ Generic build configuration | -Dstatic-libraries=[OFF|ON] | Build static executable and libraries. [default=OFF] | +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-optimize=[OFF|ON|] | Enable user defined optimizations. Separate multiple flags by | -| | ';'. [default OFF (uses '-O2'); when ON, use '-O3'] | +| | ';'. [default OFF (uses '-O2'); when ON, use '-O3'] | +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-warning=[OFF|ON|] | Enable user defined warnings. Separate multiple flags by ';'. | | | [default ON, when ON, defaults to '-Wall'] | @@ -117,7 +118,7 @@ Generic build configuration | | ';'. [default OFF, when ON, defaults to '-g'] | +---------------------------------------------+----------------------------------------------------------------+ |-Dwith-intel-compiler-flags=[]| User defined flags for the Intel compiler. Separate multiple | -| | flags by ';'. [default '-fp-model strict'] | +| | flags by ';'. [default '-fp-model strict'] | +---------------------------------------------+----------------------------------------------------------------+ | -Dwith-libraries=[] | Link additional libraries. Give full path. Separate multiple | | | libraries by ';'. [default OFF] | From 446760de5e40ba39c4bb471da86ed5d744562a81 Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Mon, 10 Jan 2022 14:53:08 +0100 Subject: [PATCH 15/19] Update based on review --- doc/userdoc/installation/cmake_options.rst | 150 ++++++++++----------- 1 file changed, 74 insertions(+), 76 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index a7733253ae..8fe78a33b0 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -32,13 +32,13 @@ NEST allows for several configuration options for custom builds: Use Python to build PyNEST ~~~~~~~~~~~~~~~~~~~~~~~~~~ -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-python=[OFF|ON|] | Build PyNEST. To set a specific Python, set install path. | -| | [default=ON] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dcythonize-pynest=[OFF|ON] | Use Cython to cythonize pynestkernel.pyx. If OFF, PyNEST has to| -| | be build from a pre-cythonized pynestkernel.pyx. [default=ON] | -+---------------------------------------------+----------------------------------------------------------------+ ++-----------------------------------------------+----------------------------------------------------------------+ +| ``-Dwith-python=[OFF|ON|]`` | Build PyNEST [default=ON]. To set a specific Python, set | +| | install path. | ++-----------------------------------------------+----------------------------------------------------------------+ +| ``-Dcythonize-pynest=[OFF|ON]`` | Use Cython to cythonize pynestkernel.pyx [default=ON]. If OFF, | +| | PyNEST has to be build from a pre-cythonized pynestkernel.pyx. | ++-----------------------------------------------+----------------------------------------------------------------+ For more details, see the :ref:`Python binding ` section below. @@ -46,11 +46,11 @@ Select parallelization scheme ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-mpi=[OFF|ON|] | Enable MPI parallelization. Optionally give directory with | -| | MPI installation. [default=OFF] | +| ``-Dwith-mpi=[OFF|ON|]`` | Build with MPI parallelization [default=OFF]. Optionally give | +| | directory with MPI installation. | +---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-openmp=[OFF|ON|] | Enable OpenMP multi-threading. Optionally set OMP compiler | -| | flags. | +| ``-Dwith-openmp=[OFF|ON|]`` | Build with OpenMP multi-threading [default=ON]. Optionally set | +| | OMP compiler flags. | +---------------------------------------------+----------------------------------------------------------------+ See also the section on :ref:`building with mpi ` below. @@ -58,79 +58,77 @@ See also the section on :ref:`building with mpi ` below. External libraries ~~~~~~~~~~~~~~~~~~ -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-gsl=[OFF|ON|] | Build with the GSL library. To set a specific library, set | -| | install path. [default=ON] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-readline=[OFF|ON|]| Find a GNU Readline library. To set a specific library, set | -| | install path. [default=ON] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-ltdl=[OFF|ON|] | Find an ltdl library. To set a specific ltdl, set install path.| -| | NEST uses the ltdl for dynamic loading of external user | -| | modules. [default=ON] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-boost=[OFF|ON|] | Find a Boost library. To set a specific Boost installation, | -| | set install path. [default=ON] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-libneurosim= | Request the use of libneurosim. Optionally give the directory, | -| [OFF|ON|] | where libneurosim is installed. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-music=[OFF|ON|] | Request the use of MUSIC. Optionally give the directory, where | -| | MUSIC is installed. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-sionlib=[OFF|ON|] | Request the use of sionlib. Optionally give the directory, | -| | where sionlib is installed. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ ++-------------------------------------------------------+------------------------------------------------------------------------------------------------+ +| ``-Dwith-libneurosim=[OFF|ON|]``| Build with `libneurosim `_ [default=OFF]. Optionally | +| | give the directory, where libneurosim is installed. | ++-------------------------------------------------------+------------------------------------------------------------------------------------------------+ +| ``-Dwith-music=[OFF|ON|]`` | Build with `MUSIC `_ [default=OFF]. Optionally give the | +| | directory, where MUSIC is installed. | ++-------------------------------------------------------+------------------------------------------------------------------------------------------------+ +| ``-Dwith-sionlib=[OFF|ON|]`` | Build with | +| | `sionlib `_| +| | [default=OFF]. Optionally give the directory, where sionlib is installed. | ++-------------------------------------------------------+------------------------------------------------------------------------------------------------+ +| ``-Dwith-boost=[OFF|ON|]`` | Build with Boost [default=ON]. To set a specific Boost installation, set install path. | ++-------------------------------------------------------+------------------------------------------------------------------------------------------------+ +| ``-Dwith-readline=[OFF|ON|]`` | Build with GNU Readline library [default=ON]. To set a specific library, set install path. | ++-------------------------------------------------------+------------------------------------------------------------------------------------------------+ +| ``-Dwith-ltdl=[OFF|ON|]`` | Build with ltdl library [default=ON]. To set a specific ltdl, set install path. NEST uses the | +| | ltdl for dynamic loading of external user modules. | ++-------------------------------------------------------+------------------------------------------------------------------------------------------------+ +| ``-Dwith-gsl=[OFF|ON|]`` | Build with the GSL library [default=ON]. To set a specific library, set install path. | ++-------------------------------------------------------+------------------------------------------------------------------------------------------------+ NEST properties ~~~~~~~~~~~~~~~ -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-detailed-timers=[OFF|ON] | Enable detailed NEST internal time measurements. Detailed | -| | timers can affect the performance. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dtarget-bits-split=["standard"|"hpc"] | Split of the 64-bit target neuron identifier type. "standard" | -| | is recommended for most users. If running on more than 262144 | -| | MPI processes or more than 512 threads, change to "hpc". | -| | [default="standard"] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dtics_per_ms=[number] | Specify elementary unit of time. [default 1000 tics per ms] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dtics_per_step=[number] | Specify resolution. [default 100 tics per step] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dexternal-modules=[OFF|] | External NEST modules to be linked in, separated by ';'. | -| | [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ ++-----------------------------------------------+----------------------------------------------------------------+ +| ``-Dtics_per_ms=[number]`` | Specify elementary unit of time [default=1000 tics per ms]. | ++-----------------------------------------------+----------------------------------------------------------------+ +| ``-Dtics_per_step=[number]`` | Specify resolution [default=100 tics per step]. | ++-----------------------------------------------+----------------------------------------------------------------+ +| ``-Dexternal-modules=[OFF|]``| External NEST modules to be linked in, separated by ';' | +| | [default=OFF]. | ++-----------------------------------------------+----------------------------------------------------------------+ +| ``-Dwith-detailed-timers=[OFF|ON]`` | Build with detailed internal time measurements [default=OFF]. | +| | Detailed timers can affect the performance. | ++-----------------------------------------------+----------------------------------------------------------------+ +| ``-Dtarget-bits-split=["standard"|"hpc"]`` | Split of the 64-bit target neuron identifier type | +| | [default="standard"]. "standard" is recommended for most users.| +| | If running on more than 262144 MPI processes or more than 512 | +| | threads, change to "hpc". | ++-----------------------------------------------+----------------------------------------------------------------+ Generic build configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+---------------------------------------------+----------------------------------------------------------------+ -| -Dstatic-libraries=[OFF|ON] | Build static executable and libraries. [default=OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-optimize=[OFF|ON|] | Enable user defined optimizations. Separate multiple flags by | -| | ';'. [default OFF (uses '-O2'); when ON, use '-O3'] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-warning=[OFF|ON|] | Enable user defined warnings. Separate multiple flags by ';'. | -| | [default ON, when ON, defaults to '-Wall'] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-debug=[OFF|ON|] | Enable user defined debug flags. Separate multiple flags by | -| | ';'. [default OFF, when ON, defaults to '-g'] | -+---------------------------------------------+----------------------------------------------------------------+ -|-Dwith-intel-compiler-flags=[]| User defined flags for the Intel compiler. Separate multiple | -| | flags by ';'. [default '-fp-model strict'] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-libraries=[] | Link additional libraries. Give full path. Separate multiple | -| | libraries by ';'. [default OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-includes=[] | Add additional include paths. Give full path without '-I'. | -| | Separate multiple include paths by ';'. [default OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-defines=[] | Additional defines, e.g. '-DXYZ=1'. Separate multiple defines | -| | by ';'. [default OFF] | -+---------------------------------------------+----------------------------------------------------------------+ -| -Dwith-version-suffix=[string] | Set a user defined version suffix. [default ''] | -+---------------------------------------------+----------------------------------------------------------------+ ++------------------------------------------------------+------------------------------------------------------------------+ +| ``-Dstatic-libraries=[OFF|ON]`` | Build static executable and libraries [default=OFF]. | ++------------------------------------------------------+------------------------------------------------------------------+ +| ``-Dwith-optimize=[OFF|ON|]`` | Enable user defined optimizations | +| | [default=OFF (uses '-O2'); when ON, use '-O3']. Separate | +| | multiple flags by';'. | ++------------------------------------------------------+------------------------------------------------------------------+ +| ``-Dwith-warning=[OFF|ON|]`` | Enable user defined warnings [default=ON (uses '-Wall')]. | +| | Separate multiple flags by ';'. | ++------------------------------------------------------+------------------------------------------------------------------+ +| ``-Dwith-debug=[OFF|ON|]`` | Enable user defined debug flags [default=OFF, when ON, use '-g'].| +| | Separate multiple flags by ';'. | ++------------------------------------------------------+------------------------------------------------------------------+ +| ``-Dwith-intel-compiler-flags=[OFF|]``| User defined flags for the Intel compiler | +| | [default='-fp-model strict']. Separate multiple flags by ';'. | ++------------------------------------------------------+------------------------------------------------------------------+ +| ``-Dwith-libraries=[OFF|]`` | Link additional libraries [default=OFF]. Give full path. Separate| +| | multiple libraries by ';'. | ++------------------------------------------------------+------------------------------------------------------------------+ +| ``-Dwith-includes=[OFF|]`` | Add additional include paths [default=OFF]. Give full path | +| | without '-I'. Separate multiple include paths by ';'. | ++------------------------------------------------------+------------------------------------------------------------------+ +| ``-Dwith-defines=[OFF|]`` | Additional defines, e.g. '-DXYZ=1' [default=OFF]. Separate | +| | multiple defines by ';'. | ++------------------------------------------------------+------------------------------------------------------------------+ +| ``-Dwith-version-suffix=[string]`` | Set a user defined version suffix [default='']. | ++------------------------------------------------------+------------------------------------------------------------------+ .. _compile-with-mpi: From 545e9cff9c32e542d7455f57f39605b7cda8c3e8 Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Fri, 14 Jan 2022 09:29:06 +0100 Subject: [PATCH 16/19] Change wording --- doc/userdoc/installation/cmake_options.rst | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index 8fe78a33b0..9cccba3dd9 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -33,7 +33,7 @@ Use Python to build PyNEST ~~~~~~~~~~~~~~~~~~~~~~~~~~ +-----------------------------------------------+----------------------------------------------------------------+ -| ``-Dwith-python=[OFF|ON|]`` | Build PyNEST [default=ON]. To set a specific Python, set | +| ``-Dwith-python=[OFF|ON|]`` | Build PyNEST [default=ON]. To set a specific Python, give the | | | install path. | +-----------------------------------------------+----------------------------------------------------------------+ | ``-Dcythonize-pynest=[OFF|ON]`` | Use Cython to cythonize pynestkernel.pyx [default=ON]. If OFF, | @@ -60,23 +60,23 @@ External libraries +-------------------------------------------------------+------------------------------------------------------------------------------------------------+ | ``-Dwith-libneurosim=[OFF|ON|]``| Build with `libneurosim `_ [default=OFF]. Optionally | -| | give the directory, where libneurosim is installed. | +| | give the directory where libneurosim is installed. | +-------------------------------------------------------+------------------------------------------------------------------------------------------------+ | ``-Dwith-music=[OFF|ON|]`` | Build with `MUSIC `_ [default=OFF]. Optionally give the | -| | directory, where MUSIC is installed. | +| | directory where MUSIC is installed. | +-------------------------------------------------------+------------------------------------------------------------------------------------------------+ | ``-Dwith-sionlib=[OFF|ON|]`` | Build with | | | `sionlib `_| -| | [default=OFF]. Optionally give the directory, where sionlib is installed. | +| | [default=OFF]. Optionally give the directory where sionlib is installed. | +-------------------------------------------------------+------------------------------------------------------------------------------------------------+ -| ``-Dwith-boost=[OFF|ON|]`` | Build with Boost [default=ON]. To set a specific Boost installation, set install path. | +| ``-Dwith-boost=[OFF|ON|]`` | Build with Boost [default=ON]. To set a specific Boost installation, give the install path. | +-------------------------------------------------------+------------------------------------------------------------------------------------------------+ -| ``-Dwith-readline=[OFF|ON|]`` | Build with GNU Readline library [default=ON]. To set a specific library, set install path. | +| ``-Dwith-readline=[OFF|ON|]`` | Build with GNU Readline library [default=ON]. To set a specific library, give the install path.| +-------------------------------------------------------+------------------------------------------------------------------------------------------------+ -| ``-Dwith-ltdl=[OFF|ON|]`` | Build with ltdl library [default=ON]. To set a specific ltdl, set install path. NEST uses the | +| ``-Dwith-ltdl=[OFF|ON|]`` | Build with ltdl library [default=ON]. To set a specific ltdl, give the install path. NEST uses| | | ltdl for dynamic loading of external user modules. | +-------------------------------------------------------+------------------------------------------------------------------------------------------------+ -| ``-Dwith-gsl=[OFF|ON|]`` | Build with the GSL library [default=ON]. To set a specific library, set install path. | +| ``-Dwith-gsl=[OFF|ON|]`` | Build with the GSL library [default=ON]. To set a specific library, give the install path. | +-------------------------------------------------------+------------------------------------------------------------------------------------------------+ NEST properties @@ -106,14 +106,14 @@ Generic build configuration | ``-Dstatic-libraries=[OFF|ON]`` | Build static executable and libraries [default=OFF]. | +------------------------------------------------------+------------------------------------------------------------------+ | ``-Dwith-optimize=[OFF|ON|]`` | Enable user defined optimizations | -| | [default=OFF (uses '-O2'); when ON, use '-O3']. Separate | -| | multiple flags by';'. | +| | [default=OFF (uses '-O2')]. When ON, '-O3' is used. Separate | +| | multiple flags by ';'. | +------------------------------------------------------+------------------------------------------------------------------+ | ``-Dwith-warning=[OFF|ON|]`` | Enable user defined warnings [default=ON (uses '-Wall')]. | | | Separate multiple flags by ';'. | +------------------------------------------------------+------------------------------------------------------------------+ -| ``-Dwith-debug=[OFF|ON|]`` | Enable user defined debug flags [default=OFF, when ON, use '-g'].| -| | Separate multiple flags by ';'. | +| ``-Dwith-debug=[OFF|ON|]`` | Enable user defined debug flags [default=OFF]. When ON, '-g' is | +| | used. Separate multiple flags by ';'. | +------------------------------------------------------+------------------------------------------------------------------+ | ``-Dwith-intel-compiler-flags=[OFF|]``| User defined flags for the Intel compiler | | | [default='-fp-model strict']. Separate multiple flags by ';'. | From 12ac0454c9a105b94a5cdbc92a4442bfe2b3b1db Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Fri, 14 Jan 2022 15:29:25 +0100 Subject: [PATCH 17/19] consistency in text --- doc/userdoc/installation/cmake_options.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/userdoc/installation/cmake_options.rst b/doc/userdoc/installation/cmake_options.rst index 9cccba3dd9..3c148a4e57 100644 --- a/doc/userdoc/installation/cmake_options.rst +++ b/doc/userdoc/installation/cmake_options.rst @@ -87,16 +87,16 @@ NEST properties +-----------------------------------------------+----------------------------------------------------------------+ | ``-Dtics_per_step=[number]`` | Specify resolution [default=100 tics per step]. | +-----------------------------------------------+----------------------------------------------------------------+ -| ``-Dexternal-modules=[OFF|]``| External NEST modules to be linked in, separated by ';' | +| ``-Dexternal-modules=[OFF|]``| External NEST modules to be linked in, separated by ';', | | | [default=OFF]. | +-----------------------------------------------+----------------------------------------------------------------+ | ``-Dwith-detailed-timers=[OFF|ON]`` | Build with detailed internal time measurements [default=OFF]. | | | Detailed timers can affect the performance. | +-----------------------------------------------+----------------------------------------------------------------+ -| ``-Dtarget-bits-split=["standard"|"hpc"]`` | Split of the 64-bit target neuron identifier type | -| | [default="standard"]. "standard" is recommended for most users.| +| ``-Dtarget-bits-split=['standard'|'hpc']`` | Split of the 64-bit target neuron identifier type | +| | [default='standard']. 'standard' is recommended for most users.| | | If running on more than 262144 MPI processes or more than 512 | -| | threads, change to "hpc". | +| | threads, change to 'hpc'. | +-----------------------------------------------+----------------------------------------------------------------+ Generic build configuration From b28790cfe7c47293aaa32c9d38551abba76b211d Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Fri, 14 Jan 2022 15:30:04 +0100 Subject: [PATCH 18/19] Update text in `CMakeLists.txt` to fit with cmake install documentation --- CMakeLists.txt | 75 +++++++++++++++++++++++--------------------------- 1 file changed, 35 insertions(+), 40 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c2c7e3e67a..b701d79e59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,55 +40,50 @@ if( NOT IS_ABSOLUTE ${CMAKE_INSTALL_PREFIX}) message(STATUS "Relative CMAKE_INSTALL_PREFIX has been set to absolute path ${CMAKE_INSTALL_PREFIX}") endif() -############################################################################### +################################################################################ ################## All User Defined options ################## ################################################################################ -# set NEST defaults -set( tics_per_ms "1000.0" CACHE STRING "Specify elementary unit of time. [default 1000.0]" ) -set( tics_per_step "100" CACHE STRING "Specify resolution. [default 100]" ) - -# add user modules -set( external-modules OFF CACHE STRING "External NEST modules to be linked in, separated by ';'. [default=OFF]" ) - -# use detailed NEST internal timers -set( with-detailed-timers OFF CACHE STRING "Enable detailed NEST internal time measurements. Detailed timers can affect the performance. [default=OFF]" ) - -# connect NEST with external projects -set( with-libneurosim OFF CACHE STRING "Request the use of libneurosim. Optionally give the directory, where libneurosim is installed. [default=OFF]" ) -set( with-music OFF CACHE STRING "Request the use of MUSIC. Optionally give the directory, where MUSIC is installed. [default=OFF]" ) -set( with-sionlib OFF CACHE STRING "Request the use of SIONlib. Optionally give the directory where SIONlib is installed. [default=OFF]" ) - -# set parallelization scheme -set( with-mpi OFF CACHE STRING "Request compilation with MPI. Optionally give directory with MPI installation. [default=OFF]" ) -set( with-openmp ON CACHE BOOL "Enable OpenMP multithreading. Optional: set OMP flag. [default=ON]" ) - -# define default libraries -set( with-gsl ON CACHE STRING "Find a gsl library. To set a specific gsl installation, set install path. [default=ON]" ) -set( with-readline ON CACHE STRING "Find a readline library. To set a specific readline, set install path. [default=ON]" ) -set( with-ltdl ON CACHE STRING "Find a ltdl library. To set a specific ltdl, set install path. [default=ON]" ) -set( with-python ON CACHE STRING "Build PyNEST. To set a specific Python, set install path. [default=ON]" ) -option( cythonize-pynest "Use Cython to cythonize pynestkernel.pyx. If OFF, PyNEST has to be build from a pre-cythonized pynestkernel.pyx. [default=ON]" ON ) -set( with-boost ON CACHE STRING "Find a Boost library. To set a specific Boost installation, set install path. [default=ON]" ) - -# Whether to build a 'mostly' static executable and static libraries. -option( static-libraries "Build static executable and libraries. [default=OFF]" OFF ) -# additional compile flags -set( with-optimize ON CACHE STRING "Enable user defined optimizations. [default ON, when ON, defaults to '-O2']" ) -set( with-warning ON CACHE STRING "Enable user defined warnings. [default ON, when ON, defaults to '-Wall']" ) -set( with-debug OFF CACHE STRING "Enable user defined debug flags. [default OFF, when ON, defaults to '-g']" ) -set( with-intel-compiler-flags OFF CACHE STRING "User defined flags for the Intel compiler. [defaults to '-fp-model strict']" ) -set( with-libraries OFF CACHE STRING "Link additional libraries. Give full path. Separate multiple libraries by ';'. [default OFF]" ) -set( with-includes OFF CACHE STRING "Add additional include paths. Give full path without '-I'. Separate multiple include paths by ';'. [default OFF]" ) -set( with-defines OFF CACHE STRING "Additional defines, e.g. '-DXYZ=1'. Separate multiple defines by ';'. [default OFF]" ) -set( with-version-suffix "" CACHE STRING "Set a user defined version suffix. [default '']" ) +# use Python to build PyNEST +set( with-python ON CACHE STRING "Build PyNEST [default=ON]. To set a specific Python, give the install path." ) +option( cythonize-pynest "Use Cython to cythonize pynestkernel.pyx [default=ON]. If OFF, PyNEST has to be build from a pre-cythonized pynestkernel.pyx." ON ) + +# select parallelization scheme +set( with-mpi OFF CACHE STRING "Build with MPI parallelization [default=OFF]. Optionally give directory with MPI installation." ) +set( with-openmp ON CACHE BOOL "Build with OpenMP multi-threading [default=ON]. Optionally set OMP compiler flags." ) + +# external libraries +set( with-libneurosim OFF CACHE STRING "Build with libneurosim [default=OFF]. Optionally give the directory where libneurosim is installed." ) +set( with-music OFF CACHE STRING "Build with MUSIC [default=OFF]. Optionally give the directory where MUSIC is installed." ) +set( with-sionlib OFF CACHE STRING "Build with SIONlib [default=OFF]. Optionally give the directory where sionlib is installed." ) +set( with-boost ON CACHE STRING "Build with Boost [default=ON]. To set a specific Boost installation, give the install path." ) +set( with-readline ON CACHE STRING "Build with GNU Readline library [default=ON]. To set a specific library, give the install path." ) +set( with-ltdl ON CACHE STRING "Build with ltdl library [default=ON]. To set a specific ltdl, give the install path. NEST uses ltdl for dynamic loading of external user modules." ) +set( with-gsl ON CACHE STRING "Build with the GSL library [default=ON]. To set a specific library, give the install path." ) + +# NEST properties +set( tics_per_ms "1000.0" CACHE STRING "Specify elementary unit of time [default=1000 tics per ms]." ) +set( tics_per_step "100" CACHE STRING "Specify resolution [default=100 tics per step]." ) +set( external-modules OFF CACHE STRING "External NEST modules to be linked in, separated by ';', [default=OFF]." ) +set( with-detailed-timers OFF CACHE STRING "Build with detailed internal time measurements [default=OFF]. Detailed timers can affect the performance." ) +set( target-bits-split "standard" CACHE STRING "Split of the 64-bit target neuron identifier type [default='standard']. 'standard' is recommended for most users. If running on more than 262144 MPI processes or more than 512 threads, change to 'hpc'." ) + +# Generic build configuration +option( static-libraries "Build static executable and libraries [default=OFF]" OFF ) +set( with-optimize ON CACHE STRING "Enable user defined optimizations [default=OFF (uses '-O2')]. When ON, '-O3' is used. Separate multiple flags by ';'." ) +set( with-warning ON CACHE STRING "Enable user defined warnings [default=ON (uses '-Wall')]. Separate multiple flags by ';'." ) +set( with-debug OFF CACHE STRING "Enable user defined debug flags [default=OFF]. When ON, '-g' is used. Separate multiple flags by ';'." ) +set( with-intel-compiler-flags OFF CACHE STRING "User defined flags for the Intel compiler [default='-fp-model strict']. Separate multiple flags by ';'." ) +set( with-libraries OFF CACHE STRING "Link additional libraries [default=OFF]. Give full path. Separate multiple libraries by ';'." ) +set( with-includes OFF CACHE STRING "Add additional include paths [default=OFF]. Give full path without '-I'. Separate multiple include paths by ';'." ) +set( with-defines OFF CACHE STRING "Additional defines, e.g. '-DXYZ=1' [default=OFF]. Separate multiple defines by ';'." ) +set( with-version-suffix "" CACHE STRING "Set a user defined version suffix [default='']." ) # cross-compiling # should be set via toolchain files set( enable-bluegene OFF CACHE STRING "Configure for BlueGene." ) option( k-computer "Enable K computer." OFF ) -set( target-bits-split "standard" CACHE STRING "Split of the 64-bit target neuron identifier type. 'standard' is recommended for most users. If running on more than 262144 MPI processes or more than 512 threads, change to 'hpc'. [default standard]" ) ################################################################################ ################## Project Directory variables ################## From 4af5540a5460677f895b388b7d69eed064ba2b76 Mon Sep 17 00:00:00 2001 From: Stine Vennemo Date: Fri, 14 Jan 2022 15:32:47 +0100 Subject: [PATCH 19/19] Comments use lower-case letters --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b701d79e59..ccaa11e31b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,7 +68,7 @@ set( external-modules OFF CACHE STRING "External NEST modules to be linked in, s set( with-detailed-timers OFF CACHE STRING "Build with detailed internal time measurements [default=OFF]. Detailed timers can affect the performance." ) set( target-bits-split "standard" CACHE STRING "Split of the 64-bit target neuron identifier type [default='standard']. 'standard' is recommended for most users. If running on more than 262144 MPI processes or more than 512 threads, change to 'hpc'." ) -# Generic build configuration +# generic build configuration option( static-libraries "Build static executable and libraries [default=OFF]" OFF ) set( with-optimize ON CACHE STRING "Enable user defined optimizations [default=OFF (uses '-O2')]. When ON, '-O3' is used. Separate multiple flags by ';'." ) set( with-warning ON CACHE STRING "Enable user defined warnings [default=ON (uses '-Wall')]. Separate multiple flags by ';'." )