Prerequisites ============= mpiDL requires a working implementation of MPI, such as MPICH. For more information, refer to http://www-unix.mcs.anl.gov/mpi/mpich/ If you have problems, the MPICH FAQ is a good resource; it can be found at http://www-unix.mcs.anl.gov/mpi/mpich/docs/faq.htm mpiDL Installation ================== Installation of mpiDL is straightforward. - Expand the installer with tar -xvzf mpiDL-2.4.0.tar.gz - Move into the resulting directory: cd mpiDL-2.4.0-installer - Run the install script with sh mpidl-install.sh and follow the prompts that will take you through the installation process. Note that you may need root access to install mpiDL in certain locations, such as /usr/local/rsi/idl/products. Finally, there are three environment variables that need to be set in a user's shell configuration so that IDL will be able to use mpiDL. These can be set in a user's .bashrc or .cshrc files, depending on the shell used. For shells other than bash or csh, consult the appropriate documentation. The environment variable MPIDL_DIR should point to the location of mpiDL. For example, if you are using bash and have installed mpidl in /usr/local/rsi/idl/products/mpidl, you can add the following to your configuration: export MPIDL_DIR="/usr/local/rsi/idl/products/mpidl" Using csh, a similar line would be setenv MPIDL_DIR /usr/local/rsi/idl/products/mpidl For other shells, please consult the appropriate documentation. The location of mpiDL IDL files should also be set in the IDL environment variables IDL_PATH and IDL_DLM_PATH. To do this, one could add a line similar to export IDL_PATH="+${MPIDL_DIR}:" export IDL_DLM_PATH="+${MPIDL_DIR}:" in bash. Using csh, this would change to setenv IDL_PATH "+${MPIDL_DIR}:" setenv IDL_DLM_PATH "+${MPIDL_DIR}:" The `+' in the IDL variables tells IDL to search the path recursively, ensuring that the directory specified and all directories under it become part of the search path. The IDL_PATH and IDL_DLM_PATH may already be set in your configuration. If your IDL_PATH and IDL_DLM_PATH variables are already set replace by ${IDL_PATH} or ${IDL_DLM_PATH} above to retain these values. Additionally, it is useful to modify your PATH to include the bin/ directory of the mpiDL installation and the location of mpirun and other MPI utilities. The nodes of the cluster will require a full path to find mpidlstart, and having its location in your PATH makes this easier. Running Examples ================ For detailed examples of how to use the wrapped MPI calls in IDL, please see the included example programs. This code is provided for both testing the installation and to provide full, working examples to make learning how to use mpiDL easier. Each example demonstrates the use of different MPI routines. The following examples are provided in the examples/ directory of the mpiDL installation: - allgather_example.pro - allgatherv_example.pro - allreduce_example.pro - alltoall_example.pro - alltoallv_example.pro - bcast_example.pro - gather_example.pro - gravity_example.pro - group_example.pro - isendrecv_example.pro - parallel_pi.pro - reduce_example.pro - scatter_example.pro - sendrecv_example.pro Each example includes an IDL .pro file and a .sav file. To run an example (such as bcast_example), call mpidlstart as with the .sav file of the example you wish to run. For instance, to run bcast_example, you would type: runmpidl -np 3 bcast_example.sav (The runmpidl script is found in the bin directory of your installation, and therefore the above assumes that directory is in your path.) Examining the IDL code and comments in the .pro files will show how to use the mpiDL functions and allow you to quickly see how mpiDL procedures are constructed and how to use MPI function calls. More Information ================ The mpiDL User's Guide can be found in the mpiDL install directory, or online at http://www.txcorp.com/products/FastDL/ This Web site will also provide contact information for the user's mailing list and technical support.