Skip to content

Commit 8416a2b

Browse files
committed
Fix conflicts
2 parents b66df91 + c3f458a commit 8416a2b

File tree

607 files changed

+18420
-16114
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

607 files changed

+18420
-16114
lines changed

.github/ISSUE_TEMPLATE/documentation_improvement.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Documentation improvement
33
about: Request a documentation improvement
44
title: ''
5-
labels: 'C: Documentation'
5+
labels: ''
66
assignees: ''
77

88
---

.gitignore

+3-4
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,10 @@ install/
2525
/libtool
2626
/nest/nest
2727
/nest/static_modules.h
28-
/pynest/do_tests.py
2928
/pynest/setup.py
3029
/reports/
3130
/sli/sli
3231
/testsuite/do_tests.sh
33-
/topology/setup.py
34-
/topology/doc/Topology_UserManual.out
3532
/doc/doxygen/
3633
/doc/_build/
3734
/doc/xml/
@@ -60,8 +57,10 @@ CPackSourceConfig.cmake
6057
doc/set_rcsinfo.cmake
6158
doc/fulldoc.conf
6259
doc/normaldoc.conf
63-
doc/userdocs/
60+
doc/models/
6461
doc/pynestkernel_mock.py
62+
doc/from_cpp/
63+
doc/microcircuit/
6564
lib/sli/rcsinfo.sli
6665
extras/nest_vars.sh
6766

.travis.yml

+70-67
Original file line numberDiff line numberDiff line change
@@ -18,56 +18,56 @@
1818
# You should have received a copy of the GNU General Public License
1919
# along with NEST. If not, see <http://www.gnu.org/licenses/>.
2020

21-
2221
# This is the Travis CI top-level script to setup and run the NEST
2322
# build and test environment.
2423

24+
2525
language: python
2626

27-
# Using the Sudo-enabled Ubuntu Bionic (18.04 LTS).
2827
sudo: required
2928
dist: bionic
3029

3130
env:
3231
global:
3332
- MAKEFLAGS="-j 2"
3433
stages:
35-
- Staticcheck
36-
- MPI-Threading-GSL-Python
37-
- Python-Full-build-Clang7-OsX
38-
- ARM64
39-
40-
# list of build stages to run. Stages with the same name get run in parallel.
34+
- Static-Code-Analysis
35+
- Linux-GCC
36+
- Linux-Clang
37+
- macOS
4138

4239
jobs:
40+
# list of build stages to run. Stages with the same name get run in parallel.
4341
include:
44-
- stage: Staticcheck
45-
python: 3.6.10
46-
env: xTHREADING=0 xMPI=0 xSIONLIB=0 xGSL=0 xLIBNEUROSIM=0 xLTDL=0 xREADLINE=0 xLIBBOOST=0 xPYTHON=0 xMUSIC=0 xSTATIC_ANALYSIS=1 xRUN_BUILD_AND_TESTSUITE=0 CACHE_NAME=JOB # only static code analysis
47-
- stage: MPI-Threading-GSL-Python
48-
python: 3.6.10
49-
env: xTHREADING=1 xMPI=1 xSIONLIB=0 xGSL=1 xLIBNEUROSIM=0 xLTDL=1 xREADLINE=1 xLIBBOOST=1 xPYTHON=1 xMUSIC=0 xSTATIC_ANALYSIS=0 xRUN_BUILD_AND_TESTSUITE=1 CACHE_NAME=JOB
50-
- stage: MPI-Threading-GSL-Python
51-
python: 3.6.10
52-
env: xTHREADING=0 xMPI=1 xSIONLIB=0 xGSL=0 xLIBNEUROSIM=0 xLTDL=1 xREADLINE=1 xLIBBOOST=1 xPYTHON=0 xMUSIC=0 xSTATIC_ANALYSIS=0 xRUN_BUILD_AND_TESTSUITE=1 CACHE_NAME=JOB # only MPI
53-
- stage: MPI-Threading-GSL-Python
54-
python: 3.6.10
55-
env: xTHREADING=1 xMPI=0 xSIONLIB=0 xGSL=0 xLIBNEUROSIM=0 xLTDL=1 xREADLINE=1 xLIBBOOST=1 xPYTHON=0 xMUSIC=0 xSTATIC_ANALYSIS=0 xRUN_BUILD_AND_TESTSUITE=1 CACHE_NAME=JOB # only threading
56-
- stage: MPI-Threading-GSL-Python
57-
python: 3.6.10
58-
env: xTHREADING=0 xMPI=0 xSIONLIB=0 xGSL=0 xLIBNEUROSIM=0 xLTDL=0 xREADLINE=0 xLIBBOOST=0 xPYTHON=1 xMUSIC=0 xSTATIC_ANALYSIS=0 xRUN_BUILD_AND_TESTSUITE=1 CACHE_NAME=JOB # Only Python
59-
- stage: Python-Full-build-Clang7-OsX
60-
python: 3.6.10
61-
env: xTHREADING=1 xMPI=1 xSIONLIB=1 xGSL=1 xLIBNEUROSIM=1 xLTDL=1 xREADLINE=1 xLIBBOOST=1 xPYTHON=1 xMUSIC=1 xSTATIC_ANALYSIS=0 xRUN_BUILD_AND_TESTSUITE=1 CACHE_NAME=JOB # full
62-
- stage: Python-Full-build-Clang7-OsX
42+
- stage: Static-Code-Analysis
43+
python: 3.8.2
44+
env: CACHE_NAME=JOB xNEST_BUILD_TYPE=STATIC_CODE_ANALYSIS
45+
- stage: Linux-GCC
46+
python: 3.8.2
47+
env: CACHE_NAME=JOB xNEST_BUILD_TYPE=MINIMAL
48+
- stage: Linux-GCC
49+
python: 3.8.2
50+
env: CACHE_NAME=JOB xNEST_BUILD_TYPE=MPI_ONLY
51+
- stage: Linux-GCC
52+
python: 3.8.2
53+
env: CACHE_NAME=JOB xNEST_BUILD_TYPE=OPENMP_ONLY
54+
- stage: Linux-GCC
55+
python: 3.8.2
56+
env: CACHE_NAME=JOB xNEST_BUILD_TYPE=FULL
57+
- stage: Linux-Clang
6358
language: cpp
64-
env: MATRIX_EVAL="CC=clang-7 && CXX=clang++-7" xRUN_BUILD_AND_TESTSUITE=1
65-
- stage: Python-Full-build-Clang7-OsX
59+
python: 3.6.10
60+
env: CACHE_NAME=JOB xNEST_BUILD_TYPE=MINIMAL xNEST_BUILD_COMPILER=CLANG xNEST_PYTHON_VERSION=3.6.10
61+
- stage: macOS
6662
os: osx
67-
osx_image: xcode10.3 # Python 3.7.5 running on macOS 10.14.4
63+
osx_image: xcode12 # Python 3.8.3 running on macOS 10.15.5
6864
language: shell # language 'python' results in errors on macOS
69-
env: xTHREADING=1 xMPI=0 xGSL=1 xLIBNEUROSIM=0 xLTDL=1 xREADLINE=1 xPYTHON=1 xMUSIC=0 xSTATIC_ANALYSIS=0 xRUN_BUILD_AND_TESTSUITE=1 CACHE_NAME=JOB # Without MUSIC, MPI and Libneurosim
70-
#https://docs.travis-ci.com/user/installing-dependencies#Installing-Packages-with-the-APT-Addon
65+
env: CACHE_NAME=JOB xNEST_BUILD_TYPE=FULL_NO_EXTERNAL_FEATURES
66+
cache:
67+
directories:
68+
- $HOME/.cache
69+
- $HOME/.pyenv/versions
70+
- /usr/local/Homebrew
7171
addons:
7272
apt:
7373
sources:
@@ -91,7 +91,6 @@ addons:
9191
- pkg-config
9292
- openmpi-bin
9393
- libopenmpi-dev
94-
- python3-nose
9594
- libpcre3
9695
- libpcre3-dev
9796
- llvm-9-dev
@@ -103,7 +102,6 @@ addons:
103102
- libboost-python-dev
104103
- libboost-program-options-dev
105104
- libboost-test-dev
106-
- python3-mpi4py
107105
cache:
108106
directory:
109107
- $HOME/.cache
@@ -130,23 +128,20 @@ before_install:
130128
/usr/bin/c++ --version
131129
fi
132130
- |
133-
if [ "$xRUN_BUILD_AND_TESTSUITE" = "1" ]; then
131+
if [ "$xNEST_BUILD_TYPE" != "STATIC_CODE_ANALYSIS" ]; then
134132
echo "+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +"
135133
echo "+ P R E P A R E N E S T B U I L D E N V I R O N M E N T +"
136134
echo "+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +"
137-
echo ${MATRIX_EVAL}
138-
eval "${MATRIX_EVAL}"
139135
cp extras/install_csa-libneurosim.sh $HOME
140136
cp extras/install_music.sh $HOME
141137
cp extras/install_sionlib.sh $HOME
142138
cp extras/install_libboost.sh $HOME
143139
cd $HOME/build
144140
echo $PATH
145-
# Upgrade pip and setuptools
146-
if [ MATRIX_EVAL="CC=clang-7 && CXX=clang++-7" ]; then
147-
pyenv install --list
148-
pyenv global 3.6.7
141+
if [ "$xNEST_BUILD_COMPILER" = "CLANG" ]; then
142+
pyenv global $xNEST_PYTHON_VERSION
149143
fi
144+
150145
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
151146
brew --version
152147
brew update
@@ -158,32 +153,40 @@ before_install:
158153
brew unlink gcc
159154
brew install gcc@8
160155
brew link gcc@8
161-
brew list
162-
brew leaves
163-
brew cask list
156+
find /usr/local/Cellar/ -name Python\.h
157+
find /usr/local/Cellar/ -name \*python\*dylib
164158
fi
165-
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
159+
160+
if [ "$TRAVIS_OS_NAME" != "osx" ]; then
161+
# Upgrade pip and setuptools
166162
pip install --upgrade pip setuptools
163+
pip install nose
164+
else
165+
# updating pip breaks on osx, must install man-page free nose
166+
wget https://arken.nmbu.no/~plesser/nose-1.3.7noman-py3-none-any.whl
167+
pip install nose-1.3.7noman-py3-none-any.whl
167168
fi
168-
169169
# Installing additional packages using pip as they only have
170170
# outdated versions in the Travis package whitelist.
171171
# terminaltables is required by parse_travis_log.py to create
172172
# the build summary.
173-
pip install cython scipy matplotlib terminaltables
173+
pip install cython scipy matplotlib terminaltables junitparser mpi4py
174174
pip install numpy==1.16.5
175+
pip list
175176
fi
176177
177178
install:
178179
- |
179-
if [ "$xRUN_BUILD_AND_TESTSUITE" = "1" ]; then
180+
if [ "$xNEST_BUILD_TYPE" != "STATIC_CODE_ANALYSIS" ]; then
180181
which cython
181182
cython --version
182183
which python
183184
python --version
184185
which pip
185186
pip list
186-
if [ "$TRAVIS_OS_NAME" = "linux" ]; then which nosetests; nosetests --version; nosetests --plugins; fi
187+
which nosetests
188+
nosetests --version
189+
nosetests --plugins
187190
which cmake
188191
cmake --version
189192
echo ${CC}
@@ -199,13 +202,13 @@ script:
199202
- set -o pipefail
200203
- ./extras/travis_build.sh 2>&1 | tee travis_build.sh.log
201204
- |
202-
if [ "$xRUN_BUILD_AND_TESTSUITE" = "1" ]; then
205+
if [ "$xNEST_BUILD_TYPE" != "STATIC_CODE_ANALYSIS" ]; then
203206
python extras/parse_travis_log.py travis_build.sh.log ;
204207
fi
205208
206209
before_deploy:
207210
- |
208-
if [ "$xRUN_BUILD_AND_TESTSUITE" = "1" ]; then
211+
if [ "$xNEST_BUILD_TYPE" != "STATIC_CODE_ANALYSIS" ]; then
209212
cd $TRAVIS_BUILD_DIR/build
210213
tar -zcvf reports.tar.gz ./reports
211214
tar -zcvf docs.tar.gz $TRAVIS_BUILD_DIR/result/share/doc/nest/*.*
@@ -215,19 +218,19 @@ before_deploy:
215218
fi
216219
217220
# S3 Deployment (Uploading the Travis CI build artefacts to Amazon S3).
218-
deploy:
219-
provider: s3
220-
access_key_id:
221-
secure: $ARTIFACTS_KEY
222-
secret_access_key:
223-
secure: $ARTIFACTS_SECRET
224-
bucket: "nest-travis-artefacts"
225-
region: eu-central-1
226-
skip_cleanup: true
227-
on:
228-
repo: nest/nest-simulator
229-
branch: master
230-
condition: xRUN_BUILD_AND_TESTSUITE = 1
231-
local-dir: "$TRAVIS_BUILD_DIR/build/artefacts_upload"
232-
upload-dir: "$TRAVIS_REPO_SLUG/$TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER"
233-
acl: bucket_owner_full_control
221+
#deploy:
222+
# provider: s3
223+
# access_key_id:
224+
# secure: $ARTIFACTS_KEY
225+
# secret_access_key:
226+
# secure: $ARTIFACTS_SECRET
227+
# bucket: "nest-travis-artefacts"
228+
# region: eu-central-1
229+
# skip_cleanup: true
230+
# on:
231+
# repo: nest/nest-simulator
232+
# branch: master
233+
# condition: $xNEST_BUILD_TYPE != STATIC_CODE_ANALYSIS
234+
# local-dir: "$TRAVIS_BUILD_DIR/build/artefacts_upload"
235+
# upload-dir: "$TRAVIS_REPO_SLUG/$TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER"
236+
# acl: bucket_owner_full_control

CMakeLists.txt

+16-32
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,6 @@ set( with-version-suffix "" CACHE STRING "Set a user defined version suffix. [de
7575
set( enable-bluegene OFF CACHE STRING "Configure for BlueGene." )
7676
option( k-computer "Enable K computer." OFF )
7777

78-
set( disable-timing OFF CACHE BOOL "Disable measurements via Stopwatches. [default OFF]" )
79-
set( disable-counts ON CACHE BOOL "Disable measurements of call counts. [default ON]" )
80-
8178
set( target-bits-split "standard" CACHE STRING "Split of the 64-bit target neuron identifier type. 'standard' is recommended for most users. If running on more than 262144 MPI processes or more than 512 threads, change to 'hpc'. [default standard]" )
8279

8380
################################################################################
@@ -191,26 +188,26 @@ message("-- NEST version: ${NEST_VERSION_STRING}")
191188
################## Enable Testing Targets ##################
192189
################################################################################
193190
enable_testing()
194-
set( TEST_LOGFILE ${PROJECT_BINARY_DIR}/reports/installcheck.log )
195-
file( MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/reports/ )
191+
set( TEST_OPTS "" )
196192

197193
if ( HAVE_PYTHON )
198-
add_custom_target( installcheck
199-
COMMAND ${CMAKE_COMMAND} -E env
200-
PYTHON="${PYTHON}"
201-
${CMAKE_INSTALL_FULL_DATADIR}/extras/do_tests.sh --test-pynest
202-
WORKING_DIRECTORY "${PROJECT_BINARY_DIR}"
203-
COMMENT "Execute NEST's testsuite...."
204-
)
205-
else ()
206-
add_custom_target( installcheck
207-
COMMAND ${CMAKE_COMMAND} -E env
208-
${CMAKE_INSTALL_FULL_DATADIR}/extras/do_tests.sh
209-
WORKING_DIRECTORY "${PROJECT_BINARY_DIR}"
210-
COMMENT "Execute NEST's testsuite...."
211-
)
194+
set( TEST_OPTS "${TEST_OPTS};--with-python=${PYTHON}" )
195+
endif ()
196+
197+
if ( HAVE_MUSIC )
198+
set( TEST_OPTS "${TEST_OPTS};--with-music=${MUSIC_EXECUTABLE}" )
212199
endif ()
213200

201+
add_custom_target( installcheck
202+
COMMAND ${CMAKE_COMMAND} -E env
203+
${CMAKE_INSTALL_FULL_DATADIR}/extras/do_tests.sh
204+
--prefix=${CMAKE_INSTALL_PREFIX}
205+
--report-dir="${PROJECT_BINARY_DIR}/reports"
206+
${TEST_OPTS}
207+
WORKING_DIRECTORY "${PROJECT_BINARY_DIR}"
208+
COMMENT "Executing NEST's testsuite..."
209+
)
210+
214211
# N.B. to ensure "make install" is always run before "make installcheck", we
215212
# would ideally like to add:
216213
# add_dependencies( installcheck install )
@@ -235,9 +232,7 @@ add_subdirectory( models )
235232
add_subdirectory( sli )
236233
add_subdirectory( nest )
237234
add_subdirectory( nestkernel )
238-
add_subdirectory( precise )
239235
add_subdirectory( testsuite )
240-
add_subdirectory( topology )
241236
if ( HAVE_PYTHON )
242237
add_subdirectory( pynest )
243238
endif ()
@@ -286,7 +281,6 @@ set( ALL_LIBS
286281
"-lrandom"
287282
"-lsli"
288283
"-lnestkernel"
289-
"-ltopology"
290284
"${OpenMP_CXX_FLAGS}"
291285
"${LTDL_LIBRARIES}"
292286
"${READLINE_LIBRARIES}"
@@ -339,16 +333,6 @@ configure_file(
339333
"${PROJECT_BINARY_DIR}/pynest/setup.py" @ONLY
340334
)
341335

342-
configure_file(
343-
"${PROJECT_SOURCE_DIR}/pynest/do_tests.py.in"
344-
"${PROJECT_BINARY_DIR}/pynest/do_tests.py" @ONLY
345-
)
346-
347-
configure_file(
348-
"${PROJECT_SOURCE_DIR}/testsuite/do_tests.sh.in"
349-
"${PROJECT_BINARY_DIR}/testsuite/do_tests.sh" @ONLY
350-
)
351-
352336
configure_file(
353337
"${PROJECT_SOURCE_DIR}/extras/nest-config.in"
354338
"${PROJECT_BINARY_DIR}/extras/nest-config" @ONLY

0 commit comments

Comments
 (0)