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

Implemented func to get CUDA memory usage, implemented automatic,nonGUI version of MPI connection memory tests #110

Open
wants to merge 17 commits into
base: nest-gpu-2.0-dev-mpi
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
0285035
Implementing templates for connection structures
golosio Dec 29, 2023
2c047f8
Merge branch 'improve-2.0-dev-mpi' of https://github.com/golosio/nest…
golosio Dec 29, 2023
7231b27
Implemented abstract Connection class and template ConnectionTemplate…
golosio Jan 5, 2024
7b13b9b
Implementing 16 bit connections, with type conn16b_key (8 bytes) and …
golosio Jan 6, 2024
410d887
Implemented 16 bit connections, with type conn16b_key (8 bytes) and s…
golosio Jan 6, 2024
04acb39
Fixed bug in conn16b_struct connection structure type
golosio Jan 8, 2024
71569af
Implemented function to get CUDA memory usage of each MPI process, pe…
golosio Jan 12, 2024
06cd98c
Reduced memory overhead in remote connection structures creation on s…
golosio Jan 18, 2024
28d197b
Merged changes from nestgpu-2.0-dev-mpi branch
golosio Jan 19, 2024
d3a7ced
Formatted source c++/cuda files with clang-format. Checked with clang…
golosio Jan 21, 2024
a08be29
Improved clang-tidy-cuda.sh and check_all_c_c++_cu_files.sh scripts t…
golosio Jan 21, 2024
d906fb4
created folder build_support with scripts to format all c/c++/cuda fi…
golosio Jan 22, 2024
22b4a78
Introduced count of files changed by recursive clang-format
golosio Jan 23, 2024
e460f2c
Fixed test_16b.py so that it can work no matter what the default choi…
golosio Jan 25, 2024
783057c
Implemented summary.sh script to extract and summarize results of MPI…
golosio Jan 26, 2024
f2b4211
Fixed order of initialization of connection class parameters dependin…
golosio Jan 26, 2024
513d405
Fixed small bug in script benchmark_terminal.sh
golosio Jan 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 124 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
Language: Cpp
AccessModifierOffset: -2
AlignAfterOpenBracket: DontAlign
AlignConsecutiveMacros: false
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Left
AlignOperands: false
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: All
AlwaysBreakAfterReturnType: AllDefinitions
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: true
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: false
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Allman
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeComma
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 120
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 2
ContinuationIndentWidth: 2
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: false
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
- Regex: '.*'
Priority: 1
IncludeIsMainRegex: '(Test)?$'
IndentCaseLabels: false
IndentPPDirectives: None
IndentWidth: 2
IndentWrappedFunctionNames: false
InsertBraces: true
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 2
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 4
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Left
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: true
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: true
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: true
SpacesInParentheses: true
SpacesInSquareBrackets: true
Standard: Cpp03
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 8
UseTab: Never
1 change: 1 addition & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Checks: '-*,modernize-use-nullptr,modernize-use-override,bugprone,modernize-redundant-void-arg'
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,9 @@ doxygen
python/test/log.txt
python/Potjans_2014/data/
python/Potjans_2014_tmp/data/
python/mpi_mem_check/test_*.dat
python/mpi_mem_check/req_mem_*.dat
python/mpi_mem_check/full_*.dat
python/mpi_mem_check/log*.txt
python/mpi_mem_check/report.nsys-rep
.vscode/
166 changes: 76 additions & 90 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,54 @@ CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@

HCUSRC=\
connect.h \
conn12b.h \
conn16b.h \
remote_connect.h \
connect_rules.h \
connect_spec.h \
nestgpu.h \
get_spike.h \
send_spike.h \
rev_spike.h \
spike_buffer.h \
remote_spike.h \
mpi_comm.h \
base_neuron.h \
node_group.h \
neuron_models.h \
poiss_gen.h \
poiss_gen_variables.h \
cuda_error.h \
ngpu_exception.h \
getRealTime.h \
random.h \
utilities.h \
distribution.h \
scan.h \
prefix_scan.h \
nested_loop.h \
copass_kernels.h \
copass_sort.h \
connect.h \
iaf_psc_exp_g.h \
iaf_psc_exp_hc_params.h \
iaf_psc_exp_hc.h \
iaf_psc_exp.h \
rk5_const.h \
rk5.h \
rk5_interface.h \
propagate_error.h \
propagator_stability.h \
stdp.h \
syn_model.h \
test_syn_model.h \
spike_detector.h \
spike_generator.h \
parrot_neuron.h \
multimeter.h \
ext_neuron.h \
user_m1.h \
user_m1_kernel.h \
user_m1_rk5.h \
user_m2.h \
user_m2_kernel.h \
user_m2_rk5.h \
aeif_cond_alpha.h \
aeif_cond_alpha_kernel.h \
aeif_cond_alpha_multisynapse.h \
Expand All @@ -46,17 +83,6 @@ aeif_psc_exp_kernel.h \
aeif_psc_exp_multisynapse.h \
aeif_psc_exp_multisynapse_kernel.h \
aeif_psc_exp_multisynapse_rk5.h \
base_neuron.h \
connect.h \
connect_rules.h \
connect_spec.h \
copass_kernels.h \
copass_sort.h \
cuda_error.h \
distribution.h \
ext_neuron.h \
getRealTime.h \
get_spike.h \
iaf_psc_exp_g.h \
iaf_psc_exp.h \
iaf_psc_exp_hc.h \
Expand All @@ -68,53 +94,46 @@ izhikevich_cond_beta_rk5.h \
izhikevich.h \
izhikevich_psc_exp_2s.h \
izhikevich_psc_exp_5s.h \
izhikevich_psc_exp.h \
multimeter.h \
nested_loop.h \
nestgpu.h \
neuron_models.h \
ngpu_exception.h \
node_group.h \
parrot_neuron.h \
poiss_gen.h \
poiss_gen_variables.h \
prefix_scan.h \
propagate_error.h \
propagator_stability.h \
random.h \
rev_spike.h \
rk5_const.h \
rk5.h \
rk5_interface.h \
scan.h \
send_spike.h \
spike_buffer.h \
spike_detector.h \
spike_generator.h \
remote_spike.h \
mpi_comm.h \
stdp.h \
syn_model.h \
test_syn_model.h \
user_m1.h \
user_m1_kernel.h \
user_m1_rk5.h \
user_m2.h \
user_m2_kernel.h \
user_m2_rk5.h \
utilities.h
izhikevich_psc_exp.h

CUSRC=\
connect.cu \
conn12b.cu \
conn16b.cu \
remote_connect.cu \
connect_rules.cu \
nestgpu.cu \
get_spike.cu \
send_spike.cu \
rev_spike.cu \
spike_buffer.cu \
remote_spike.cu \
mpi_comm.cu \
base_neuron.cu \
node_group.cu \
neuron_models.cu \
poiss_gen.cu \
getRealTime.cu \
random.cu \
utilities.cu \
distribution.cu \
scan.cu \
prefix_scan.cu \
nested_loop.cu \
copass_kernels.cu \
copass_sort.cu \
connect.cu \
iaf_psc_exp_g.cu \
iaf_psc_exp_hc.cu \
iaf_psc_exp.cu \
rk5.cu \
propagator_stability.cu \
stdp.cu \
syn_model.cu \
test_syn_model.cu \
spike_detector.cu \
spike_generator.cu \
parrot_neuron.cu \
multimeter.cu \
ext_neuron.cu \
user_m1.cu \
user_m2.cu \
aeif_cond_alpha.cu \
aeif_cond_alpha_multisynapse.cu \
aeif_cond_beta.cu \
Expand All @@ -124,15 +143,6 @@ aeif_psc_alpha_multisynapse.cu \
aeif_psc_delta.cu \
aeif_psc_exp.cu \
aeif_psc_exp_multisynapse.cu \
base_neuron.cu \
connect.cu \
connect_rules.cu \
copass_kernels.cu \
copass_sort.cu \
distribution.cu \
ext_neuron.cu \
getRealTime.cu \
get_spike.cu \
iaf_psc_exp.cu \
iaf_psc_exp_g.cu \
iaf_psc_exp_hc.cu \
Expand All @@ -141,32 +151,8 @@ izhikevich_cond_beta.cu \
izhikevich.cu \
izhikevich_psc_exp_2s.cu \
izhikevich_psc_exp_5s.cu \
izhikevich_psc_exp.cu \
multimeter.cu \
nested_loop.cu \
nestgpu.cu \
neuron_models.cu \
node_group.cu \
parrot_neuron.cu \
poiss_gen.cu \
prefix_scan.cu \
propagator_stability.cu \
random.cu \
rev_spike.cu \
rk5.cu \
scan.cu \
send_spike.cu \
spike_buffer.cu \
spike_detector.cu \
spike_generator.cu \
remote_spike.cu \
mpi_comm.cu \
stdp.cu \
syn_model.cu \
test_syn_model.cu \
user_m1.cu \
user_m2.cu \
utilities.cu
izhikevich_psc_exp.cu


HCPPSRC=\
nestgpu_C.h
Expand Down
1 change: 1 addition & 0 deletions build_support/.clang-tidy-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.cuh
Loading