This repository has been archived by the owner on Mar 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support for dynamic MPI library loading (#641)
* MPI library can be now dynamically loaded at runtime. * Use new CMake option -DCORENRN_ENABLE_DYNAMIC_MPI=ON in order to enable dynamic mpi support. When enabled, separate mpi library is built and MPI itself is not linked to libcoreneuron.so library. * Changes done for dynamic MPI support - Avoid including MPI headers everywhere - mpi related code now separated into coreneuron/mpi/lib - mpi functions are renamed to separate functions with name <original_function>_impl - New code added to dynamically load coreneuron's mpi library function and dispatch them to appropriate functions - Dynamic mpi library also works when libcoreneuron is a stiatic library - Always use _impl version of functions inside mpi/lib - Avoid use of global variables, pass references/pointers to simplify dynamic library support - Protect mpi call at runtine if --mpi is not given on command line - Load dynamic mpi library only if --mpi is given * Code refactoring changes - Delete unused function pgvts_op - nrnmpi_initialized return boolean - Simplify include of extern nrnmpi_comm - Move nrnmpi_def_cinc.h to nrnmpi_dev_cinc.cpp - Use static_cast instead of c-cast - update code docs under comment (e.g. mkdynam.sh) - No more debug output on stdio - less GLOB in cmake - Remove unnecessary mpi communicators (_worlds), bb savestate * CI and testing - LFP test disabled with dynamic MPI as it uses MPI functions directly - Set set_tests_properties for DYLD/LD_LIBRARY_PATH * Future work * build a separate library for each MPI implementation * integration with neuron for wheel support * fix build/support for windows platform fixes #600 Co-authored-by: Olli Lupton <[email protected]>
- Loading branch information
Showing
44 changed files
with
1,133 additions
and
1,166 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.