To: Altair Hernández <>, Help and discussion for users of IMP <>
Subject: Re: [IMP-users] Paralellizing REX
From: Ben Webb <>
Date: Mon, 20 Sep 2021 10:15:46 -0700
On 9/16/21 3:33 AM, Altair Hernández wrote:
When sampling with IMP.pmi.macros.ReplicaExchange() in a cluster that
uses slurm, an error comes out:
...
I can't help you with slurm (even if I could see the image, which I can't).
My question here is, can this function be parallelized with openmp (OMP)
or/and with MPI?
Replica exchange uses MPI, by construction. When you run an MPI job on N
cores, you get N replicas. (You can potentially also speed up each
*replica* by using OpenMP - see the set_number_of_threads() function -
but I would recommend against that because you don't get good speedup
that way.)
Of course, you have to build IMP against the MPI library you want to use
(we typically use MPICH or OpenMPI) and work with your local IT folks to
figure out how to run MPI applications on your computing infrastructure.
I'm not running a long Replica
Exchange simulation (with a high number of frames), but instead I'm
iterating the whole process thousands of times with a few number of
frames per modeling (50-100 frames/iteration).
You'll need to be careful if you're doing it that way that you allow
enough time for the system to equilibrate.
Ben
--
https://salilab.org/~ben/
"It is a capital mistake to theorize before one has data."
- Sir Arthur Conan Doyle