4 ms·
You don't actually have to specify hosts or addresses in your application code. When the application starts, the runtime will know how many processes there are
by juanjgalvez 8y ago
You don't actually have to specify hosts or addresses in your application code. When the application starts, the runtime will know how many processes there are and on which hosts. The key is to use a job launcher.
For the par-map.py example, suppose you want to run it on 4 hosts and 8 processes per host. One way to do this is by launching the application with "charmrun". First, install charmpy on all hosts like you said. Then you would create a nodelist file with the names or addresses of the 4 hosts. Finally, launch like this:
`$ charmrun +p32 par-map.py ++nodelist mynodelist.txt`
I have updated the "Running" section of the docs to try to explain this better, also pointing to the charmrun manual. Hopefully things are clearer now.
- p1esk 8y agoThank you, now it's a lot clearer. I will try it on multiple workstations next time I need to run a large job.
- samtwhite 8y agoAnd on most clusters and supercomputers you don't need to manually create the nodelist at all, charmrun can do that automatically for you by parsing the batch scheduler's list of allocated hosts.