Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
mptopcom [2018/03/22 12:06] – Other mpi is just as good lkastner | mptopcom [2018/05/15 13:01] – [Download] Cherry-pick bugfix to release lkastner |
---|
* **[[http://cgm.cs.mcgill.ca/~avis/doc/tutorial.html|mts]]** for parallelising reverse search. | * **[[http://cgm.cs.mcgill.ca/~avis/doc/tutorial.html|mts]]** for parallelising reverse search. |
| |
Please see our **[[https://arxiv.org/abs/1709.04746|arXiv article]]** for further details on the algorithms. | Our **[[https://arxiv.org/abs/1709.04746|arXiv paper]]** describes the algorithm and contains many details as well as examples. Please cite this reference in your papers if you are using mptopcom. |
| |
===== Prerequisites ===== | ===== Prerequisites ===== |
| |
| Please read this very carefully! mptopcom is highly optimized software dedicated to exceptionally large enumerations on suitable hardware. As a consequence it depends on a number of up-to-date-versions of other software, and the installation requires some diligence. |
| |
You need to have **[[https://www.open-mpi.org/|open-mpi]]** or some other mpi implementation and **[[https://polymake.org/doku.php|polymake]]** version at least 3.2 installed. In particular, you need the **[[https://polymake.org/doku.php/reference/callable|polymake callable library]]**, which might not be installed by the package manager of your distribution. Furthermore, you need an installation of **[[https://www.inf.ethz.ch/personal/fukudak/cdd_home/|cdd]]**, the bundled version coming with polymake does not build the cdd library. | You need to have **[[https://www.open-mpi.org/|open-mpi]]** or some other mpi implementation and **[[https://polymake.org/doku.php|polymake]]** version at least 3.2 installed. In particular, you need the **[[https://polymake.org/doku.php/reference/callable|polymake callable library]]**, which might not be installed by the package manager of your distribution. Furthermore, you need an installation of **[[https://www.inf.ethz.ch/personal/fukudak/cdd_home/|cdd]]**, the bundled version coming with polymake does not build the cdd library. |
Here are download links to tarballs containing the sources of **mptopcom**: | Here are download links to tarballs containing the sources of **mptopcom**: |
| |
* [[https://polymake.org/lib/exe/fetch.php/download/mptopcom-1.0.tar.bz2|mptopcom-1.0.tar.bz2]] | * [[https://polymake.org/lib/exe/fetch.php/download/mptopcom-1.0r1.tar.bz2|mptopcom-1.0.tar.bz2]] |
| |
===== Installation ===== | ===== Installation ===== |
- ''%%--make_tree%%'' : Will produce polymake code to plot reverse search tree (''%%mptopcom1%%'' only) | - ''%%--make_tree%%'' : Will produce polymake code to plot reverse search tree (''%%mptopcom1%%'' only) |
- ''%%--regular%%'' : Only output regular triangulations | - ''%%--regular%%'' : Only output regular triangulations |
- ''%%--symmetry_cache n%%'' : Size of symmetry cache set to n (default: 50) | - ''%%--orbit_cache n%%'' : Size of symmetry cache set to n (default: 50) |
- ''%%-v%%'' : verbose (every worker will tell when he found 1000 triangulations) | - ''%%-v%%'' : verbose (every worker will tell when he found 1000 triangulations) |
| |
./build/Opt/bin/mptopcom1 -v --regular < examples/moae.dat | ./build/Opt/bin/mptopcom1 -v --regular < examples/moae.dat |
./build/Opt/bin/mptopcom1 -v --regular -F < examples/moae.dat | ./build/Opt/bin/mptopcom1 -v --regular -F < examples/moae.dat |
./build/Opt/bin/mptopcom1 -v --flip_cache 2000 --symmetry_cache 2000 < examples/moae.dat | ./build/Opt/bin/mptopcom1 -v --flip_cache 2000 --orbit_cache 2000 < examples/moae.dat |
./build/Opt/bin/mptopcom1 -v --make_tree < examples/moae.dat | ./build/Opt/bin/mptopcom1 -v --make_tree < examples/moae.dat |
</code> | </code> |
mpirun -np 10 ./build/Opt/bin/mptopcom < examples/lattice_3_3.dat | mpirun -np 10 ./build/Opt/bin/mptopcom < examples/lattice_3_3.dat |
mpirun -np 10 ./build/Opt/bin/mptopcom -F < examples/lattice_3_3.dat | mpirun -np 10 ./build/Opt/bin/mptopcom -F < examples/lattice_3_3.dat |
mpirun -np 10 ./build/Opt/bin/mptopcom -F --flip_cache 2000 --symmetry_cache 2000 < examples/lattice_3_3.dat | mpirun -np 10 ./build/Opt/bin/mptopcom -F --flip_cache 2000 --orbit_cache 2000 < examples/lattice_3_3.dat |
mpirun -np 10 ./build/Opt/bin/mptopcom < examples/lattice_3_3.dat 1>output.txt 2>error.txt | mpirun -np 10 ./build/Opt/bin/mptopcom < examples/lattice_3_3.dat 1>output.txt 2>error.txt |
</code> | </code> |
===== License ===== | ===== License ===== |
| |
**mptopcom** is licensed under the **[[https://www.gnu.org/licenses/gpl.html|GNU General Public License version 3]]**. **TOPCOM** is licensed under the **[[https://www.gnu.org/licenses/old-licenses/gpl-2.0.html|GNU General Public License version 2]]**, but allows redistributing its code under newer versions of the GPL. | **mptopcom** is licensed under the **[[https://www.gnu.org/licenses/gpl.html|GNU General Public License version 3]]**. **mptopcom** is based on **TOPCOM**, which is licensed under the **[[https://www.gnu.org/licenses/old-licenses/gpl-2.0.html|GNU General Public License version 2]]**, but allows redistributing its code under newer versions of the GPL. For configuring and installing **mptopcom** contains perl scripts from **polymake** that have been adapted to the setting of **mptopcom**. **polymake** is licensed under the **[[https://www.gnu.org/licenses/old-licenses/gpl-2.0.html|GNU General Public License version 2]]**, but allows redistributing its code under newer versions of the GPL. |
| |
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. | |
| |
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |
| |
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA | See the files ''%%COPYING%%'' and ''%%LICENSE%%'' in the source for further details. |
| |
| |