Release 8.1.0
github-actions
released this
25 Mar 16:52
·
10 commits
to e7633ff0b480a2b9ea61c4c3fb385cff4c48f7e0
since this release
8.1.0
Release Date : 25-03-2022
What's New
-
Python wheels
- Support for ARM (Aarch64) Platform wheels via CircleCI - Python 3.6 to 3.10 (#1676)
- Apple M1 Platform wheels - Python 3.8 to 3.10 (#1649)
- NVIDIA GPU enabled wheels
- First iteration released under a separate package:
neuron-gpu
- Must use NVHPC 21.1 SDK when you compile your MOD files (#1657)
- First iteration released under a separate package:
- Improved CoreNEURON support (#1705)
- Use vendor compilers like Intel, Cray or NVHPC for better performance when you compile MOD files using
nrnivmodl
.
- Use vendor compilers like Intel, Cray or NVHPC for better performance when you compile MOD files using
- Support for HPE MPT MPI library (#1498)
- Linux wheels are now
manylinux2014
(#1365)
-
MacOS
universal2
package installer now available - Python 3.8 to 3.10 -
CoreNEURON
-
RXD
-
Dedicated CI repository nrn-build-ci to check builds on different distributions. Check this if you have build issues.
-
Documentation
- Integrated various documentation & tutorials from neuron.yale.edu website to the readthedocs (#1674)
- Added training videos, guides and a list of NEURON publications
- CoreNEURON: usage, MOD files compatibility/migration, profiling and (GPU) performance benchmarking
- RxD programmer's reference expanded and rewritten (#1680)
- Propose changes directly from ReadTheDocs - click on
Edit on GitHub
Breaking Changes
- Models using
_NrnThread
in a VERBATIM block will fail now. Change it toNrnThread
.See #1609. - Minimum CMake version supported is now 3.15.0 (#1408)
- Python2 and Python3.5 support dropped
- Legacy internal
readline
source code is removed, must have Readline installed (#1371) - Python wheels are now manylinux2014 (#1365)
Deprecations
- NEURON is being migrated to a C++ codebase and beginning with the next release
MOD
files will be converted toC++
instead ofC
.
This might break compatibility with some legacy MOD files containingVERBATIM
blocks.
We will update the NEURON documentation describing how one can make MOD files compatible with this change. - Python 3.6 Is End-of-Life - drop support after 8.1 release (#1651)
Bug Fixes
- Can use ParallelContext.mpiabort_on_error(0) to say do not call to MPI_Abort on error (#1567)
- OpenMPI initialisation crash: argv[argc] should be null. (#1682)
- Avoid segfault if error during construction of POINT_PROCESS (#1627)
- Fixes a 1D/3D voxelization problem where frusta are outside the 3D grid. (#1227)
- Allow for two point (single section) SWC somas (#1144)
- Fix for current response in 3D reaction-diffusion simulations (#1721)
rxdmath.abs
no longer raises an exception (#1545)- Fixes for 3D reaction-diffusion grid alignment edge cases (#1471, #1227)
- Update coreneuron : gpu bugfix for the BBP models (#1374)
- Fix UndefinedBehaviourSanitizer errors. (#1518)
- import3d_gui bugfix for HOC classes and top-level (#1159)
Improvements / Other Changes
- Documentation
- sphinx jupyter notebooks integration via
nbsphinx
(#1684) - Update CoreNEURON documentation. (#1650)
- Building python wheels & managing NEURON Docker Images (#1469)
- Short tutorial on using the profiler interface (#1453)
- docs: Updated several rxd tutorials (#1061)
- docs: WSL & Linux Python Wheel (#1496)
- Update GPU profiling documentation (#1538)
- sphinx jupyter notebooks integration via
- Testing and coverage
- Refactorings
- Move codebase to CPP (#763)
- Remove all code related to NRN_REALTIME and NRN_DAQ (#1401)
- Drop legacy hash implementations: nrnhash (#1403)
- Remove absolute paths from generated code for ccache builds (#1574)
- Using std::unordered_map as Gid2PreSyn/Int2TarList (#1568)
- nrnivmodl succeeds when there are no mod files (#1583)
- Fix UndefinedBehaviourSanitizer errors. (#1518)
- Remove copy of readline (#1396)
- Remove multisend specific for BlueGene (DMA) (#1294)
- Improvements
- Possible to prefer python from $PATH when building from source with CMake #1659
- User can use MPI_LIB_NRN_PATH to provide MPI library on linux platform (#1172)
- MPI Multisend available in NEURON by default (#1537)
- modlunit: Add CHARGE keyword and map it to VALENCE. (#1508)
- Allow user to specify dialog popup location. (#1487)
- Allow python section.disconnect(). (#1451)
- Implement BBSaveState for Python cells (#1355)
- macos build_wheels: add /usr/x11 to CMAKE_PREFIX_PATH (#1565)
- Add NRN_NMODL_CXX_FLAGS to facilitate cross compilation (#1174)
- RXD
Upgrade Steps
- Linux wheels are now
manylinux2014
: upgrade yourpip
- Legacy internal
readline
source code is removed: installreadline
on your system - Python2 and Python3.5 support dropped: migrate to Python 3.7+ (3.6 is deprecated)
For the complete list of features and bug fixes, see Commits going into 8.1.0
in GitHub Issue #1719