Massive parallelization

The functionality of OpenMM will (eventually) include everything that one would need to run modern molecular simulation.
POST REPLY
User avatar
Michał  Kadlof
Posts: 1
Joined: Tue Mar 15, 2016 2:10 am

Massive parallelization

Post by Michał  Kadlof » Fri Mar 18, 2016 1:56 am

Hello,

Does openMM simulations can be run on multiple nodes in computing cluster? I mean, on multiple nodes with multiple cores. With openMPI or something like that.

User avatar
Peter Eastman
Posts: 2588
Joined: Thu Aug 09, 2007 1:25 pm

Re: Massive parallelization

Post by Peter Eastman » Fri Mar 18, 2016 9:50 am

A single simulation can only be run on a single node. Of course, there are other ways of taking advantage of multiple nodes that are often more efficient. For example, you could do replica exchange (a different replica on each node), or run many independent simulations to get better sampling.

Peter

User avatar
George Pantelopulos
Posts: 64
Joined: Mon Jun 01, 2015 2:15 pm

Re: Massive parallelization

Post by George Pantelopulos » Thu Mar 24, 2016 11:17 am

This is something I am also curious about - running one replica per node would be fine for some replica exchange ideas I've been playing with recently. How would someone go about running REMD over many nodes with OpenMM? How would the implementation have to be built?

Thanks you for any info,
George

User avatar
Peter Eastman
Posts: 2588
Joined: Thu Aug 09, 2007 1:25 pm

Re: Massive parallelization

Post by Peter Eastman » Thu Mar 24, 2016 11:28 am

There's already an implementation of it:

https://github.com/choderalab/repex

Peter

User avatar
George Pantelopulos
Posts: 64
Joined: Mon Jun 01, 2015 2:15 pm

Re: Massive parallelization

Post by George Pantelopulos » Thu Mar 24, 2016 11:56 am

Yes, I know of John Chodera's repex and yank - I mean if I were to want to do this myself. How would someone set different replicas to run on specific nodes?

User avatar
Jason Swails
Posts: 47
Joined: Mon Jan 07, 2013 5:11 pm

Re: Massive parallelization

Post by Jason Swails » Thu Mar 24, 2016 12:02 pm

I would use MPI, personally. But that's precisely what John Chodera's library does.

So I guess the best answer I can think of is to do what repex does. Which is to say, just use repex (or implement the same thing in C++ if you want to do that and can reproduce the rest of the required machinery from the app layer in C++). The code is free to look at, use, modify, and reuse.

User avatar
George Pantelopulos
Posts: 64
Joined: Mon Jun 01, 2015 2:15 pm

Re: Massive parallelization

Post by George Pantelopulos » Thu Mar 24, 2016 12:15 pm

Ah, OK, I will just go scour his code, then. Thanks for the advice.

POST REPLY