These programs do a Monte Carlo simulation of the two dimensional ferromagnetic Ising spin model. This is a model of magnetic materials that is also widely used to study the properties of phase transitions.
The programs use the non-local cluster Monte Carlo algorithm of Swendsen and Wang, Phys. Rev. Lett. 58, 86 (1987). The Swendsen-Wang algorithm, is difficult to parallelize efficiently, since it is highly irregular and requires a lot of non-local communication. The basic computational task is connected component labeling.
For the message-passing (MIMD) version we have used the local label propagation (or ``self-labeling'') algorithm, however we may implement other algorithms in the future. For details of these algorithms, see the papers:
For a description of the SIMD labeling algorithms, including the Get/Send algorithm that is used in the CMF/HPF codes, see the paper:
F77 Sequential Fortran 77 code for Swendsen-Wang algorithm. F77mp F77 + message passing code for parallel Swendsen-Wang algorithm on MIMD parallel computers, using the Express communications library. Local label propagation is used for the connected component labeling. CMF CMFortran code for parallel Swendsen-Wang algorithm on the Connection Machine. Get/Send algorithm is used for the connected component labeling.All the codes include Makefiles and sample input and output files.