Skip to content

Commit 5bbefe1

Browse files
Merge branch 'master' into model-doc-order
2 parents aecf04d + 8f8789b commit 5bbefe1

File tree

13 files changed

+142
-2
lines changed

13 files changed

+142
-2
lines changed

doc/htmldoc/benchmark_results.rst

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
.. _nest_benchmark_results:
2+
3+
NEST performance benchmarks
4+
===========================
5+
6+
7+
NEST performance is continuously monitored and improved across various network sizes.
8+
Here we show benchmarking results for NEST version 3.8 on Jureca-DC.
9+
10+
11+
Strong scaling experiment of the Microcircuit model [1]_
12+
---------------------------------------------------------
13+
14+
.. grid:: 1 1 1 1
15+
16+
.. grid-item::
17+
:columns: 10
18+
:class: sd-align-major-center
19+
20+
.. image:: /static/img/mc_benchmark.png
21+
22+
.. grid:: 1 1 1 1
23+
24+
.. grid-item::
25+
:columns: 10
26+
:class: sd-align-minor-center
27+
28+
29+
* The model has ~80 000 neurons and ~300 million synapses
30+
* Increasing number of computing resources decrease simulation time
31+
* The model runs faster than real time
32+
33+
34+
35+
36+
Strong scaling experiment of the Multi-area-model [2]_
37+
-------------------------------------------------------
38+
39+
.. grid:: 1 1 1 1
40+
41+
.. grid-item::
42+
:class: sd-align-major-center
43+
:columns: 10
44+
45+
.. image:: /static/img/mam_benchmark.png
46+
47+
48+
.. grid:: 1 1 1 1
49+
50+
.. grid-item::
51+
:columns: 10
52+
:class: sd-align-minor-center
53+
54+
* The model has ~4.1 million neurons and ~24 billion synapses
55+
* Steady decrease of run time with additional compute resources
56+
57+
58+
59+
60+
Weak scaling experiment of the HPC benchmark model [3]_
61+
--------------------------------------------------------
62+
63+
.. grid:: 1 1 1 1
64+
65+
.. grid-item::
66+
:columns: 10
67+
:class: sd-align-major-center
68+
69+
.. image:: /static/img/hpc_benchmark.png
70+
71+
72+
.. grid:: 1 1 1 1
73+
74+
.. grid-item::
75+
:columns: 10
76+
:class: sd-align-minor-center
77+
78+
79+
* The size of network scales proportionally with the computational resources used
80+
* Largest network size in this diagram: ~5.8 million neurons and ~65 billion synapses
81+
* The figure shows that NEST can handle massive networks and simulate them efficiently
82+
83+
84+
.. seealso::
85+
86+
Example networks:
87+
88+
* :doc:`/auto_examples/Potjans_2014/index`
89+
* `Multi-area model <https://inm-6.github.io/multi-area-model/>`_
90+
* :doc:`/auto_examples/hpc_benchmark`
91+
92+
References
93+
----------
94+
95+
.. [1] Potjans TC. and Diesmann M. 2014. The cell-type specific cortical
96+
microcircuit: relating structure and activity in a full-scale spiking
97+
network model. Cerebral Cortex. 24(3):785–806. DOI: `10.1093/cercor/bhs358 <https://doi.org/10.1093/cercor/bhs358>`__.
98+
99+
100+
.. [2] Schmidt M, Bakker R, Hilgetag CC, Diesmann M and van Albada SJ. 2018. Multi-scale
101+
account of the network structure of macaque visual cortex. Brain Structure
102+
and Function. 223: 1409 https://doi.org/10.1007/s00429-017-1554-4
103+
104+
.. [3] Jordan J, Ippen T, Helias M, Kitayama I, Sato M, Igarashi J, Diesmann M, Kunkel S. 2018.
105+
Extremely scalable spiking neuronal network simulation code: From laptops to exacale computers.
106+
Frontiers in Neuroinformatics. 12. https://www.frontiersin.org/journals/neuroinformatics/articles/10.3389/fninf.2018.00002

doc/htmldoc/hpc/benchmarking.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ Benchmarking NEST
77

88
When compiling NEST to perform benchmarks, see :ref:`our cmake options <performance_cmake>` for improved performance and energy saving.
99

10+
NEST performance
11+
~~~~~~~~~~~~~~~~
12+
13+
We regulary test NEST performance at various network sizes.
14+
For results of these experiments see our :ref:`nest_benchmark_results` page.
15+
1016
beNNch
1117
~~~~~~
1218

doc/htmldoc/hpc/optimizing_nest.rst

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ hardware and software of the HPC system you are using for improving the overall
1818
performance.
1919

2020

21-
Although there will be some variation between scripts and HPC systems, in general, we recommend that
21+
Although there will be some variation between scripts and HPC systems, in general, we recommend that
2222

2323
* resources are fully utilized (e.g., all available cores are used).
2424
* one thread pinned to one core (no simultaneous multithreading)
@@ -59,7 +59,11 @@ Although there will be some variation between scripts and HPC systems, in genera
5959

6060
.. seealso::
6161

62-
See our other guides on
62+
See our other guides on
6363

6464
* :ref:`parallel_computing`
6565
* :ref:`benchmark`
66+
67+
or see our performance results:
68+
69+
* :ref:`nest_benchmark_results`

doc/htmldoc/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ How NEST works --- The Big Picture
123123
Models <models/index>
124124
Python API <ref_material/pynest_api/index>
125125
ref_material/glossary
126+
benchmark_results
126127
Cite NEST <citing-nest>
127128
License <license>
128129

207 KB
Loading
255 KB
Loading
212 KB
Loading

lib/sli/sli-init.sli

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2239,6 +2239,7 @@ special prerequisites.
22392239
SeeAlso: exit_test_gracefully
22402240
*/
22412241

2242+
/skip_if_without_boost { statusdict/have_boost :: not { /skipped_no_boost exit_test_gracefully } if } def
22422243
/skip_if_no_mpi { statusdict/is_mpi :: not { /skipped_no_mpi exit_test_gracefully } if } def
22432244
/skip_if_have_mpi { statusdict/is_mpi :: { /skipped_have_mpi exit_test_gracefully } if } def
22442245
/skip_if_not_threaded { is_threaded not { /skipped_no_threading exit_test_gracefully } if } def

models/iaf_bw_2001.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include "iaf_bw_2001.h"
2424

2525
#ifdef HAVE_GSL
26+
#ifdef HAVE_BOOST
2627

2728
// Includes from libnestutil:
2829
#include "dict_util.h"
@@ -521,4 +522,5 @@ nest::iaf_bw_2001::handle( CurrentEvent& e )
521522
e.get_rel_delivery_steps( kernel().simulation_manager.get_slice_origin() ), e.get_weight() * e.get_current() );
522523
}
523524

525+
#endif // HAVE_BOOST
524526
#endif // HAVE_GSL

models/iaf_bw_2001.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "config.h"
2828

2929
#ifdef HAVE_GSL
30+
#ifdef HAVE_BOOST
3031

3132
// C includes:
3233
#include <gsl/gsl_errno.h>
@@ -516,5 +517,6 @@ iaf_bw_2001::set_status( const DictionaryDatum& d )
516517
};
517518
} // namespace
518519

520+
#endif // HAVE_BOOST
519521
#endif // HAVE_GSL
520522
#endif // IAF_BW_2001

0 commit comments

Comments
 (0)