
   grid.mpc
   --------
   A very simple performance model definition.

   The performance model definition, grid, defines a group of processes 
   where the processes are arranged in a two-dimensional coordinate system.

   bcast.mpc
   ---------
   The performance model bcast describes the algorithm used for the broadcast 
   operation, which is a series of point-to-point communication operations (sequential tree).

   array_mapping.mpc
   -----------------
   Tests the mapping of arrays as parameters in the performance model definition.

   For example:

   nettype example(int p, int x[p], int y[p*p],  int z[p*p*p])
   {

   test_multidimensional_arrays.mpc
   --------------------------------
   Tests the mapping of multidimensional arrays in performance model definition.

   For example

   nettype exampleA(int p, int w[p], int h[p][p][p][p])
   {

   test_functions.mpc
   ------------------
   Tests the usage of functions in performance model definition.

   test_constant_variable_dimensional_arrays.mpc
   ---------------------------------------------
   Tests the mapping of multidimensional arrays with constant and variable dimensions
   in performance model definitions.

   For example

   nettype exampleB(int p, int w[p], int h[p][p][2])
   {

   ParallelAxBT_on_p.mpc
   ---------------------
   The performance model of a parallel algorithm multiplying matrix A and the transposition 
   of matrix B on p interconnected heterogeneous processors, i.e., implementing matrix operation 
   C=ABT, where A, B are dense nn matrices.

   ParallelAxBT_on_p_auto.mpc
   --------------------------
   The performance model of a parallel algorithm multiplying matrix A and the transposition 
   of matrix B on p interconnected heterogeneous processors, i.e., implementing matrix operation 
   C=ABT, where A, B are dense nn matrices. It uses functions.

   ParallelAxB_on_pxq.mpc
   ----------------------
   The performance model of a heterogeneous algorithm of multiplication of two dense square (nr)(nr) 
   matrices A and B on an pq grid of heterogeneous processors.
   See the paper on the heterogeneous algorithm:

   "A. Kalinov and A. Lastovetsky, "Heterogeneous Distribution of Computations 
   Solving Linear Algebra Problems on Networks of Heterogeneous Computers," 
   In Journal of Parallel and Distributed Computing, Volume 61, No. 4, pp.520-535, 
   April 2001.

   ParallelAxB_on_pxq_auto.mpc
   ---------------------------
   Performance model of parallel matrix multiplication (MM) on HNOCs. 
   The algorithm of execution of the matrix operation C=AB on a HNOC is obtained by modification of the 
   ScaLAPACK 2D block-cyclic MM algorithm. The modification is that the Cartesian heterogeneous 
   2D block-cyclic data distribution is used instead of the standard homogeneous data distribution.
   See the HMPI tutorial.
