The project texts can be found in the Slides presented during lessons.
For Academic Year 2009-2010, several distinct classes of projects have been proposed:
The project code can be developed using any system, but eventually the code must run on the computer facilities of Aula H/I/M at the Polo Fibonacci, with machines booted with Linux (not Windows).
The following programming languages are accepted as the implementation languages of the projects:
The following list of programming environments/tools is accepted for the projects requiring some coding:
Kind | Tools |
---|---|
Threads | OpenMP, PThread |
Communication libraries | MPI, POSIX/TCP, RCP/RMI |
Skeleton frameworks | |
Java based | Muskel, Calcium |
C/C++ based | Muesli, eSkel, SkeTo |
Other | OcamlP3L |
You can download a stable version of muskel here. The other skeleton frameworks are available for download at their web sites.
Those students that wish to try to pass the exam in the winter term (January or February 2010) should agree ASAP an assignment with the professor, sending him an email with subject SPM Final Project and with the following information:
Students that want to try to pass the exam in a later session should agree the project assignment with the processor (same email procedure) before actually start working. E.g. if they start to prepare the exam/project in may, before making actual work, they should send the professor a message “SPM Final Project” and wait for professor's ACK message.
The already agreed assignments are reported to the assignment page.
This section contains some hints on the tools you can use to develop project code.
rdist is a Unix command that can be used to distribute files across a network. Have a look at the man rdist Basically, you can write a distfile file such as:
HOSTS = (fujim1 fujim2 fujim3 fujim4 fujim5) MPICH = (/tmp/mpich/bin /tmp/mpich/lib) mpi: ${MPICH} -> ${HOSTS} install;
and by typing the command
rdist mpi
you'll clone the directories /tmp/mpich/bin and /tmp/mpich/lib of the local machine to the machines listed in HOSTS. This command could be suitably used to install “on the fly” some software on the machines of the computer rooms that do not provide that software by default. As an example, to use mpich, you can follow these steps:
Once you have done the initial configuration, you can install on the fly mpich on the machines in the HOST variable of the distfile as follows:
and that's it (Don't forget to include /tmp/mpich/bin in the PATH !!!)