TotalView Reference Guide : Part IV: Appendices : MPI Startup
MPI Startup
Overview
Here you will find information that will allow you to create startup profiles for environments that Rogue Wave Software doesn't define. Any customizations made to your MPI environment will be available for later selection in the Sessions Manager where they will appear in the File > Debug New Parallel Program dialog's Parallel System Name list.
Rogue Wave Software products know about different Message Passing Interface (MPI) implementations. Because so many implementations are standard, our products usually do the right thing. Unfortunately, subtle differences in your environment or an implementation can cause difficulties that prevent our products from automatically starting your program. In these cases, you must declare what needs to be done.
The following explanation is for TotalView and MemoryScape.
The only way MemoryScape users can alter the way an MPI program starts up is by altering the parallel_support.tvd file, which is contained within the totalview/lib installation directory area. TotalView users can also alter this file and they can create a local definition.
If you are using a locally-installed MPI implementation, you should add it to your PATH variable. By default, our products use the information in PATH to find the parallel launcher (for example, mpirun, mpiexec, poe, srun, prun, dmpirun, and so on). Generally, if you can run your parallel job from a command line, TotalView and MemoryScape can also run it.
If you have multiple installed MPI systems—for example, multiple versions of MPICH installed on a common file server—only one can be in your path. In this case, you would need to specify an absolute path to launch it, which means you will need to customize the TV::parallel_configs list variable or the parallel_support.tvd file contained within your installation directory so that it does not rely on your PATH variable.
The easiest way to create your own startup configuration is to copy a similar configuration from the TV::private::parallel_configs_base variable to the TV::parallel_configs variable, then make changes.
When you add configurations, they are simply added to a list. This means that if Rogue Wave Software supplies a definition named foo and you create a definition named foo, both exist and your product chooses the first one in the list. Because both are displayed, you must be careful to give each new definition a unique names.