Matrix Distributed Processing: A set of C++ Tools for implementing generic lattice computations on parallel systems
<|reference_start|>Matrix Distributed Processing: A set of C++ Tools for implementing generic lattice computations on parallel systems: We present a set of programming tools (classes and functions written in C++ and based on Message Passing Interface) for fast development of generic parallel (and non-parallel) lattice simulations. They are collectively called MDP 1.2.   These programming tools include classes and algorithms for matrices, random number generators, distributed lattices (with arbitrary topology), fields and parallel iterations. No previous knowledge of MPI is required in order to use them.   Some applications in electromagnetism, electronics, condensed matter and lattice QCD are presented.<|reference_end|>
@article{di pierro2000matrix,
    title={Matrix Distributed Processing: A set of C++ Tools for implementing
  generic lattice computations on parallel systems},
    author={Massimo Di Pierro},
    journal={Comput.Phys.Commun. 141 (2001) 98-148},
    year={2000},
    doi={10.1016/S0010-4655(01)00297-1},
    number={FERMILAB-PUB-00-079-T},
    archivePrefix={arXiv},
    eprint={hep-lat/0004007},
    primaryClass={hep-lat cs.DC cs.MS physics.comp-ph}
}