next up previous contents index
Next: Cray XE/XK/XC Up: Running NAMD Previous: Linux or Other Unix   Contents   Index

Shared-Memory and Network-Based Parallelism (SMP Builds)

The Linux-x86_64-verbs-smp and Linux-x86_64-netlrts-smp released binaries are based on ``smp'' builds of Charm++ that can be used with multiple threads on either a single machine like a multicore build, or across a network. SMP builds combine multiple worker threads and an extra communication thread into a single process. Since one core per process is used for the communication thread SMP builds might be slower than non-SMP builds. The advantage of SMP builds is that many data structures are shared among the threads, reducing the per-core memory footprint when scaling large simulations to large numbers of cores.

SMP builds launched with charmrun use ++n to specify the total number of processes (Charm++ "nodes") and ++ppn to specify the number of PEs (Charm++ worker threads) per process. Prevous versions required the use of +p to specify the total number of PEs, but the new ++n option is now recommended. Thus, to run one process with one communication and three worker threads on each of four quad-core nodes one would specify:

  charmrun namd3 ++n 4 ++ppn 3 <configfile>

For MPI-based SMP builds one would specify any mpiexec options needed for the required number of processes and pass +ppn to the NAMD binary as:

  mpiexec -n 4 namd3 +ppn 3 <configfile>

See the Cray XE/XK/XC directions below for a more complex example.


next up previous contents index
Next: Cray XE/XK/XC Up: Running NAMD Previous: Linux or Other Unix   Contents   Index
http://www.ks.uiuc.edu/Research/namd/