Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
f4b4941
Fixed horrible kernel_manager singleton design and cleaned up all cir…
JanVogelsang Aug 8, 2025
4d545f5
Delete models/quantal_stp_synapse_impl.h
JanVogelsang Aug 10, 2025
649a448
Made previously non-inlinable functions inline
JanVogelsang Aug 10, 2025
390064e
Added static modifier
JanVogelsang Aug 11, 2025
d3e0232
Merge branch 'master' of github.com:JanVogelsang/nest-simulator into …
JanVogelsang Aug 11, 2025
1eded20
Simplified get_process_id_of_node_id implementation
JanVogelsang Aug 11, 2025
98c6275
Fixed remaining bugs
JanVogelsang Aug 12, 2025
a63d91c
Removed nest_impl.h
JanVogelsang Aug 12, 2025
957b2f3
Moved from a composite singleton to inline globals
JanVogelsang Aug 12, 2025
27358c0
Minimized layer_impl.h
JanVogelsang Aug 13, 2025
d85b30e
Minimized layer_impl.h
JanVogelsang Aug 13, 2025
cd6271f
Update models/CMakeLists.txt
JanVogelsang Aug 13, 2025
6ebf55f
Fixed cherry-pick issue
JanVogelsang Aug 13, 2025
9884718
Fixed non-MPI version
JanVogelsang Aug 13, 2025
0f6edd9
Merge branch 'master' of github.com:JanVogelsang/nest-simulator into …
JanVogelsang Aug 13, 2025
691c39b
Update models/CMakeLists.txt
JanVogelsang Aug 13, 2025
4f102e1
Fixed non-MPI version
JanVogelsang Aug 13, 2025
076e11a
Fixed conngen
JanVogelsang Aug 13, 2025
0313d49
Fixed sonata
JanVogelsang Aug 13, 2025
e2ae1f3
Fixed conngen
JanVogelsang Aug 13, 2025
e02482f
Fixed sonata
JanVogelsang Aug 13, 2025
5c54119
Fixed sionlib
JanVogelsang Aug 13, 2025
508e349
Fixed sionlib
JanVogelsang Aug 13, 2025
ba7cfc6
Attempting to fix macos issue
JanVogelsang Aug 13, 2025
67f510f
Changed manager access syntax
JanVogelsang Aug 21, 2025
5f14394
Merge branch 'nest-master-inline' into nest-master
JanVogelsang Aug 21, 2025
cd959d3
Partially migrate definitions from headers
FinnBurkhardt Sep 11, 2025
050b301
Merged master
JanVogelsang Sep 18, 2025
545e34f
Merge remote-tracking branch 'nest-master/master' into nest-master
JanVogelsang Sep 18, 2025
95946a6
Attempting to fix weird compiler issue in testsuite
JanVogelsang Sep 18, 2025
8a65936
Attempting to fix weird compiler issue in testsuite
JanVogelsang Sep 18, 2025
b3441fd
Revert "Partially migrate definitions from headers"
FinnBurkhardt Sep 19, 2025
b0ebe97
Reapply "Partially migrate definitions from headers"
FinnBurkhardt Sep 19, 2025
95abad7
Update nestkernel/layer_impl.h
JanVogelsang Sep 22, 2025
3030c8a
Update nestkernel/layer_impl.h
JanVogelsang Sep 22, 2025
79b3dae
correct minor mistakes
FinnBurkhardt Sep 24, 2025
649c09a
Move inlines from clopath_archiving_node
FinnBurkhardt Sep 24, 2025
b43e26d
Move inlined functions from archiving_node
FinnBurkhardt Sep 24, 2025
4d3a0af
Move inlined functions from common_properties_hom_w
FinnBurkhardt Sep 24, 2025
cb411c9
Move inlined functions from common_synapse_
FinnBurkhardt Sep 24, 2025
b5ed1c8
Move inlined functions from conn_builder_factory
FinnBurkhardt Sep 24, 2025
bfec935
Add new cpp files to CMakeLists
FinnBurkhardt Sep 24, 2025
06dda40
Move inlined functions from conn_builder.h
FinnBurkhardt Sep 24, 2025
361f5b1
Move inlined methods from conn_parameter.h
FinnBurkhardt Sep 24, 2025
ba3f0b9
Move inlined functions from delay_checker.h
FinnBurkhardt Sep 24, 2025
cc367ea
Move inlined functions from deprecation_warning.h, device_node.h and …
FinnBurkhardt Sep 24, 2025
e0df1b5
Move inlined functions from event_delivery_manager.h
FinnBurkhardt Sep 24, 2025
ecb4e92
Move inlined functions from event.h
FinnBurkhardt Sep 24, 2025
28a6ec4
Move inlined functions from io_manager, kernel_manager, layer.h and m…
FinnBurkhardt Sep 24, 2025
29c3adc
Move inlined functions from model.h, modelrange_manager.h, modelrange.h
FinnBurkhardt Sep 24, 2025
ba25cb3
Move inlined functions from mpi_manager.h
FinnBurkhardt Sep 24, 2025
58e0901
Move inliend functions from nest_time.h and nestmodule.h
FinnBurkhardt Sep 25, 2025
b1acd2a
Move inlined function from node_collection
FinnBurkhardt Sep 25, 2025
9ed6513
Move inlined functions from node_manager
FinnBurkhardt Sep 25, 2025
0bc3cea
Move inliend methods from node.h and ntree.h
FinnBurkhardt Sep 25, 2025
dafb1dd
Move inlined methods from parameters.h and per_thread_bool_indicator.h
FinnBurkhardt Sep 25, 2025
772bc0e
Move inlined functions from proxynode.h pseudo_recording_device.h and…
FinnBurkhardt Sep 25, 2025
dde3882
Move inlined functions from recording_backed_sionlib.h, ring_buffer.h…
FinnBurkhardt Sep 25, 2025
ff56f99
Fix namespace error
FinnBurkhardt Sep 25, 2025
c9b4f0d
Move inlined functions from slice_ring_buffer.h, source_table.h, sour…
FinnBurkhardt Sep 25, 2025
0829807
Move inlined functions from sparse_node_array.h, spatial.h and spike_…
FinnBurkhardt Sep 25, 2025
f63e5f1
Move inlined functions from structural_plasticity_node.h, stimulation…
FinnBurkhardt Sep 25, 2025
6e08841
Move inlined functions from syn_id_delay.h and synaptic_element.h
FinnBurkhardt Sep 25, 2025
4664021
Move inliend methods from target_data.h, target_identifier.h, target_…
FinnBurkhardt Sep 26, 2025
c7867fd
Move inlined functions from target_table.h, target.h and vp_manager.h
FinnBurkhardt Sep 26, 2025
99b4aa0
Move inlined methods from source_table_position.h
FinnBurkhardt Sep 26, 2025
f721e79
Move template functions from conn_builder_factory.h, connection.h, co…
FinnBurkhardt Sep 26, 2025
f97dce1
Move template functions from eprop_archiving_node_readout.h and eprop…
FinnBurkhardt Sep 26, 2025
b3cf3d2
Move template functions from eprop_archiving_node.h, event_delivery_m…
FinnBurkhardt Sep 26, 2025
db56a23
Move template functions from event_delivery_manager.h, genericmodel.h…
FinnBurkhardt Sep 26, 2025
fdd0162
Move template functions rom mask_impl.h, mask.h, model_manager.h, mpi…
FinnBurkhardt Sep 30, 2025
df829ce
Fix model manager
FinnBurkhardt Oct 1, 2025
6c9dcd2
Formatting
FinnBurkhardt Oct 2, 2025
09a5b40
Merge remote-tracking branch 'nest-master/master' into move-funcs-to-cpp
JanVogelsang Oct 6, 2025
9cfcbe5
Now fully separated header and impl files
JanVogelsang Oct 6, 2025
0e2de08
Fixed missing include
JanVogelsang Oct 6, 2025
03041b6
Merge pull request #1 from JanVogelsang/finn-pr
FinnBurkhardt Oct 10, 2025
cf77eab
Merge remote-tracking branch 'nest-master/master' into move-funcs-to-cpp
JanVogelsang Oct 14, 2025
82cd774
Merge remote-tracking branch 'origin/master' into move-funcs-to-cpp
JanVogelsang Oct 14, 2025
d1d6667
Fixed copyright headers
JanVogelsang Oct 14, 2025
8644483
Fixed line endings
JanVogelsang Oct 14, 2025
de1ff08
Fixed issues when compiling without MPI
JanVogelsang Oct 16, 2025
e4e4ff0
Fixed issues when compiling with debugging symbols
JanVogelsang Oct 17, 2025
37611c0
Fixed issues when compiling with debugging symbols
JanVogelsang Oct 20, 2025
34a3801
Fixed typo
JanVogelsang Oct 20, 2025
bbc8b67
Fixed issues when compiling with debugging symbols
JanVogelsang Oct 20, 2025
cedacee
Fixed issues when compiling with debugging symbols
JanVogelsang Oct 20, 2025
79c53f5
Fixed linker issues
JanVogelsang Oct 20, 2025
b28038c
Fixed sonata missing includes
JanVogelsang Oct 20, 2025
aef9ecc
Fixed missing include
JanVogelsang Oct 21, 2025
f5c327f
Fixed missing music include
JanVogelsang Oct 21, 2025
da8d884
Fixed missing music include
JanVogelsang Oct 23, 2025
b3706ed
Merge branch 'nest:master' into master
JanVogelsang Nov 17, 2025
c6e9435
Merge remote-tracking branch 'nest-master/master' into kernel-manager…
JanVogelsang Dec 5, 2025
a870f52
Merged master
JanVogelsang Dec 5, 2025
68f110e
Post-merge cleanup
JanVogelsang Dec 5, 2025
6564627
Merge branch 'nest:master' into master
JanVogelsang Jan 7, 2026
4d5a693
Fixed undefined behavior causes by missing template specialization de…
JanVogelsang Jan 7, 2026
6a59105
Added gcc and clang cmake presets
JanVogelsang Jan 8, 2026
0b10bbf
Merge branch 'master' of github.com:JanVogelsang/nest-simulator
JanVogelsang Feb 13, 2026
349d182
Merged master
JanVogelsang Feb 13, 2026
d5a8105
Merge branch 'master' of https://github.com/nest/nest-simulator into …
JanVogelsang Mar 2, 2026
edd7a6a
Started inlining performance-critical functions
JanVogelsang Mar 2, 2026
c269494
Started inlining performance-critical functions
JanVogelsang Mar 2, 2026
8154e75
Started inlining performance-critical functions
JanVogelsang Mar 2, 2026
2d3ad48
Started inlining performance-critical functions
JanVogelsang Mar 2, 2026
e8cbfbb
Added no-semantic-interposition link flag
JanVogelsang Mar 2, 2026
49fa527
Merge remote-tracking branch 'nest-master/master' into kernel-manager…
JanVogelsang Mar 3, 2026
e0aebf3
Removed always_inline attributes again and started cleaning up result…
JanVogelsang Mar 4, 2026
cd942d1
Cleaned up circular dependencies
JanVogelsang Mar 4, 2026
e7c8fbd
Added variable back in which was only required for assertion
JanVogelsang Mar 4, 2026
66b9959
Fixed ODR mistake
JanVogelsang Mar 4, 2026
aba3a0b
Removed CMake presets again and fixed missing includes
JanVogelsang Mar 5, 2026
caf99dc
Made PGO and LTO toggle-able
JanVogelsang Mar 5, 2026
65e4c73
Fixed hpc_benchmark verbosity level
JanVogelsang Mar 5, 2026
0bdba0a
Used IWYU to remove unused includes and follow the IWYU strategy by a…
JanVogelsang Mar 5, 2026
d91aff3
Fix MUSIC includes
JanVogelsang Mar 5, 2026
04aa825
Fix MUSIC includes
JanVogelsang Mar 5, 2026
fa1ed1b
Attempting to fix MUSIC includes
JanVogelsang Mar 5, 2026
e3cc913
Finally fixed all includes
JanVogelsang Mar 5, 2026
9eee11a
Removed unnecessary Boost include
JanVogelsang Mar 5, 2026
81bb08b
Removed merge artifacts
JanVogelsang Mar 5, 2026
6f97556
Removed merge artifacts
JanVogelsang Mar 5, 2026
876c23d
Formatting
JanVogelsang Mar 5, 2026
4e7aa9c
Formatting
JanVogelsang Mar 5, 2026
67f54ba
Formatting
JanVogelsang Mar 5, 2026
5521c89
Merge remote-tracking branch 'nest-master/main' into kernel-manager-r…
JanVogelsang Mar 6, 2026
9a78128
Added constexpr where applicable and fixed linker issues
JanVogelsang Mar 6, 2026
65384eb
Fixed compile issues
JanVogelsang Mar 6, 2026
405d065
Fixed LTO
JanVogelsang Mar 6, 2026
1bca657
Started adding performance developer documentation
JanVogelsang Mar 9, 2026
130c0d2
Fixed missing sonata includes
JanVogelsang Mar 9, 2026
e7a7def
Fixed missing sonata includes
JanVogelsang Mar 9, 2026
c85c5af
Merge remote-tracking branch 'nest-master/main' into kernel-manager-r…
JanVogelsang Mar 9, 2026
6b9c9cb
Removed model manager destructor
JanVogelsang Mar 9, 2026
210a222
Merge branch 'main' of https://github.com/nest/nest-simulator into ke…
JanVogelsang Apr 13, 2026
0625910
Merge cleanups
JanVogelsang Apr 13, 2026
38adf77
Bugfixes
JanVogelsang Apr 13, 2026
0746c38
Merge branch 'nest_main' into jv_master
akorgor Apr 14, 2026
905074e
Merge pull request #14 from akorgor/merge_flush_events_into_pr_3544
JanVogelsang Apr 17, 2026
d46cab3
Merge branch 'main' of https://github.com/nest/nest-simulator into ke…
JanVogelsang Apr 17, 2026
c9c6247
Fix warnings about undefined template member when building with Clang
heplesser Apr 17, 2026
7d1da2b
Merge pull request #15 from heplesser/jv_3544
JanVogelsang Apr 17, 2026
2c07656
Minor changes
JanVogelsang Apr 18, 2026
1f12f5e
Removed redundant includes
JanVogelsang Apr 18, 2026
27891ed
Missing include
JanVogelsang Apr 18, 2026
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
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ examples/example_logs/
/libnestutil/config.h
/librandom/randomtest
/nest/nest
/sli/sli

# cmake artefacts
CMakeCache.txt
Expand Down
4 changes: 4 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ set( with-intel-compiler-flags OFF CACHE STRING "User defined flags for the Inte
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-lto OFF CACHE STRING "Control link-time optimization (LTO) [default=OFF]." )
set( with-pgo OFF CACHE STRING "Control profile-guided optimization (PGO) [default=OFF]. Set to GENERATE to build with profiling instrumentation and set to USE to use the profiling results in the final optimized build." )

# documentation build configuration
set( with-userdoc OFF CACHE STRING "Build user documentation [default=OFF]")
Expand Down Expand Up @@ -164,6 +166,8 @@ nest_process_target_bits_split()
nest_process_userdoc()
nest_process_devdoc()
nest_process_full_logging()
nest_process_pgo()
nest_process_lto()

nest_process_models()

Expand Down
2 changes: 1 addition & 1 deletion build_support/check_copyright_headers.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

"""Script to check if all files have a proper copyright header.

This script checks the copyright headers of all C/C++/SLI/Python files
This script checks the copyright headers of all C/C++/Python files
in the source code against the corresponding templates defined in
"doc/copyright_header.*". It uses the variable NEST_SOURCES to
determine the source directory to check.
Expand Down
16 changes: 16 additions & 0 deletions cmake/ConfigureSummary.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,22 @@ function( NEST_PRINT_CONFIG_SUMMARY )
message( "MPI sync timer : No" )
endif ()

message( "" )
if ( WITH_LTO )
message( "Link-time opt. (LTO): Yes" )
else ()
message( "Link-time opt. (LTO): No" )
endif ()

message( "" )
if ( PGO_MODE STREQUAL "GENERATE" )
message( "Profile-guided opt. : Generate" )
elseif( PGO_MODE STREQUAL "USE" )
message( "Profile-guided opt. : Use" )
else ()
message( "Profile-guided opt. : No" )
endif ()

message( "" )
if ( HAVE_MUSIC )
message( "Use MUSIC : Yes (MUSIC ${MUSIC_VERSION})" )
Expand Down
78 changes: 78 additions & 0 deletions cmake/ProcessOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -667,3 +667,81 @@ function( NEST_PROCESS_FULL_LOGGING )
set( ENABLE_FULL_LOGGING ON PARENT_SCOPE )
endif ()
endfunction ()

function( NEST_PROCESS_LTO )
set( WITH_LTO OFF PARENT_SCOPE )
if ( ${with-lto} STREQUAL "ON" )
set( WITH_LTO ON PARENT_SCOPE )

# enable link-time optimizations
include( CheckIPOSupported )
check_ipo_supported()
set( CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE )

if ( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
execute_process(
COMMAND ${CMAKE_CXX_COMPILER} -print-prog-name=llvm-ar
OUTPUT_VARIABLE LLVM_AR_PATH
OUTPUT_STRIP_TRAILING_WHITESPACE
)

execute_process(
COMMAND ${CMAKE_CXX_COMPILER} -print-prog-name=llvm-ranlib
OUTPUT_VARIABLE LLVM_RANLIB_PATH
OUTPUT_STRIP_TRAILING_WHITESPACE
)

# clang with LTO requires "llvm-ar" to be used instead of the standard "ar"
find_program( LLVM_AR NAMES ${LLVM_AR_PATH} llvm-ar )
find_program( LLVM_RANLIB NAMES ${LLVM_RANLIB_PATH} llvm-ranlib )

set( CMAKE_EXE_LINKER_FLAGS_INIT "-fuse-ld=lld" )
set( CMAKE_SHARED_LINKER_FLAGS_INIT "-fuse-ld=lld" )
set( CMAKE_MODULE_LINKER_FLAGS_INIT "-fuse-ld=lld" )

if ( LLVM_AR )
set( CMAKE_AR ${LLVM_AR} CACHE FILEPATH "Archiver" FORCE )
else ()
message( FATAL_ERROR "Clang with LTO requires llvm-ar" )
endif ()

if ( LLVM_RANLIB )
set( CMAKE_RANLIB ${LLVM_RANLIB} CACHE FILEPATH "Ranlib" FORCE )
else ()
message( FATAL_ERROR "Clang with LTO requires llvm-ranlib" )
endif ()
elseif ()
get_filename_component( GCC_BIN_DIR ${CMAKE_CXX_COMPILER} DIRECTORY )

find_program( GCC_AR NAMES gcc-ar HINTS ${GCC_BIN_DIR} )
find_program( GCC_RANLIB NAMES gcc-ranlib HINTS ${GCC_BIN_DIR} )

if ( GCC_AR )
set( CMAKE_AR ${GCC_AR} CACHE FILEPATH "Archiver" FORCE )
endif ()

if ( GCC_RANLIB )
set( CMAKE_RANLIB ${GCC_RANLIB} CACHE FILEPATH "Ranlib" FORCE )
endif ()
endif ()
endif ()
endfunction()

function( NEST_PROCESS_PGO )
# optional profile-guided optimization
if ( ${with-pgo} STREQUAL "OFF" )
set( PGO_MODE OFF PARENT_SCOPE )
else ()
if ( ${with-pgo} STREQUAL "GENERATE" )
message( STATUS "PGO: Instrumentation Build Enabled" )
set( PGO_MODE "GENERATE" PARENT_SCOPE )
add_compile_options( -fprofile-generate )
add_link_options( -fprofile-generate )
elseif ( ${with-pgo} STREQUAL "USE" )
message( STATUS "PGO: Optimized Build Enabled" )
set( PGO_MODE "USE" PARENT_SCOPE )
add_compile_options( -fprofile-use -fprofile-correction )
add_link_options( -fprofile-use -fprofile-correction )
endif ()
endif ()
endfunction()
Loading
Loading