Hello,
I would like advice about how to run OpenMM production runs that are multithreaded across a CPU cluster.
I was hoping that I would be able to do this simply by using a job scheduler (like PBS) to assign N nodes to a job, then choosing OpenCL as the platform for OpenMM. However, it appears that OpenCL is designed for multi-CPU devices on a single local machine. OpenCL example programs bundled with the AMD APP SDK do not seem to see more than 1 device even when I assign them several cluster nodes via PBS.
Perhaps this is a better question for an AMD OpenCL forum, but I was curious if anyone has implemented OpenMM in this way before and knows what's best/easiest/possible. Maybe something like VirtualCL or SnuCL is necessary, though I would hope that route doesn't require me to tweak the OpenMM source code. Or maybe this can be done straightforwardly with MPI.
Thanks,
Chris
ps: I still haven't gotten OpenMM to do CPU-multithreading with OpenCL via the AMD APP SDK even on a desktop, but that's the topic of another post.
Multithreading OpenMM runs on a CPU cluster
- Christopher Ryan
- Posts: 5
- Joined: Fri Feb 24, 2012 11:49 am
- Peter Eastman
- Posts: 2593
- Joined: Thu Aug 09, 2007 1:25 pm
Re: Multithreading OpenMM runs on a CPU cluster
Hi Chris,
Currently, OpenMM only supports running on a single node. It can't parallelize a simulation across multiple computers on a network. You could certainly trying using VirtualCL, and I'd be very curious to know how it worked!
Peter
Currently, OpenMM only supports running on a single node. It can't parallelize a simulation across multiple computers on a network. You could certainly trying using VirtualCL, and I'd be very curious to know how it worked!
Peter