Description
===========

This program inverts a matrix using Gauss-Jordan elimination. The input matrix
is generated by the program based on the dimension given as a command-line
argument.

The program uses the CnC refcounting feature and the depends tuning feature
provided by the runtime for memory and performance tuning. Please see the 
runtime API documentation for details.

matrix_inverse_unsafeget uses the unsafe version of
item_collection::get with context::flush_gets. This is an alternative
mechanism to tuner::depends to avoid unnecessary re-scheduling of
steps when item are unavailable.

DistCnC enabling
================

matrix_inverse.cpp is distCnC-ready (the unsafe version is not).
Use the preprocessor definition _DIST_ to enable distCnC.
    
See the runtime_api reference for how to run distCnC programs.

Usage
=====

The command line is:

    MatrixInvert dim

where the argument dim is the dimension of the matrix.

Example:
MatrixInvert 1000
