Escali 4.4 manual How to provide options to mpimon, Network options

Page 38

Section: 3.3 Running Scali MPI Connect programs

By default the processes’ output to stdout all appear in the stdout of mpimon, where they are merged in some random order. It is however possible to keep the outputs apart by directing them to files that have unique names for each process. This is accomplished by giving mpimon the option -separate_output <seletion>, e.g., -separate_output all to have each process deposit its stdout in a file. The files are named according to the folowing template:

ScaMPIoutput_<host>_<pid>_<rank>, where <host> and <pid> identify the particular invokation of mpimon on the host, and <rank> identifies the process.

3.3.2.6 How to provide options to mpimon

There are three different ways to provide options to mpimon. The most common way is to specify options on the command line invoking mpimon. Another way is to define environment variables, and the third way is to define options in configuration file(s).

Command line options: Options for mpimon must be placed after mpimon, but before the program name

Environment-variable options: Setting an mpimon-option with environment variables requires that variables are defined as SCAMPI_<uppercase-option>where SCAMPI_ is a fixed prefix followed by the option converted to uppercase. For example SCAMPI_CHANNEL_SIZE=64Kmeans setting -channel_size to 64K

Configuration-files options: mpimon reads up to three different configuration files when starting. First the systemwide configuration (/opt/scali/etc/ScaMPI.conf) is read. If the user has a file on his/her home-directory, that file(~/ScaMPI.conf) is then read. Finally if there is a configuration file in the current directory, that file(./ ScaMPI.conf) is then read. The files should contain one option per line, given as for command line options.

The options described either on the command line, as environment variables or in configuration files are prioritized the following way (ranked from lowest to highest):

1.System-wide configuration-file(/opt/scali/etc/ScaMPI.conf)

2.Configuration-file on home-directory(~/ScaMPI.conf)

3.Configuration-file on current directory(./ScaMPI.conf)

4.Environment-variables

5.Command line-options

3.3.2.7 Network options

Scali MPI Connect is designed to handle several networks in one run. There are two types of networks, built-in standard-devices and DAT-devices. The devices are selected by giving the option -networks<net-list> to mpimon. <net-list> is a comma-separated list of device names. Scali MPI Connect uses the list when setting up connections to other MPI-processes. It starts off with the first device in the list and sets up all possible connections with that device. If this fails the next on list is tried and so on until all connections are live or all adapters in <net- list>have beentried. A list of possible devices can be obtained with the scanet command.

For systems installed with the Scali Manage installer, a list of preferred devices is provided in ScaMPI.conf. An explicit list of devices may be set either in a private ScaMPI.conf, through the SCAMPI_NETWORKS environment variable, or by the -networks parameter to mpimon. The values should be provided in a comma-separated list of device names.

Example: mpimon -networks smp,gm0,tcp ...

Scali MPI Connect Release 4.4 Users Guide

26

Image 38
Contents Scali MPI ConnectTM Users Guide Acknowledgement Copyright 1999-2005 Scali AS. All rights reservedScali Bronze Software Certificate Grant of License MaintenanceII Software License Terms Commencement Sub-license and distribution SupportLicense Manager Export RequirementsSCALI’s Obligations LICENSEE’s ObligationsTitle to Intellectual Property Rights TransferWarranty of Title and Substantial Performance Compliance with LicensesLimitation on Remedies and Liabilities Scali MPI Connect Release 4.4 Users Guide ViiProprietary Information MiscellaneousGoverning Law Scali MPI Connect Release 4.4 Users Guide Table of contents Profiling with Scali MPI Connect Appendix a Example MPI code Scali MPI Connect Release 4.4 Users Guide Chapter Scali MPI Connect product contextSupport Scali mailing lists SMC FAQ SMC release documentsProblem reports Platforms supportedLicensing How to read this guideAcronyms and abbreviations FeedbackNIC GUI style font Terms and conventionsTypographic conventions Typographic conventions Description of Scali MPI Connect Scali MPI Connect componentsSMC network devices Shared Memory Device Direct Access Transport DATNetwork devices Ethernet Devices3.2 DET Using detctlUsing detstat 4.1 GM MyrinetInfiniband 5.1 IBChannel buffer Communication protocols on DAT-devices6 SCI Transporter protocol Inlining protocolEagerbuffering protocol Zerocopy protocol MPI-2 FeaturesSupport for other interconnects Scali MPI Connect Release 4.4 Users Guide MPI-2 Features Scali MPI Connect environment variables Setting up a Scali MPI Connect environmentCompiling and linking RunningCompiler support Linker flagsRunning Scali MPI Connect programs Naming conventionsIdentity of parallel processes Mpimon monitor programBasic usage Standard output Controlling options to mpimonStandard input Program specHow to provide options to mpimon Network optionsMpirun wrapper script Mpirun usageRunning with dynamic interconnect failover capabilities Running with tcp error detection TfdrSuspending and resuming jobs Part partDebugging and profiling Debugging with a sequential debuggerAssistance for external profiling Using built-in segment protect violation handlerBuilt-in-tools for debugging Debugging with Etnus TotalviewChannelinlinethreshold size to set threshold for inlining Controlling communication resourcesCommunication resources on DAT-devices Good programming practice with SMC Using MPIIsend, MPIIrecvUsing MPIBsend Matching MPIRecv with MPIProbeFatal errors Error and warning messagesUser interface errors and warnings Unsafe MPI programsMpimon options Postfix Giving numeric values to mpimonPrefix Scali MPI Connect Release 4.4 Users Guide Profiling with Scali MPI Connect ExampleUsing Scali MPI Connect built-in trace TracingAbsRank MPIcallcommNamerankcall-dependant-parameters where +relSecs S eTime whereFeatures ExampleUsing Scali MPI Connect built-in timing TimingMPIcallDcallsDtimeDfreq TcallsTtimeTfreq Commrank send to toworldTocommonFields where Using the scanalyzeCommrank recv from fromworldFromcommonFields Count!avrLen!zroLen!inline!eager!transporter! whereFor timing Using SMCs built-in CPU-usage functionality This produces the following reportScali MPI Connect Release 4.4 Users Guide Tuning communication resources Automatic buffer managementCaching the application program on the nodes How to optimize MPI performanceBenchmarking First iteration is very slowCollective operations Memory consumption increase after warm-upFinding the best algorithm Image contrast enhancement Appendix aPrograms in the ScaMPItst package Scali MPI Connect Release 4.4 Users Guide File format OriginalAppendix B When things do not work troubleshootingWhy does not my program start to run? General problems Why can I not start mpid?Why does my program terminate abnormally? Per node installation of Scali MPI Connect Appendix CInstall Scali MPI Connect for Myrinet Install Scali MPI Connect for TCP/IPInstall Scali MPI Connect for Direct Ethernet ExampleInstall and configure SCI management software Install Scali MPI Connect for InfinibandInstall Scali MPI Connect for SCI License optionsScali kernel drivers Uninstalling SMCTroubleshooting Network providers Troubleshooting 3rdparty DAT providers Troubleshooting the GM providerScali MPI Connect Release 4.4 Users Guide Grouping Appendix D Bracket expansion and groupingBracket expansion Scali MPI Connect Release 4.4 Users Guide Appendix E Related documentationScali MPI Connect Release 4.4 Users Guide List of figures Scali MPI Connect Release 4.4 Users Guide Index Transporter protocolSSP