Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate event transmission and event delivery for better performance in high-thread situations #2617

Closed
wants to merge 106 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
a4fbdbe
Remove while-loop and multi-threading (except for deliver) in gather_…
suku248 Mar 7, 2022
472affb
Ensure spike register is thread-local.
heplesser Mar 9, 2022
e8d52f4
Fixed formatting.
heplesser Mar 9, 2022
9d993f9
Merge pull request #2 from heplesser/suku_test_single_threading_in_ga…
suku248 Mar 10, 2022
5ee6d82
Remove reading thread dimension in spike register for testing
suku248 Mar 10, 2022
e647604
Merge branch 'test_single_threading_in_gather_spike_data' of github.c…
suku248 Mar 10, 2022
4b772b1
Change spike register to use thread-specific pointers to inner vectors
suku248 Mar 10, 2022
ece715d
Merge branch 'master' of github.com:nest/nest-simulator into test_sin…
heplesser Mar 30, 2022
f0610ea
Fixed merge error
heplesser Mar 30, 2022
eb5851f
Process spike receive buffer in a batchwise fashion
suku248 Mar 31, 2022
ce0ab45
Merge branch 'batchwise_processing_spike_receive_buffer' of github.co…
heplesser Mar 31, 2022
5e06435
Compressed spike mapping with fixed slot per spike.
heplesser Apr 1, 2022
c1883dd
Merge remote-tracking branch 'origin/single_batchwise' into hep_test_…
heplesser Apr 1, 2022
b4a1283
Fixed thread bugs.
heplesser Apr 1, 2022
2302845
More brute force serialization.
heplesser Jun 8, 2022
afb2ec7
Added SIONLIB omp barrier skip
JoseJVS Aug 4, 2022
f743f03
Rearranged deliver events and gather events.
JoseJVS Aug 24, 2022
cef6d8a
Moved deliver events conditional block.
JoseJVS Aug 24, 2022
02cee95
Shift event_delivery after updating nodes and gather_spikes
med-ayssar Sep 20, 2022
c7a1e50
Shift spikes timestemaps
med-ayssar Sep 27, 2022
79d4ebd
Merge branch 'debug_nest' of github.com:med-ayssar/nest-simulator int…
med-ayssar Sep 27, 2022
3c3caab
Put the delivery event back at the top of the main while-loop
med-ayssar Sep 27, 2022
98196e8
Substract lag from mindelay in deliver_event
med-ayssar Sep 28, 2022
09f5446
Fix static check error
med-ayssar Sep 28, 2022
d7052e0
Fix assertion error
med-ayssar Sep 28, 2022
0d20dfd
Fix static check error
med-ayssar Sep 28, 2022
daccac5
Clean implementation of time stamps on delivery.
heplesser Oct 2, 2022
d257e6c
Attempt to fix time stamps for secondary events.
heplesser Oct 2, 2022
f3b8033
Added minimal unit test for problems when using one-to-one connectivity.
heplesser Oct 3, 2022
f009e45
Converted one-to-one-multithreading test to pytest
heplesser Oct 4, 2022
9fc6d93
Update mip_corrdet test for delivery at beginning of slice
heplesser Oct 6, 2022
d077ac4
Attempt solution for multithreading problem
heplesser Oct 19, 2022
4e6d118
Revised compressed_spike_data_map_, removing load balancing over threads
heplesser Oct 19, 2022
2a67dc8
Fix formatting
heplesser Oct 19, 2022
c9114fb
Extended onetone_multithreaded test to spike_transmission test
heplesser Oct 20, 2022
17b8bf4
Fixed formatting
heplesser Oct 20, 2022
e7adff1
Added comment about fixed MPI buffer size for experimentation
heplesser Oct 21, 2022
8b4e7e3
Disabled all CI steps except MPI_ONLY for time of development
heplesser Oct 21, 2022
a25b26f
Test direct target buffer construction from compressed_spike_data; no…
heplesser Oct 23, 2022
caec3f8
Set 'more_targets' flag correctly. Some MPI problems, likely du to si…
heplesser Oct 23, 2022
2c612aa
Added blockwise communication of connectivity to new compressed schem…
heplesser Oct 24, 2022
ebffb39
Single-threaded MPI now working correctly
heplesser Oct 28, 2022
15aee17
Temporary fix to AssignedRanks to ensure correct MPI behavior
heplesser Oct 30, 2022
4a84375
Merging with main
med-ayssar Dec 14, 2022
7a36be2
Passing all pytests
med-ayssar Dec 14, 2022
5f702b7
Merge pull request #26 from med-ayssar/deliver_events_first_
heplesser Dec 15, 2022
0ff22e0
Re-added support for growing MPI spike buffers.
heplesser Dec 15, 2022
3aa6821
Remove spurious buffer resizing and unnecessary emitted flag
heplesser Dec 15, 2022
932c289
Fix end vs complete flag use in deliver_events
heplesser Dec 15, 2022
04aa3fc
Add comments on how spike gathering and delivery works.
heplesser Dec 16, 2022
1cac86b
Added shrinking of spike buffers
heplesser Dec 16, 2022
ff37082
Revised shrink/grow scheme
heplesser Dec 16, 2022
81a9025
Correctly place sw_comm_spikes.stop()
heplesser Dec 19, 2022
4625687
Merge branch 'master' into deliver_events_first
heplesser Dec 21, 2022
02965f1
Support SecondaryEvents in deliver_events_first branch
heplesser Feb 16, 2023
902d690
Fix communication of receive buffer position for 2ndry events with co…
heplesser Feb 18, 2023
c54b0a2
Update connection infrastructure correctly from GetConnections
heplesser Feb 19, 2023
622037b
Remove incorrect compressed_spike_data_map_ resizes
heplesser Feb 19, 2023
596f54e
Adapt rate-neuron input delay handling to deliver events first logic.
heplesser Feb 19, 2023
fe79f37
Introduce extra growth for spike buffers, improve comments; side effe…
heplesser Feb 20, 2023
92f467b
Revised scheme for exchanging buffer size information for resizing
heplesser Feb 20, 2023
055e577
Fix formatting
heplesser Feb 20, 2023
946b0b2
Merge branch 'master' into deliver_events_first
heplesser Feb 20, 2023
28c3a0f
Fix merge problem
heplesser Feb 20, 2023
5843e82
Remove unused return value
heplesser Feb 20, 2023
3d88c68
Add copy constructor and assignment op for OffGridSpikeData
heplesser Feb 20, 2023
58196ae
Change CSDMapEntry to bitfield
heplesser Feb 20, 2023
169bcb2
Activate off grid spikes
heplesser Feb 20, 2023
8311350
Collocate from offgrid register if needed
heplesser Feb 20, 2023
29291bc
Make test more focused and efficient
heplesser Feb 20, 2023
6ae042c
Adapt offgrid sending to three-dim register
heplesser Feb 21, 2023
896b2b1
Adjust test to deliver_events_first time logic
heplesser Feb 21, 2023
3daea1f
Fix delivery of both on-grid and off-grid spikes
heplesser Feb 21, 2023
eb2e595
Made buffer grow/shrink user configurable
heplesser Feb 21, 2023
08a0ade
Reactivate full set of github test
heplesser Feb 21, 2023
d2afe39
Fixed formatting
heplesser Feb 21, 2023
74c7341
Fix warnings arising from signedness
heplesser Feb 22, 2023
cd78045
Fix remaining compiler warnings
heplesser Feb 22, 2023
03845a5
Experimentally re-activate OpenMP for FullMacos CI testing
heplesser Feb 22, 2023
2d9fcfc
Revert "Experimentally re-activate OpenMP for FullMacos CI testing"
heplesser Feb 22, 2023
bbe5558
Fixed code formatting
heplesser Feb 23, 2023
1d6abad
Add debuggigng output
heplesser Feb 28, 2023
c7cbb3a
Add more debugging output
heplesser Mar 1, 2023
afd56bb
Adding target table dumping
heplesser Mar 1, 2023
49b6f48
Yet more debugging output
heplesser Mar 2, 2023
e5cbeee
Added debugging output for target exchange
heplesser Mar 27, 2023
d588fc4
Correct target exchange for compressed case
heplesser Mar 28, 2023
028851d
Disable debug output and tweak batch size for testing
heplesser Mar 28, 2023
9762c84
Deactivate source dumping
heplesser Mar 28, 2023
d08d903
Make full logging compile-time configurable
heplesser Mar 28, 2023
00b179f
Fixed C++ code formatting
heplesser Mar 28, 2023
84cb496
Set BATCH_SIZE back to 8
heplesser Apr 4, 2023
d5ad1c9
Fix comment; fix warning due to incorrect logging wrapping.
heplesser Apr 6, 2023
92f9b64
More careful macro-protection of full-logging-only code to avoid comp…
heplesser Apr 6, 2023
8803865
Remove variable never used and commented-out code.
heplesser Apr 6, 2023
d0a2016
Do not deliver events during first slice of simulation.
heplesser Apr 6, 2023
63a88ea
Add comment
heplesser Apr 6, 2023
f61cec3
Fix int/uint problem
heplesser Apr 7, 2023
f1e7c8e
Skip tests requiring multiple threads
heplesser Apr 10, 2023
79304fe
Skip also connect outdegree test when running without threads
heplesser Jul 3, 2023
d12e10d
Merging main into deliver_events_first.
heplesser Jul 3, 2023
50efeaf
Fixed data types
heplesser Jul 3, 2023
3cd6eaf
Ensure test_stdp_synapse reference data has not too many spikes; conv…
heplesser Jul 6, 2023
c204eec
Adjusted mip corrdet test to deliver events first scheme
heplesser Jul 6, 2023
2284546
Fix formatting issues
heplesser Jul 7, 2023
5bc829e
Restrict test_spike_transmission to single thread if NEST does not su…
heplesser Jul 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
37 changes: 37 additions & 0 deletions .cppcheck_suppressions
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
invalidPrintfArgType_sint:./
invalidscanf:./
unknownMacro:./testsuite/cpptests/test_target_fields.h
useStlAlgorithm:./
variableScope:./
shadowVariable:./
shadowFunction:./
constParameter:./
postfixOperator:./
passedByValue:./
virtualCallInConstructor:./
uninitMemberVar:./
noExplicitConstructor:./
missingOverride:./
identicalConditionAfterEarlyExit:./
unreadVariable:./
clarifyCondition:./
toomanyconfigs:./
unusedPrivateFunction:./
unusedVariable:./
shadowArgument:./
useInitializationList:./
noConstructor:./
stlcstrReturn:./
ConfigurationNotChecked:./
unusedStructMember:./
unpreciseMathCall:./
operatorEqVarError:./
duplicateExpression:./
// integerOverflow:./
ignoredReturnValue:./
unusedFunction:./
duplicateCondition:./
nullPointer:./
missingInclude:./
uninitvar:./

1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
d7c5ae98686622fe0b5298566d35df828be8f841
24 changes: 24 additions & 0 deletions .github/styles/Vocab/nest-vocab/accept.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
NEST
GIDCollection
iaf
aeif
psc
cond
Hodgkin
Huxley
clopath
stdp
stp
mpi
vp
rng
excitatory
inhibitory
HEP
JME
Plesser
Eppler
Hahne
Senk
Jordan
Kunkel
Empty file.
12 changes: 12 additions & 0 deletions .github/styles/nest-styles/Abbreviations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
extends: substitution
message: Use '%s' instead of '%s'
ignorecase: false
level: error
nonword: true
swap:
'\beg\b': e.g.,
'\bie\b': i.e.,
'e\.g\.(?:[^,]|$)': e.g.,
'i\.e\.(?:[^,]|$)': i.e.,
'(?i)\d{1,2} ?[ap]m': a.m. or p.m.
8 changes: 8 additions & 0 deletions .github/styles/nest-styles/Ampersands.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
extends: existence
message: "Don't use ampersands unless one is part of a company or brand name."
level: warning
nonword: true
tokens:
- '\w+\s&\s\w+'

11 changes: 11 additions & 0 deletions .github/styles/nest-styles/Annotations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
extends: existence
message: "'%s' left in text."
ignorecase: false
level: error
tokens:
- XXX
- FIXME
- TODO
- NOTE

7 changes: 7 additions & 0 deletions .github/styles/nest-styles/Capitalization.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
extends: capitalization
message: "'%s' should be in sentence case"
level: warning
scope: heading
match: $sentence

7 changes: 7 additions & 0 deletions .github/styles/nest-styles/CommasPerSentence.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
message: "More than 3 commas!"
extends: occurrence
scope: sentence
max: 3
token: ','

121 changes: 121 additions & 0 deletions .github/styles/nest-styles/ComplexWords.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
---
extends: substitution
message: Consider using %s instead of '%s'
ignorecase: true
level: warning
swap:
'approximate(?:ly)?': "'about'"
absent: "'none' or 'not here'"
abundance: "'plenty'"
accelerate: "'speed up'"
accentuate: "'stress'"
accompany: "'go with'"
accomplish: "'carry out' or 'do'"
accorded: "'given'"
accordingly: "'so'"
accrue: "'add'"
accurate: "'right' or 'exact'"
acquiesce: "'agree'"
acquire: "'get' or 'buy'"
additional: "'more' or 'extra'"
address: "'discuss'"
addressees: "'you'"
adjacent to: "'next to'"
adjustment: "'change'"
admissible: "'allowed'"
advantageous: "'helpful'"
advise: "'tell'"
aggregate: "'total'"
aircraft: "'plane'"
alleviate: "'ease'"
allocate: "'assign' or 'divide'"
alternatively: "'or'"
alternatives: "'choices' or 'options'"
ameliorate: "'improve'"
amend: "'change'"
anticipate: "'expect'"
apparent: "'clear' or 'plain'"
ascertain: "'discover' or 'find out'"
assistance: "'help'"
attain: "'meet'"
attempt: "'try'"
authorize: "'allow'"
belated: "'late'"
bestow: "'give'"
cease: "'stop' or 'end'"
collaborate: "'work together'"
commence: "'begin'"
compensate: "'pay'"
component: "'part'"
comprise: "'form' or 'include'"
concept: "'idea'"
concerning: "'about'"
confer: "'give' or 'award'"
consequently: "'so'"
consolidate: "'merge'"
constitutes: "'forms'"
contains: "'has'"
convene: "'meet'"
demonstrate: "'show' or 'prove'"
depart: "'leave'"
designate: "'choose'"
desire: "'want' or 'wish'"
determine: "'decide' or 'find'"
detrimental: "'bad' or 'harmful'"
disclose: "'share' or 'tell'"
discontinue: "'stop'"
disseminate: "'send' or 'give'"
eliminate: "'end'"
elucidate: "'explain'"
employ: "'use'"
enclosed: "inside or 'included'"
encounter: "'meet'"
endeavor: "'try'"
enumerate: "'count'"
equitable: "'fair'"
equivalent: "'equal'"
exclusively: "'only'"
expedite: "'hurry'"
facilitate: "'ease'"
females: "'women'"
finalize: "'complete' or 'finish'"
frequently: "'often'"
identical: "'same'"
incorrect: "'wrong'"
indication: "'sign'"
initiate: "'start' or 'begin'"
itemized: "'listed'"
jeopardize: "'risk'"
liaise: "'work with' or 'partner with'"
maintain: "'keep' or 'support'"
methodology: "'method'"
modify: "'change'"
monitor: "'check' or 'watch'"
multiple: "'many'"
necessitate: "'cause'"
notify: "'tell'"
numerous: "'many'"
objective: "'aim' or 'goal'"
obligate: "'bind' or 'compel'"
optimum: "'best' or 'most'"
permit: "'let'"
portion: "'part'"
possess: "'own'"
previous: "'earlier'"
previously: "'before'"
prioritize: "'rank'"
procure: "'buy'"
provide: "'give' or 'offer'"
purchase: "'buy'"
relocate: "'move'"
request: "'ask'"
solicit: "'request'"
state-of-the-art: "'latest'"
subsequent: "'later' or 'next'"
substantial: "'large'"
sufficient: "'enough'"
terminate: "'end'"
transmit: "'send'"
utilization: "'use'"
utilize: "'use'"

9 changes: 9 additions & 0 deletions .github/styles/nest-styles/ListCapitalize.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
extends: existence
message: "Capitalize the first word in a list."
level: warning
scope: list
nonword: true
tokens:
- '^[a-z].+'

12 changes: 12 additions & 0 deletions .github/styles/nest-styles/Negative.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
extends: existence
message: "Use positive language rather than negative language like “%s.”"
link: http://styleguide.mailchimp.com/grammar-and-mechanics/#header-3-write-positively
level: warning
tokens:
- can't
- won't
- don't
- doesn't
- hasn't

11 changes: 11 additions & 0 deletions .github/styles/nest-styles/NotEasy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
extends: existence
message: Consider removing '%s'
ignorecase: true
level: warning
tokens:
- simple
- just
- easily
- simply

8 changes: 8 additions & 0 deletions .github/styles/nest-styles/OxfordComma.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
extends: existence
message: 'Use the Oxford comma in a list of three or more items.'
link: 'https://contribute.jquery.org/style-guide/prose/#grammar'
scope: sentence
level: warning
tokens:
- '(?:[^,]+,){1,}\s\w+\sand'
8 changes: 8 additions & 0 deletions .github/styles/nest-styles/ParagraphLength.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
message: "Paragraphs should be less than 150 words"
extends: occurrence
scope: paragraph.rst
level: suggestion
max: 150
token: \b(\w+)\b

Loading