The TclMPI package contains software that wraps an MPI library for Tcl and allows MPI calls to be used from Tcl scripts. This code can be compiled as a shared object to be loaded into an existing Tcl interpreter or as a standalone TclMPI interpreter. In combination with some additional bundled Tcl script code, additional commands are provided that allow to run Tcl scripts in parallel via "mpirun" or "mpiexec" similar to C, C++ or Fortran programs.
The main author of this package is Axel Kohlmeyer and you can reach him at akohl. The online documentation for this project is at mey@ gmail .comhttps://akohlmey.github.io/tclmpi/, a PDF version of the documentation is also available, and development is hosted on GitHub.
For basic compilation and installation instructions, please see the file INSTALL. More detailed documentation is available online from the User's Guide.
Information about the implementation and design of the package are in the Developer's Guide.
Precompiled binary packages of TclMPI are available for the following operating systems and distributions.
A precompiled installer package for 64-bit Windows 10 (Version 21H1) is available from the TclMPI GitHub Releases Page.
To use this package, the MS-MPI package version 10.x and ActiveTcl version 8.6 from ActiveState must be downloaded and installed first. The installer will check for them and refuse to install TclMPI without.
MS-MPI is available here. You only need the "msmpisetup.exe" file and ActiveTcl is available here
PPA repositories for Ubuntu Linux are hosted on Launchpad at: https://launchpad.net/~akohlmey/+archive/ubuntu/tclmpi
To access the PPA and install the package, use the commands:
Currently binaries are created for Ubuntu 20.04LTS and later.
Repositories with TclMPI packages for Fedora Linux are hosted on Copr at https://copr.fedorainfracloud.org/coprs/akohlmey/TclMPI/
To access the Copr repository use the command:
To install TclMPI with support for the OpenMPI MPI library, use the command:
To install TclMPI with support for MPICH MPI library, use the command:
Please note that to use any of the MPI libraries the corresponding environment module must be loaded first, e.g. with:
You can cite TclMPI as:
Axel Kohlmeyer. (2021). TclMPI: Release 1.2 [Data set]. Zenodo.
Thanks to Arjen Markus and Chris MacDermaid for encouragement and (lots of) constructive criticism, that has helped enourmously to develop the package from a crazy idea to its current level. Thanks to Alex Baker for motivating me to convert to using CMake as build system which makes building TclMPI natively on Windows much easier.
A special thanks also goes to Karolina Sarnowska-Upton and Andrew Grimshaw that allowed me to use TclMPI as an example in their MPI portability study, which helped to find quite a few bugs and resolve several portability issues before the code was hitting the real world.