IMP
2.3.1
The Integrative Modeling Platform
|
Code that uses the MPI parallel library. More...
Code that uses the MPI parallel library.
To enable this module, you must build IMP with your MPI library's MPI compiler rather than the default C++ compiler (e.g. mpic++
rather than g++
). To do this, first set up your MPI library so that mpic++
is in your PATH (on some systems by using something like module load mpi/openmpi-x86_64
) and then run cmake with the -DCMAKE_CXX_COMPILER=mpic++
option.
If you want to use OpenMPI, note that the default build on many Linux systems doesn't play nicely with Python (you may see errors like mca: base: component_find: unable to open /usr/lib64/openmpi/lib/openmpi/mca_shmem_sysv: perhaps a missing symbol, or compiled for a different version of Open MPI?
). This can be fixed either by recompiling OpenMPI with the --disable-dlopen
configure flag, or by running import DLFCN as dl; sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)
in your Python script before importing IMP.mpi. We also recommend that you use version 1.7 of OpenMPI or older, as the 1.8 release does not appear to work with the mpi4py package that some parts of IMP::pmi use.
Author(s): Max Bonomi
Maintainer: benmwebb
License: LGPL
Publications:
Classes | |
class | ReplicaExchange |
A class to implement Hamiltonian Replica Exchange. More... | |
Standard module functions | |
All | |
std::string | get_module_version () |
std::string | get_module_name () |
std::string | get_data_path (std::string file_name) |
Return the full path to installed data. More... | |
std::string | get_example_path (std::string file_name) |
Return the path to installed example data for this module. More... | |
std::string IMP::mpi::get_data_path | ( | std::string | file_name | ) |
Return the full path to installed data.
Each module has its own data directory, so be sure to use the version of this function in the correct module. To read the data file "data_library" that was placed in the data
directory of module "mymodule", do something like
This will ensure that the code works when IMP
is installed or used via the setup_environment.sh
script.
std::string IMP::mpi::get_example_path | ( | std::string | file_name | ) |
Return the path to installed example data for this module.
Each module has its own example directory, so be sure to use the version of this function in the correct module. For example to read the file example_protein.pdb
located in the examples
directory of the IMP::atom module, do
This will ensure that the code works when IMP
is installed or used via the setup_environment.sh
script.