https://github.com/akohlmey/tclmpi
TclMPI - MPI Bindings for Tcl
https://github.com/akohlmey/tclmpi
mpi parallel-programming tcl
Last synced: 3 months ago
JSON representation
TclMPI - MPI Bindings for Tcl
- Host: GitHub
- URL: https://github.com/akohlmey/tclmpi
- Owner: akohlmey
- License: other
- Created: 2012-05-18T12:00:58.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2022-11-06T11:55:59.000Z (over 2 years ago)
- Last Synced: 2025-01-31T11:16:53.157Z (5 months ago)
- Topics: mpi, parallel-programming, tcl
- Language: Tcl
- Homepage:
- Size: 4.49 MB
- Stars: 9
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README

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.# Homepage
The main author of this package is Axel Kohlmeyer and you can reach him
at . The online documentation for this project is at
[https://akohlmey.github.io/tclmpi/](https://akohlmey.github.io/tclmpi/),
a [PDF version of the documentation](https://akohlmey.github.io/tclmpi/tclmpi_docs.pdf)
is also available, and development is [hosted on GitHub](https://github.com/akohlmey/tclmpi/).For basic compilation and installation instructions, please see the file
INSTALL. More detailed documentation is available online from the
[User's Guide](https://akohlmey.github.io/tclmpi/userguide.html).Information about the implementation and design of the package are in the
[Developer's Guide](https://akohlmey.github.io/tclmpi/devguide.html).# Precompiled Binaries
Precompiled binary packages of TclMPI are available for the following
operating systems and distributions.## Microsoft Windows
A precompiled installer package for 64-bit Windows 10 (Version 21H1) is
available from the
[TclMPI GitHub Releases Page](https://github.com/akohlmey/tclmpi/releases).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](https://github.com/microsoft/Microsoft-MPI/releases).
You only need the "msmpisetup.exe" file and ActiveTcl is
[available here](https://www.activestate.com/products/tcl/)## Ubuntu Linux
PPA repositories for Ubuntu Linux are hosted on Launchpad at:
https://launchpad.net/~akohlmey/+archive/ubuntu/tclmpi[](https://launchpad.net/~akohlmey/+archive/ubuntu/tclmpi)
To access the PPA and install the package, use the commands:
``` bash
sudo add-apt-repository ppa:akohlmey/tclmpi
sudo apt-get update
sudo apt-get install tcl-tclmpi
```Currently binaries are created for Ubuntu 20.04LTS and later.
## Fedora Linux
Repositories with TclMPI packages for Fedora Linux are hosted on Copr at
https://copr.fedorainfracloud.org/coprs/akohlmey/TclMPI/[](https://copr.fedorainfracloud.org/coprs/akohlmey/TclMPI/package/tclmpi/)
To access the Copr repository use the command:
``` bash
sudo dnf copr enable akohlmey/TclMPI
```To install TclMPI with support for the OpenMPI MPI library, use the command:
``` bash
sudo dnf install tclmpi-openmpi
```To install TclMPI with support for MPICH MPI library, use the command:
``` bash
sudo dnf install tclmpi-mpich
```Please note that to use any of the MPI libraries the corresponding environment
module must be loaded first, e.g. with:``` bash
module load mpi
```# Test Status
[](https://github.com/akohlmey/tclmpi/actions/workflows/unittest-linux.yml)
[](https://github.com/akohlmey/tclmpi/actions/workflows/unittest-macos.yml)
[](https://github.com/akohlmey/tclmpi/actions/workflows/codeql-analysis.yml)# Citing
You can cite TclMPI as:
Axel Kohlmeyer. (2021). TclMPI: Release 1.2 [Data set]. Zenodo. [](https://doi.org/10.5281/zenodo.598343)
# Acknowledgements
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.