Download 0.5

Mesham is a type oriented programming language allowing the writing of high performance parallel codes which are efficient yet simple to write and maintain

Please Note: This version of Mesham is deprecated, the documentation and examples on this website are no longer compatible with this version.

Version 0.5
Version 0.5 of Mesham is currently the latest version of the language from the Arjuna line and contains numerous additions and improvements over 0.41(b). However this version of the compiler does not explicitly support Windows (mainly in the runtime library) although it is possible to compile on Windows for more experienced developers.

Download
You can download Mesham 0.5 here (700KB)

Installation Instructions
There are three basic components required for installing Mesham - installing the client, the server and the runtime library


 * Install Java RTE from java.sun.com


 * Make sure you have a C compiler installed i.e. gcc


 * Install an implementation of MPI - MPICH (version 2) and OpenMPI are both good ones, you choose

Open a terminal and cd into your Mesham directory - i.e. cd /home/work/mesham Then issue the command ./installlinux and follow the on screen prompts.
 * The three different components must be configured to your machine and where they are situated, happily this is all automated in the installlinux script.

If there is an issue with running the command, use the command chmod +x installlinux and then try running it again.

After running the install script, the library, compiler and server should not be moved from where they are now - this will cause problems and if required you must rerun the script and remake them.


 * Now type make all


 * If you have root access, login as root and type make install


 * Now type make clean  (to clean up the directory)

Congratulations! If you have completed these 7 steps you have installed the Mesham language onto your computer!

Using the Compiler
Assuming you have installed the language you will now want to start writing some code! Firstly you will need to start the Mesham translation server, cd into your mesham/server directory and type ./runserver. The server will start up, telling you the version number and date of the Mesham compiler and then will report when it is ready. You will need to start a new terminal, now, if you are using MPICH 2, run an mpi deamon via typing mpd &. Create a mesham source file (look in the language documentation for information about the language itself) and compile it via mc. For instance, if the source file name is hello.mesh compile it via mc hello.mesh. You should see an executable called hello Run the executable via ./hello (or whatever its called.) You do not need to (although can if you want) run it via the mpirun or mpiexec command as the executable will automatically spawn the number of processes it requires. If you dont wish to compile, but just view the generated C code, you can run linuxgui.sh in compiler/java

Nb: If you wish to change the configuration information created by the installer (for an advanced user, this is not required) then you can - the installer tells you where it has written its config files and the documentation is included in the respective source folders.

Runtime Library Options
Included in the runtime library (0.2) are a number of optional aspects which are disabled by default. These can be enabled by editing the make file and removing the # before the specific line. The two optional aspects are the files in support of the Gadget-2 port (peano hilbert curve, snapshot files and the parameter file) and the HDF5 support (requires the HDF5 library to be installed on the machine.)