For Experimenting with XMT, and Teaching and Self-Studying Parallelism
The current web page provides our 2010 software release (v0.82) that allows you to use your own computer for programming the XMT platform and experimenting with it. There are three options for downloading and installing the XMT software as explained below.
The Explicit Multi-Threading (XMT) project, that started at the University of Maryland (UMD) in 1997, provides a holistic approach towards desktop supercomputing. Envisioning a 1000-processor on-chip parallel machine in the early 2010s, the XMT architecture can be effectively programmed using a PRAM-like XMTC programming language adding only two simple instructions to the standard C programming language.
For background on the XMT approach, PRAMs and PRAM-like programming please go to the XMT home page
For teaching, or self-studying XMT, please refer to the teaching and self-study page .
For an on-line tutorial, please refer to http://www.umiacs.umd.edu/users/vishkin/XMT/index.shtml#tutorial
The two main XMT software tools are:
These tools allow running XMTC code on an emulated XMT
machine. To remind
you, a hardware prototype
of such a 64-processor machine (using FPGA technology) has been in use
at UMD since
January 2007. A compiler that translates XMTC to OpenMP is also
available for download, giving your students an alternative way to run
The cycle-accurate simulator is
configured to emulate a 1024-processor XMT design. Given current technology trends,
fabricating a chip with such a design is becoming feasible by the early 2010s.
A typical use of these tools will be as follows.
There are three ways to use the XMT software tools:
If you are a linux user you can choose any of the three options, but if you are a Windows, or MacOS user your only option is the Virtual Box Option (3rd option).
Option 1: Download tools individually
Go to sourceforge and download and install the tools as described earlier. Each tool package contains a README file with installation instructions.
The advantage of this method is that it gives you maximum flexibility to decide which tools you want and which version of them to install. It is more tedious than the binary repository installation (option 2) however, and probably only makes sense if (i) you don't have svn installed (and cannot install it easily) (ii) don't have enough space for the tools, or (iii) want to mix and match versions of the tools (which in theory is not a good idea).
Option 2: Download the binary repository
You need to have subversion (svn) installed. Then you can download the binary repository using the following command:svn co https://xmtc.svn.sourceforge.net/svnroot/xmtc/xmtc.binary/linux/i386/xmt xmt-bin-repos
This will create a local directory called
Finally you need to add the
Whenever you move your
The advantage of this option is that it is much easier to download and install all the tools and to update them. The only downside is that the svn repository will take more space (~60MB) and you need to have subversion (svn) installed on your computer. You also get less flexibility in mixing and matching tool versions (vs just using the latest), but this is probably not a good idea anyway.
Option 3: The Virtual Box
If you are a Windows or Intel Mac user your only option to use our tools is through a virtual linux box that we provide, which has all the XMT tools pre-installed (v0.81) through the svn repository method (Option 2 above). PowerPC Macs are not supported because the virtualization software that we use (www.virtualbox.org) does not support PowerPC processors. Notice that the virtual box will not be routinely updated with the latest version of our tools but it is very easy for the users to do so, imply by issuing a simple command as explained in the virtual box HOWTO documentation
Using the virtual linux box is like having a window running a linux operating system from within your own operating system (e.g., Windows or Mac) and therefore it requires a significant amount of resources. Find below the minimum and recommended system requirements for using the virtual box.System Requirements:
To start using the XMT Virtual Box, follow the HOWTO to download and install the necessary components.
REMINDERThe virtual box provided is an image of an installation of a linux operating system and as such it may have security vulnerabilities. It is the user's responsibility to update the image with the latest security updates.
The virtual box probably has no advantage if you are a linux user since it requires significant amount of memory and processing power, compared to installing the tools natively. But for Windows or MacOS users it is the only option.