Skip to content

Commit

Permalink
Merge branch 'master' into doc-getstarted
Browse files Browse the repository at this point in the history
  • Loading branch information
jessica-mitchell committed Mar 7, 2024
2 parents db155f5 + a392eb9 commit 0121ec8
Show file tree
Hide file tree
Showing 37 changed files with 378 additions and 170 deletions.
5 changes: 2 additions & 3 deletions doc/htmldoc/connect_nest/using_nest_with_music.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Introduction
------------

NEST supports the `MUSIC interface
<http://software.incf.org/software/music>`__, a standard by
<https://github.com/INCF/MUSIC>`__, a standard by
the INCF, which allows the transmission of data between applications at
runtime [1]_. It can be used to couple NEST with other simulators, with
applications for stimulus generation and data analysis and visualization
Expand All @@ -28,7 +28,7 @@ Reference
.. [1] Djurfeldt M, et al. 2010. Run-time interoperability between neuronal
simulators based on the MUSIC framework. Neuroinformatics, 8.
`doi:10.1007/s12021-010-9064-z*
<http://www.springerlink.com/content/r6j425027lmv1251/>`__.
<https://link.springer.com/article/10.1007/s12021-010-9064-z>`_.
Sending and receiving spike events
----------------------------------
Expand Down Expand Up @@ -384,4 +384,3 @@ which yields the following output:
Nov 23 11:33:28 SimulationManager::run [Info]:
Simulation finished.
(array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.]),)

Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Our ``clang-format`` configuration is specified in the
``clang-format`` is run automatically with ``pre-commit``.

We supply the
`build_support/format_all_c_c++_files.sh <https://github.com/nest/nest-simulator/blob/master/build_support/format_all_c_c++_files.sht>`_
`build_support/format_all_c_c++_files.sh <https://github.com/nest/nest-simulator/blob/master/build_support/format_all_c_c++_files.sh>`_
shell script to run ``clang-format`` manually:

.. code-block:: bash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ Coding style

In the following the coding style guidelines are explained by example and some
parts are adopted from `Google C++ Style
Guide <https://google-styleguide.googlecode.com/svn/trunk/cppguide.html>`_.
Guide <https://google.github.io/styleguide/cppguide.html>`_.

The #define guard
~~~~~~~~~~~~~~~~~
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ Roles look like this ``:role-name:`content```.
We will only cover a few examples here. You can find more information at the following links:


* `reStructuredText User Documentation <https://docutils.sourceforge.io/rst.html#id24>`_
* `reStructuredText User Documentation <https://docutils.sourceforge.io/rst.html>`_

* `reStructuredText Primer <https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html>`_

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ It is extremely important to work on the latest available source code. If you
work on old code, it is possible that in the meantime, someone else has
already made more changes to the same files that you have also edited. This
will result in `merge conflicts
<https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging#Basic-Merge-Conflicts>`_
<https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging>`_
and resolving these is extra work for both the development team and you. It
also muddles up the ``commit history`` of the source code.

Expand Down Expand Up @@ -326,7 +326,8 @@ Creating a pull request

When you feel your work is finished, you can create a pull request (PR). GitHub
has a nice help page that outlines the process for
`submitting pull requests <https://help.github.com/articles/using-pull-requests/#initiating-the-pull-request>`_.
`submitting pull requests
<https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#initiating-the-pull-request>`_.

Please check out our :ref:`coding style guidelines <code_style_cpp>` and
:ref:`code review guidelines <code_guidelines>` prior to submitting it.
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ Read the Docs
NEST documentation is hosted on Read the Docs. If you would like to view the documentation
on Read the Docs, you can set up your own account and link it with your Github account.

See `this guide <https://docs.readthedocs.io/en/stable/intro/import-guide.htmli>`_
See `this guide <https://docs.readthedocs.io/en/stable/intro/import-guide.html>`_
for more information.

.. toctree::
Expand Down
6 changes: 3 additions & 3 deletions doc/htmldoc/developer_space/workflows/nest_with_ides.rst
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ We present two ways to install the rest: MacPorts and Homebrew. For both version
Homebrew
^^^^^^^^

1. Follow the install instructions for Homebrew (`short <http://brew.sh/>`_) or `long <https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Installation.md#installation>`_)
1. Follow the install instructions for Homebrew (`short <http://brew.sh/>`_) or `long <https://github.com/Homebrew/brew/blob/master/docs/Installation.md>`_)
2. Open up the Terminal and execute the following lines:

.. code-block:: sh
Expand Down Expand Up @@ -430,8 +430,8 @@ Setting up the CMake configuration in CLion has the following advantages:
.. note::
`CLion <https://www.jetbrains.com/clion/>`_ is a commercial product. It is *your responsibility* to ensure that you have a valid
license permitting you to use CLion (or any software product) for your work on the
NEST Simulator.
license permitting you to use CLion (or any software product) for your work on the
NEST Simulator.
Setting up the project
~~~~~~~~~~~~~~~~~~~~~~
Expand Down
2 changes: 1 addition & 1 deletion doc/htmldoc/faqs/faqs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Installation
known issue in some :hxt_ref:`MPI` implementations. A solution is to add
--with-debug="-DMPICH\_IGNORE\_CXX\_SEEK" to the configure command
line. More details about this problem can be found
`here <http://www-unix.mcs.anl.gov/mpi/mpich/faq.htm#cxxseek>`__
`here <https://www.mpich.org/#cxxseek>`__

2. **Configure warns that Makefile.in seems to ignore the --datarootdir
setting and the installation fails because of permission errors**
Expand Down
4 changes: 2 additions & 2 deletions doc/htmldoc/faqs/qa-precise-spike-times.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Questions and answers about precise neurons
models relevant to Computational Neuroscience the dynamics of the single
neuron is not. Examples are integrate-and-fire models with linear
:hxt_ref:`subthreshold dynamics` and the AdEx model considered in `Hanuschkin
(2010) <http://dx.doi.org/10.3389/fninf.2010.00113>`__. In these cases
(2010) <https://doi.org/10.3389/fninf.2010.00113>`__. In these cases
it is possible to study the accuracy of a solution of the single neuron
dynamics.

Expand Down Expand Up @@ -61,7 +61,7 @@ Questions and answers about precise neurons
A: Although the networks dynamics is chaotic, in some cases mesoscopic
measures of network activity can be affected by the quality of the
single neuron solver. For example, `Hansel et al.
(1998) <http://dx.doi.org/10.1162/089976698300017845>`__ showed that a
(1998) <https://doi.org/10.1162/089976698300017845>`__ showed that a
measure of network synchrony exhibits a considerable error if the single
neuron dynamics is integrated using a grid-constrained algorithm.
Without confidence in the precision of the single neuron solver we
Expand Down
26 changes: 0 additions & 26 deletions doc/htmldoc/installation/admin.rst

This file was deleted.

27 changes: 25 additions & 2 deletions doc/htmldoc/installation/cmake_options.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,29 @@ NEST allows for several configuration options for custom builds:

.. _modelset_config:

Minimal configuration
~~~~~~~~~~~~~~~~~~~~~~


NEST can be compiled without any external packages; such a configuration may be useful for initial porting to a new supercomputer.
However, this implies several restrictions:

- Some neuron and synapse models will not be available, as they depend on ODE solvers from the GNU Scientific Library.
- The Python extension will not be available
- Multi-threading and parallel computing facilities will be disabled.

To configure NEST for compilation without external packages, use the following command::

cmake -DCMAKE_INSTALL_PREFIX:PATH=<nest_install_dir> \
-Dwith-python=OFF \
-Dwith-gsl=OFF \
-Dwith-readline=OFF \
-Dwith-ltdl=OFF \
-Dwith-openmp=OFF \
</path/to/nest/source>

See the :ref:`CMake Options <cmake_options>` to further adjust settings for your system.

Select built-in models
~~~~~~~~~~~~~~~~~~~~~~

Expand Down Expand Up @@ -104,7 +127,7 @@ Build documentation
If either documentation build is toggled to `ON`, you can then run ``make docs`` if you only want to
build the docs.

See also the :ref:`documentation workflow <doc_workflow>` for user facing and technical docs.
See also the :ref:`documentation workflow <doc_workflow>` for user-facing and technical docs.


External libraries
Expand Down Expand Up @@ -180,7 +203,7 @@ Generic build configuration
| ``-Dwith-intel-compiler-flags=[OFF|<list;of;flags>]``| User defined flags for the Intel compiler |
| | [default='-fp-model strict']. Separate multiple flags by ';'. |
+------------------------------------------------------+------------------------------------------------------------------+
| ``-Dwith-cpp-std=[<C++ standard>]`` | C++ standard to use for compilation [default='c++11']. |
| ``-Dwith-cpp-std=[<C++ standard>]`` | C++ standard to use for compilation [default='c++17']. |
+------------------------------------------------------+------------------------------------------------------------------+
| ``-Dwith-libraries=[OFF|<list;of;libraries>]`` | Link additional libraries [default=OFF]. Give full path. Separate|
| | multiple libraries by ';'. |
Expand Down
61 changes: 0 additions & 61 deletions doc/htmldoc/installation/hpc_install.rst

This file was deleted.

48 changes: 37 additions & 11 deletions doc/htmldoc/installation/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,54 +4,80 @@ Install NEST
============


.. grid:: 3
.. grid:: 2
:gutter: 1

.. grid-item-card:: |user| Install a pre-built NEST package using
:class-title: sd-d-flex-row sd-align-minor-center
:columns: 4

* :ref:`Docker (cross-platform) <docker>`
(Includes NESTML)
* :ref:`conda-forge (Linux/macOS) <conda_forge_install>`
* :ref:`Ubuntu PPA (Linux) <ubuntu_install>`
* :ref:`Homebrew (macOS) <macos_install>`
* :ref:`Options for Windows users <windows_install>`
* :ref:`Options for Windows users <windows_install>`


.. grid-item-card:: |dev| Source install
:class-title: sd-d-flex-row sd-align-minor-center
:columns: 4

If you want to do development with NEST

* :ref:`dev_install`

.. grid-item-card:: |admin| HPC install
.. grid-item-card:: |launch| Try NEST installation-free
:class-title: sd-d-flex-row sd-align-minor-center
:columns: 4

If you are working with HPC systems
With the JupyterHub service from EBRAINS, you can
try out NEST (and many other tools) directly in your browser.

* :ref:`Install NEST for supercomputers and clusters <hpc_install>`
.. rst-class:: imgbutton

.. image:: https://nest-simulator.org/TryItOnEBRAINS.png
:target: https://lab.ebrains.eu/hub/user-redirect/git-pull?repo=https%3A%2F%2Fgithub.com%2Fnest%2Fnest-simulator-examples&urlpath=lab%2Ftree%2Fnest-simulator-examples%2Fnotebooks%2Fnotebooks%2Fone_neuron.ipynb&branch=main


* For more info see :ref:`our guide to running Jupyter notebooks on EBRAINS <run_jupyter>`

Install related tools
~~~~~~~~~~~~~~~~~~~~~

.. grid:: 2
:gutter: 1

.. grid-item-card:: |desktop|
:class-title: sd-d-flex-row sd-align-minor-center
:columns: 4

A graphical user interface, ideal for learning and teaching concepts
regarding neural networks in classrooms and workshops.

:doc:`NEST Desktop documentation <desktop:index>` :octicon:`link-external`
* :doc:`NEST Desktop documentation <desktop:index>` :octicon:`link-external`

:ref:`Install docker container with NEST + NEST Desktop <docker_compose>`
* :ref:`Install docker container with NEST + NEST Desktop <docker_compose>`

.. grid-item-card:: |nestml|
:class-title: sd-d-flex-row sd-align-minor-center
:columns: 4

Install the NEST modeling language to create and customize models


:doc:`NESTML documentation <nestml:index>` :octicon:`link-external`
* :doc:`NESTML documentation <nestml:index>` :octicon:`link-external`

* :ref:`Install docker container for NEST + NESTML <docker>`


.. grid-item-card:: |hpc| Configure HPC systems
:class-title: sd-d-flex-row sd-align-minor-center
:columns: 4

:ref:`Install docker container for NEST + NESTML <docker>`
Find out how to set up and optimize HPC systems for NEST

* :ref:`optimize_performance`



Expand All @@ -66,14 +92,14 @@ If installation didn't work, see the :ref:`troubleshooting section <troubleshoot
:glob:

mac_install
hpc_install
livemedia
cmake_options
*

.. |user| image:: ../static/img/020-user.svg
.. |teacher| image:: ../static/img/014-teacher.svg
.. |admin| image:: ../static/img/001-shuttle.svg
.. |launch| image:: ../static/img/001-shuttle.svg
.. |dev| image:: ../static/img/dev_orange.svg
.. |desktop| image:: ../static/img/nestdesktop022023.svg
.. |nestml| image:: ../static/img/nestml022023.svg
.. |hpc| image:: ../static/img/hpc_orange128.svg
5 changes: 1 addition & 4 deletions doc/htmldoc/installation/noenv_install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Install from source without a virtual environment
=================================================

The following are the basic steps to compile and install NEST from source code. See the
:ref:`CMake Options <cmake_options>` or the :ref:`High Performance Computing <hpc_install>` instructions to
:ref:`CMake Options <cmake_options>` instructions to
further adjust settings for your system.

* If not already installed on your system, the following packages are recommended.
Expand Down Expand Up @@ -95,6 +95,3 @@ sourcing the script:
.. code-block:: sh
source <nest_install_dir>/bin/nest_vars.sh
2 changes: 1 addition & 1 deletion doc/htmldoc/installation/user.rst
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ Options for Windows users |windows|
------------------------------------

Please note that NEST does not officially support Windows. Members of our community have had success
using NEST on Windows with the `Windows Subsystem for Linux <https://ubuntu.com/tutorials/install-ubuntu-on-wsl2-on-windows-11-with-gui-support#1-overview>`_.
using NEST on Windows with the `Windows Subsystem for Linux <https://ubuntu.com/tutorials/install-ubuntu-on-wsl2-on-windows-11-with-gui-support>`_.
You can also try our :ref:`docker container <docker_win>`.

.. |linux| image:: ../static/img/linux.png
Expand Down
Loading

0 comments on commit 0121ec8

Please sign in to comment.