NAME¶
mpb-split - compute eigenmodes with MPB using multiple processes
SYNOPSIS¶
mpb-split NUM-SPLIT [
DEFINITION]... [
CTLFILE]...
DESCRIPTION¶
mpb-split is a parallelizing front-end to MIT Photonic Bands (MPB). For a
computation with several k points, it splits the list of k points over
multiple processes. Of course, this will only benefit you on a system where
different processes will run on different processors, such as an SMP or a
cluster with automatic process migration (e.g. MOSIX). mpb-split is actually a
trivial shell script, though, so you can easily modify it if you need to use a
special command to launch processes on other processors/machines.
MIT Photonic Bands (MPB) is a free program to compute the band structures
(dispersion relations) and electromagnetic modes of periodic dielectric
structures, and is applicable both to photonic crystals (photonic band-gap
materials) and a wide range of other optical problems.
More information on MPB, including a detailed manual, can be found online at the
MPB home page:
http://ab-initio.mit.edu/mpb/
A typical invocation of
mpb-split looks like:
mpb-split num-split foo.ctl >& foo.out
This causes
mpb-split to process the control file foo.ctl, divide the k
points into
num-split equal chunks, run each list in a separate process
with MPB, and redirect the output (in order) to foo.out. (One typically
redirects output to a file, as the output is verbose and contains a number of
comma-delimited datasets that one can extract by grepping.)
Overall, the behavior and arguments are the same as for
mpb except that
the first argument must be the integer
num-split.
What
mpb-split technically does is to set the MPB variable k-split-num to
num-split and k-split-index to the index (starting with 0) of the chunk
for each process. If you want, you can use these variables to divide the
problem in some other way and then reset them to 1 and 0, respectively.
BUGS¶
Send bug reports to S. G. Johnson, stevenj@alum.mit.edu.
AUTHORS¶
Written by Steven G. Johnson. Copyright (c) 1999, 2000, 2001, 2002 by the
Massachusetts Institute of Technology.
SEE ALSO¶
mpb(1),
mpb-data(1)