Programming Taskbook



User registration   Restore password



1100 training tasks on programming

©  M. E. Abramyan (Southern Federal University), 1998–2018


PT for MPI | Overview


Certificate of official registration of computer program system Programming Taskbook for MPI

Download the Programming Taskbook for MPI (ver. 1.6 in English and Russian)

Download the MPICH 1.2.5 for Windows


Programming Taskbook for MPI (PT for MPI) contains additional components of the Programming Taskbook – electronic book of educational training tasks. PT for MPI allows to solve tasks on parallel programming based on the Message Passing Interface (MPI) version 1.1.

For using PT for MPI 1.6 it should be installed in the system directory of the Programming Taskbook (version 4.15 or higher). Also the MPICH 1.2.5 for Windows ( should be installed.

PT for MPI is a freeware and can be used with both the Complete Edition and the Mini Edition of Programming Taskbook.

PT for MPI has been implemented for use in the following programming environments.

PT for MPI 1.4 (for Programming Taskbook 4.12–4.13):

  • Borland Delphi 7.0 and Turbo Delphi 2006;
  • Free Pascal Lazarus 1;
  • Microsoft Visual C++ 6;
  • Microsoft Visual Studio 2003, 2005, 2008, 2010, 2012, 2013.

PT for MPI 1.5 (for Programming Taskbook 4.14) and PT for MPI 1.6 (for Programming Taskbook 4.15):

  • Borland Delphi 7.0 and Turbo Delphi 2006;
  • Free Pascal Lazarus 1;
  • Microsoft Visual Studio 2008, 2010, 2012, 2013;
  • Code::Blocks 13.

PT for MPI provides the same learning options as the basic Programming Taskbook's ones; in particular, it passes initial data to the student's program, checks the correctness of the results obtained by the program, and stores information about each test running in a special file. Also PT for MPI provides additional options that are due to the specifics of parallel programming:

  • running student's program in the demo (non-parallel) mode;
  • creation of a template for a selected task; all modules of the MPI library are automatically included in the template;
  • a special mechanism that provides the execution of the student's program in parallel mode after its launching from the IDE: the program being launched runs the MPIRun.exe application of MPICH system, which, in turn, runs the program in parallel mode (all processes are running on the local computer);
  • submitting initial data to each process of parallel program;
  • receiving the results from each process and resending it to the master process for checking correctness and displaying in the Programming Taskbook window;
  • output information about the run-time errors (including errors raised by MPI functions) and the I/O errors (with the indication of ranks of the processes in which the errors occurred);
  • the opportunity to output debugging information for each process in a special panel of the Programming Taskbook window; возможность вывода отладочной информации для каждого процесса в специальном разделе окна задачника;
  • the automatic unloading all running processes from memory in case of the parallel program deadlock.

The options listed above simplify student's program launch in the parallel mode and make it easier to find and correct standard errors that occur in parallel programs.

Using the initial data, prepared by Programming Taskbook for each process of a parallel program, an output of data obtained by each process in single window, automatic correctness checking, as well as additional debugging tools allow the student to direct efforts to the development and program implementation of the algorithm of the task solving and also provide the effective testing of the offered algorithm.

PT for MPI contains the MPIBegin task group with 100 tasks intended for the acquaintance with the basic features of the MPI 1.1 library. The tasks are divided into the following subgroups:

  • processes and their ranks (9 tasks),
  • point-to-point communication (20 tasks),
  • collective communication (18 tasks),
  • global reduction operations (10 tasks),
  • derived datatypes and data packing (13 tasks),
  • process groups and communicators (12 tasks),
  • virtual topologies (18 tasks).

Tools of PT for MPI for running and debugging parallel programs allow use PT for MPI for development and testing parallel programs, which are not connected with some training task. For that purpose PT for MPI is provided with the additional group MPIDebug of 36 "tasks". Each task from the MPIDebug group allows to run parallel program with N processes, where N is a number of task.

Starting from the version 1.4, Programming Taskbook for MPI provides two language interfaces: Russian and English.

The PT4TaskMaker from the Teacher Pack system (version 2.5 or higher) allows to create new task groups connected with the parallel MPI programming.

Programming Taskbook for MPI is officially registered in the Software Register of Russian Federation on March, 6th, 2013 (the certificate No. 2013612589).




Designed by
M. E. Abramyan and V. N. Braguilevsky

Last revised: