home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / relnotes / mpt / ch04.z / ch04
Encoding:
Text File  |  2002-10-08  |  31.0 KB  |  727 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        4.  _N_e_w__F_e_a_t_u_r_e_s
  9.  
  10.        This chapter describes MPT features released since the MPT
  11.        1.5 release. Text that applies to IRIX systems only is
  12.        marked "IRIX systems only."  Text that applies to Linux
  13.        systems only is marked "Linux systems only."
  14.  
  15.  
  16.        4.1  _N_e_w__F_e_a_t_u_r_e_s__f_o_r__M_P_T__R_e_l_e_a_s_e__1_._5_._1
  17.  
  18.        This section describes the features that were new in the MPT
  19.        1.5.1 release.
  20.  
  21.  
  22.        4.1.1  _E_n_h_a_n_c_e_m_e_n_t__t_o__t_h_e__M_P_I___A_b_o_r_t__F_u_n_c_t_i_o_n
  23.        The MMMMPPPPIIII____AAAAbbbboooorrrrtttt function now returns the error code to the run
  24.        environment.  In addition, if an MPI process is terminated
  25.        by a signal such as SSSSIIIIGGGGBBBBUUUUSSSS or SSSSIIIIGGGGSSSSEEEEGGGGVVVV, a message with the
  26.        signal number that caused the abort is displayed.
  27.  
  28.  
  29.        4.1.2  _R_O_M_I_O__V_e_r_s_i_o_n__1_._0_._3
  30.        As of MPT release 1.5.1, MPT includes ROMIO 1.0.3. The major
  31.        change in ROMIO 1.0.3 is that the library automatically
  32.        compensates for the restrictions imposed by IRIX on buffer
  33.        and file alignment and transfer size for files using direct
  34.        I/O.  The nonconforming portion(s) of the I/O operation are
  35.        performed with buffered I/O, and the remainder (if any) uses
  36.        direct I/O.
  37.  
  38.        Direct I/O can be used only on XFS filesystems on single
  39.        system image IRIX systems.  If the environment variables,
  40.        MMMMPPPPIIIIOOOO____DDDDIIIIRRRREEEECCCCTTTT____RRRREEEEAAAADDDD and/or MMMMPPPPIIIIOOOO____DDDDIIIIRRRREEEECCCCTTTT____WWWWRRRRIIIITTTTEEEE, are set to
  41.        "TRUE," all such files opened by ROMIO use direct I/O.
  42.        Alternatively, individual files can be selected for direct
  43.        I/O, using the info keys, "direct_read" and "direct_write."
  44.  
  45.  
  46.        4.1.3  _c_c_-_N_U_M_A__E_n_h_a_n_c_e_m_e_n_t_s__(_I_R_I_X__s_y_s_t_e_m_s__o_n_l_y_)
  47.        The following changes have been made to the cc-NUMA support
  48.        provided by MPI and SHMEM with this release:
  49.  
  50.           +o When operating on hosts running IRIX 6.5.11 or higher,
  51.             the default placement topology is now
  52.             TTTTOOOOPPPPOOOOLLLLOOOOGGGGYYYY____CCCCPPPPUUUUCCCCLLLLUUUUSSSSTTTTEEEERRRR.  This placement topology is
  53.             designed to place processes as close together as
  54.             possible, taking into account disabled CPUs.
  55.  
  56.           +o For Origin 3000 series systems, placement of MPI and
  57.             SHMEM processes when setting MMMMPPPPIIII____DDDDSSSSMMMM____PPPPPPPPMMMM for sparse
  58.             placement has been improved.  When MMMMPPPPIIII____DDDDSSSSMMMM____PPPPPPPPMMMM is set
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.             to 2, processes are placed on separate CPU buses within
  75.             a node.
  76.  
  77.           +o An option has been added to allow you to specify a list
  78.             of CPUs to use for an MPI or SHMEM job.  For details,
  79.             see the MMMMPPPPIIII(1) and iiiinnnnttttrrrroooo____sssshhhhmmmmeeeemmmm(3) man pages.
  80.  
  81.           +o Support has been added to the MPI product for
  82.             nondefault page sizes for the user data segment.
  83.  
  84.  
  85.        4.1.4  _X_P_M_E_M__D_r_i_v_e_r__(_I_R_I_X__s_y_s_t_e_m_s__o_n_l_y_)
  86.        Each of the SGI SN architectures can be partitioned into
  87.        multiple independent systems. With the 1.5.1 release, MPI
  88.        supports the XPMEM (cross partition) device driver, which
  89.        allows MPI processes running on one partition to communicate
  90.        with MPI processes on a different partition via the NUMAlink
  91.        network.
  92.  
  93.        The NUMAlink network is powered by block transfer engines
  94.        (BTEs), which can be viewed as cache-coherent DMA engines.
  95.        BTEs reside on the Bedrock ASICs and can be used to copy
  96.        data from one physical memory range to another. BTE data
  97.        transfers do not require processor resources, and they can
  98.        be performed across partition boundaries.
  99.  
  100.        Currently, the MPI/XPMEM driver supports the send/receive
  101.        model, including single-copy mode.  For more information
  102.        regarding single-copy transfers, see the MMMMPPPPIIII____BBBBUUUUFFFFFFFFEEEERRRR____MMMMAAAAXXXX
  103.        environment variable. The MPI-2 one-sided feature has not
  104.        yet been implemented using the XPMEM driver.
  105.  
  106.        When using the single-copy mechanism, MPI processes on one
  107.        partition can transfer data to MPI processes on a different
  108.        partition, regardless of where the data resides. To achieve
  109.        optimal performance using single-copy transfers, you should
  110.        align the user send and receive data buffers on cacheline
  111.        (128-byte) boundaries.
  112.  
  113.        Note: We have occasionally experienced MPI program hangs
  114.        when running with XPMEM across partitions on IRIX versions
  115.        6.5.13, 6.5.14 and 6.5.15. Due to this condition, we do not
  116.        recommend running MPI across partitions using the XPMEM
  117.        driver on any of the aforementioned IRIX OS versions.  IRIX
  118.        OS version 6.5.16 resolves these problems.
  119.  
  120.        The XPMEM driver feature requires an Origin 3000 or Origin
  121.        300 system running in a partitioned mode. New environment
  122.        variables to support this feature are as follows:
  123.  
  124.        MMMMPPPPIIII____UUUUSSSSEEEE____XXXXPPPPMMMMEEEEMMMM        Requires the MPI library
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.                             to use the XPMEM driver as
  141.                             the interconnect when running
  142.                             across multiple hosts or running
  143.                             with multiple binaries. For more
  144.                             information on selecting an
  145.                             interconnect, see "Default
  146.                             Interconnect Selection" in these
  147.                             relnotes.
  148.  
  149.                             If MPI is successful in configuring
  150.                             the XPMEM driver, the following
  151.                             message appears at startup when you
  152.                             use the ----vvvv (verbose) option:
  153.  
  154.                             MMMMPPPPIIII:::: UUUUssssiiiinnnngggg XXXXPPPPMMMMEEEEMMMM NNNNUUUUMMMMAAAAlllliiiinnnnkkkk LLLLaaaayyyyeeeerrrr
  155.  
  156.  
  157.        MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____VVVVEEEERRRRBBBBOOOOSSSSEEEE    Allows additional MPI
  158.                             initialization information to
  159.                             be printed in the standard
  160.                             output stream.
  161.  
  162.        Note: This feature is disabled by default.
  163.  
  164.  
  165.        4.1.5  _S_h_a_r_e_d__M_e_m_o_r_y__O_p_t_i_m_i_z_a_t_i_o_n__w_i_t_h__M_y_r_i_n_e_t
  166.        An interoperability problem between GM and MPI on IRIX
  167.        systems has been fixed in the MPT 1.5.1 release.  MPI
  168.        applications using Myrinet(GM) can now also use globally
  169.        accessible memory.   This allows for faster communication
  170.        between MPI processes on the same IRIX host.  For details
  171.        about using globally accessible memory in MPI applications,
  172.        see the section on buffering in the MMMMPPPPIIII(1) man page.
  173.  
  174.  
  175.        4.1.6  _A_r_r_a_y__S_e_r_v_i_c_e_s__S_u_p_p_o_r_t__(_L_i_n_u_x__s_y_s_t_e_m_s__o_n_l_y_)
  176.        By default on Linux systems, mmmmppppiiiirrrruuuunnnn uses a launcher that
  177.        performs rrrrsssshhhh calls.  However, this launcher has a limitation
  178.        of not cleaning up the processes if one or more abnormally
  179.        terminates.  With this release, users who are running
  180.        version 1.5.1 of Linux Base Software (LBS) can enable Array
  181.        Services to assist in launching MPI programs by setting the
  182.        MMMMPPPPIIII____AAAARRRRRRRRAAAAYYYY____LLLLAAAAUUUUNNNNCCCCHHHH environment variable prior to invoking the
  183.        mmmmppppiiiirrrruuuunnnn command.  Array Services is designed to not only help
  184.        in job launch but also in cleaning up stray MPI processes.
  185.        Array Services assisted launching of MPI programs will
  186.        become the default in a future release.
  187.  
  188.        If the mmmmppppiiiirrrruuuunnnn command displays a message that Array Services
  189.        is not running, check that it is installed correctly, as
  190.        follows:
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.          1.  Determine if the Array Services package is installed
  207.              by invoking the rrrrppppmmmm ----qqqq aaaarrrrrrrraaaayyyyssssvvvvccccssss command.  If it is
  208.              installed, refer to the aaaarrrrrrrraaaayyyy____sssseeeerrrrvvvviiiicccceeeessss, aaaarrrrrrrraaaayyyydddd....ccccoooonnnnffff,
  209.              and aaaarrrrrrrraaaayyyydddd....aaaauuuutttthhhh man pages for proper configuration.
  210.  
  211.          2.  Determine if the daemon is running by invoking the ppppssss
  212.              ----eeeeffff |||| ggggrrrreeeepppp aaaarrrrrrrraaaayyyydddd command.  If the daemon is not
  213.              running, as root, start it by invoking the following
  214.              command:
  215.  
  216.              ////eeeettttcccc////rrrrcccc....dddd////iiiinnnniiiitttt....dddd////aaaarrrrrrrraaaayyyy ssssttttaaaarrrrtttt
  217.  
  218.              If the daemon is running, but you have made
  219.              configuration changes, as root, restart it by invoking
  220.              the following command:
  221.  
  222.              ////eeeettttcccc////rrrrcccc....dddd////iiiinnnniiiitttt....dddd////aaaarrrrrrrraaaayyyy rrrreeeessssttttaaaarrrrtttt
  223.  
  224.          3.  Determine if your configuration contains any errors by
  225.              invoking the ////uuuussssrrrr////eeeettttcccc////aaaasssscccchhhheeeecccckkkk command.  Remember,
  226.              after making configuration changes, you will need to
  227.              restart the aaaarrrrrrrraaaayyyydddd daemon, as previously noted.
  228.  
  229.        Note:  On IRIX systems, mmmmppppiiiirrrruuuunnnn uses Array Services by
  230.        default.
  231.  
  232.  
  233.        4.2  _N_e_w__F_e_a_t_u_r_e_s__f_o_r__M_P_T__R_e_l_e_a_s_e__1_._5_._2
  234.  
  235.        This section describes the features that were new in the MPT
  236.        1.5.2 release.
  237.  
  238.  
  239.        4.2.1  _G_S_N__D_r_i_v_e_r__f_o_r__l_i_b_s_t__1_._0__(_I_R_I_X__s_y_s_t_e_m_s__o_n_l_y_)
  240.        Support for the GSN Driver for libst 1.0 has been dropped
  241.        with this release.
  242.  
  243.  
  244.        4.2.2  _G_S_N__D_r_i_v_e_r__(_I_R_I_X__s_y_s_t_e_m_s__o_n_l_y_)
  245.        GSN (ST protocol) interconnect capabilities are now
  246.        available for MPI programs running across multiple hosts.
  247.        The minimum requirements for this feature are IRIX version
  248.        6.5.12, GSN version 3.0, and libst version 2.0.
  249.  
  250.        This MPI GSN driver now supports configurations of more than
  251.        128 processes per host. This allows for 256 or 512 processor
  252.        hosts to use the GSN interconnect for message passing when
  253.        running large MPI jobs across multiple hosts.
  254.  
  255.        Environment variables to support this feature are as
  256.        follows:
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                   - 5 -
  269.  
  270.  
  271.  
  272.        MMMMPPPPIIII____UUUUSSSSEEEE____GGGGSSSSNNNN         Requires the MPI library to
  273.                            use the GSN (ST protocol) OS
  274.                            bypass driver as the interconnect
  275.                            when running across multiple hosts
  276.                            or running with multiple binaries.
  277.                            For more information on selecting
  278.                            an interconnect, see "Default
  279.                            Interconnect Selection" in these
  280.                            relnotes.
  281.  
  282.                            If MPI is successful in configuring
  283.                            the GSN driver, the following message
  284.                            appears at startup when using the
  285.                            ----vvvv (verbose) option:
  286.  
  287.                            MMMMPPPPIIII:::: UUUUssssiiiinnnngggg GGGGSSSSNNNN ((((SSSSTTTT pppprrrroooottttooooccccoooollll)))) OOOOSSSS bbbbyyyyppppaaaassssssss
  288.  
  289.  
  290.  
  291.        MMMMPPPPIIII____GGGGSSSSNNNN____VVVVEEEERRRRBBBBOOOOSSSSEEEE    Allows additional MPI/GSN/ST
  292.                           initialization information
  293.                           to be printed in the standard
  294.                           output stream.
  295.  
  296.        MMMMPPPPIIII____GGGGSSSSNNNN____DDDDEEEEVVVVSSSS       Sets the order for opening
  297.                           GSN adapters
  298.  
  299.        For details of these variables, see the MMMMPPPPIIII(1) man page.
  300.  
  301.  
  302.        4.2.3  _U_S_E__M_P_I__S_t_a_t_e_m_e_n_t
  303.        Support for the Fortran 90 USE MPI statement on Linux IA64
  304.        systems has been dropped with this release.
  305.  
  306.  
  307.        4.2.4  _d_p_l_a_c_e__I_n_t_e_r_o_p_e_r_a_b_i_l_i_t_y__E_n_h_a_n_c_e_m_e_n_t_s
  308.        When running on hosts with IRIX 6.5.13 or higher installed,
  309.        MPI and SHMEM programs now make use of new internal features
  310.        in dplace for performance improvements.
  311.  
  312.  
  313.        4.2.5  _D_i_s_s_e_m_i_n_a_t_i_o_n_/_B_u_t_t_e_r_f_l_y__B_a_r_r_i_e_r__E_n_a_b_l_e_d__b_y__D_e_f_a_u_l_t
  314.        For MPI or SHMEM jobs using 64 or more processors on a given
  315.        host, the dissemination/butterfly barrier is now enabled by
  316.        default.  To disable the dissemination/butterfly algorithm,
  317.        the MMMMPPPPIIII____BBBBAAAARRRR____CCCCOOOOUUUUNNNNTTTTEEEERRRR environment variable can be set.
  318.  
  319.  
  320.        4.2.6  _M_P_I___G_e_t___a_d_d_r_e_s_s__F_u_n_c_t_i_o_n_a_l_i_t_y
  321.        A new man page, MMMMPPPPIIII____GGGGeeeetttt____aaaaddddddddrrrreeeessssssss, has been added in this
  322.        release. This function is an MPI-2 feature, which gets the
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.                                   - 6 -
  335.  
  336.  
  337.  
  338.        address of a location in memory and returns it as an
  339.        MMMMPPPPIIII____AAAAiiiinnnntttt value.  This function replaces the MPI-1 function,
  340.        MMMMPPPPIIII____AAAAddddddddrrrreeeessssssss, which returned an iiiinnnntttt value, thus making
  341.        MMMMPPPPIIII____GGGGeeeetttt____aaaaddddddddrrrreeeessssssss better suited for the 64-bit ABI.  It is
  342.        currently only available with ABI 64 for Fortran.
  343.  
  344.  
  345.        4.2.7  _M_P_I___R_E_Q_U_E_S_T___M_A_X__L_i_m_i_t__I_n_c_r_e_a_s_e_d
  346.        The maximum limit for the MPI environment variable
  347.        MMMMPPPPIIII____RRRREEEEQQQQUUUUEEEESSSSTTTT____MMMMAAAAXXXX has increased from 16,384 to 65,536.
  348.  
  349.  
  350.        4.2.8  _S_h_o_r_t__M_e_s_s_a_g_e__L_a_t_e_n_c_y__R_e_d_u_c_t_i_o_n
  351.        Latency for short messages has been reduced for Origin 3000
  352.        systems.
  353.  
  354.  
  355.        4.3  _N_e_w__F_e_a_t_u_r_e_s__f_o_r__M_P_T__R_e_l_e_a_s_e__1_._5_._3
  356.  
  357.        This section describes the features that were new in the MPT
  358.        1.5.3 release.
  359.  
  360.  
  361.        4.3.1  _E_n_h_a_n_c_e_d__S_i_n_g_l_e_-_C_o_p_y__M_o_d_e__(_I_R_I_X___s_y_s_t_e_m_s___o_n_l_y_)
  362.        Single-copy send/receive mode has been enhanced for
  363.        processes residing on the same host.  The XPMEM driver
  364.        provides this new functionality and increased bandwidth
  365.        capability.
  366.  
  367.        You can enable the enhanced single-copy mode by setting the
  368.        MMMMPPPPIIII____BBBBUUUUFFFFFFFFEEEERRRR____MMMMAAAAXXXX and the MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____OOOONNNN variables.  For more
  369.        information on single-copy mode, see the MMMMPPPPIIII____BBBBUUUUFFFFFFFFEEEERRRR____MMMMAAAAXXXX
  370.        environment variable description in the MMMMPPPPIIII man page.
  371.  
  372.        Previous releases of MPT offered the single-copy feature
  373.        only if the sender data resided in either the symmetric
  374.        data, symmetric heap, or global heap.  The 1.5.3 MPT release
  375.        supports the single-copy feature for basic predefined MPI
  376.        data types from any sender data location, including the
  377.        stack and private heap.
  378.  
  379.        Both the MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____OOOONNNN and MMMMPPPPIIII____BBBBUUUUFFFFFFFFEEEERRRR____MMMMAAAAXXXX variables must be
  380.        set to enable these enhancements.  Both are disabled by
  381.        default.
  382.  
  383.        If the following additional conditions are met, the block
  384.        transfer engine (BTE) is invoked instead of bbbbccccooooppppyyyy, to
  385.        provide increased bandwidth:
  386.  
  387.           +o Send and receive buffers are cache-aligned.
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                                   - 7 -
  401.  
  402.  
  403.  
  404.           +o Amount of data to transfer is greater than or equal to
  405.             the MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____TTTTHHHHRRRREEEESSSSHHHHOOOOLLLLDDDD value.
  406.  
  407.        The MMMMPPPPIIII____XXXXPPPPMMMMEEEEMMMM____TTTTHHHHRRRREEEESSSSHHHHOOOOLLLLDDDD environment variable can be used to
  408.        specify a minimum message size, in bytes, for which the
  409.        message will be transferred via the BTE, provided all the
  410.        above conditions are met.  The default threshold is set to
  411.        8192 bytes.
  412.  
  413.        NNNNooootttteeee::::  The XPMEM driver does not support checkpoint/restart
  414.        at this time.  If you enable these XPMEM enhancements, you
  415.        will not be able to checkpoint and restart your MPI job.
  416.  
  417.        For more information about the general XPMEM driver, see
  418.        "XPMEM Driver" in these relnotes.
  419.  
  420.        The single-copy enhancements require an Origin 3000 or
  421.        Origin 300 server running IRIX release 6.5.15 or greater.
  422.  
  423.  
  424.        4.3.2  _M_P_I___A_l_l_o_c___m_e_m__a_n_d__M_P_I___F_r_e_e___m_e_m__F_u_n_c_t_i_o_n_a_l_i_t_y
  425.        MPI-2 functionality has been added for the MMMMPPPPIIII____AAAAlllllllloooocccc____mmmmeeeemmmm and
  426.        MMMMPPPPIIII____FFFFrrrreeeeeeee____mmmmeeeemmmm functions. MMMMPPPPIIII____AAAAlllllllloooocccc____mmmmeeeemmmm allocates special
  427.        memory, and is used in conjunction with MMMMPPPPIIII____FFFFrrrreeeeeeee____mmmmeeeemmmm, which
  428.        frees the dynamically allocated memory.  Currently, this
  429.        functionality is implemented only on IRIX (on Linux systems,
  430.        it will return MMMMPPPPIIII____EEEERRRRRRRR____NNNNOOOO____MMMMEEEEMMMM).  Additionally, while the C
  431.        bindings work with both -n32 and -64 applications, the
  432.        Fortran bindings work only with -64 applications.
  433.  
  434.  
  435.        4.3.3  _M_P_I___T_r_a_n_s_f_e_r___o_f___h_a_n_d_l_e_s__F_u_n_c_t_i_o_n_s
  436.        The MPI-2 MMMMPPPPIIII____TTTTrrrraaaannnnssssffffeeeerrrr____ooooffff____hhhhaaaannnnddddlllleeeessss functions have been added
  437.        for the MPT 1.5.3 release.  These functions convert a
  438.        Fortran integer to the appropriate C handle, and vice-versa.
  439.        For example, the mmmmppppiiii____ccccoooommmmmmmm____ffff2222cccc function converts an integer
  440.        Fortran communicator handle to an MMMMPPPPIIII____CCCCoooommmmmmmm C communicator
  441.        handle.  Conversely, mmmmppppiiii____ccccoooommmmmmmm____cccc2222ffff converts a C communicator
  442.        handle to an integer Fortran communicator handle.
  443.  
  444.        Other functions for converting between Fortran integers and
  445.        C handles are as follows:
  446.  
  447.           mmmmppppiiii____ggggrrrroooouuuupppp____cccc2222ffff////mmmmppppiiii____ggggrrrroooouuuupppp____ffff2222cccc
  448.           mmmmppppiiii____ttttyyyyppppeeee____cccc2222ffff////mmmmppppiiii____ttttyyyyppppeeee____ffff2222cccc
  449.           mmmmppppiiii____rrrreeeeqqqquuuueeeesssstttt____cccc2222ffff////mmmmppppiiii____rrrreeeeqqqquuuueeeesssstttt____ffff2222cccc
  450.           mmmmppppiiii____oooopppp____cccc2222ffff////mmmmppppiiii____oooopppp____ffff2222cccc
  451.           mmmmppppiiii____wwwwiiiinnnn____cccc2222ffff////mmmmppppiiii____wwwwiiiinnnn____ffff2222cccc
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.                                   - 8 -
  467.  
  468.  
  469.  
  470.        4.4  _N_e_w__F_e_a_t_u_r_e_s__f_o_r__M_P_T__R_e_l_e_a_s_e__1_._6
  471.  
  472.        This section describes the features that are new in the MPT
  473.        1.6 release.
  474.  
  475.  
  476.        4.4.1  _P_V_M__U_n_b_u_n_d_l_e_d__f_r_o_m__M_P_T__1_._6
  477.        SGI has unbundled PVM out of the MPT product and into a
  478.        stand-alone package available through the SGI software
  479.        download page.   PVM 3.3 is now in a courtesy mode of
  480.        support.   We do not plan future PVM bugfix releases, but
  481.        will provide a downloadable SGI version of PVM to customers
  482.        who wish to continue using this product.  As an alternative,
  483.        customers can obtain versions of PVM from the
  484.        hhhhttttttttpppp::::////////wwwwwwwwwwww....eeeeppppmmmm....oooorrrrnnnnllll....ggggoooovvvv////ppppvvvvmmmm//// website.
  485.  
  486.        In the future, SGI will continue to provide efficient and
  487.        feature-rich implementations of the MPI and SHMEM message-
  488.        passing APIs.  However, customer interest in further
  489.        optimization to the SGI PVM library is decreasing.
  490.  
  491.        In prior MPT releases, installation of the PVM software was
  492.        required.  In the MPT 1.5.3 release package, we permitted
  493.        the uninstalling of PVM.  This allowed customers to try out
  494.        the effect of removing PVM software from a system prior to
  495.        upgrading to MPT 1.6.
  496.  
  497.  
  498.        4.4.2  _D_e_f_a_u_l_t__I_n_t_e_r_c_o_n_n_e_c_t__S_e_l_e_c_t_i_o_n
  499.        In previous SGI MPI releases, the software attempted to find
  500.        HIPPI 800 hardware on the host(s) when MPI was launched
  501.        across multiple IRIX hosts.  Other interconnects such as
  502.        GSN, Myrinet, and XPMEM had to be manually selected via an
  503.        environment variable.  Starting with the MPT 1.6 release,
  504.        this search algorithm has been significantly modified.  By
  505.        default, if MPI is being run across multiple hosts, or if
  506.        multiple binaries are specified on the mmmmppppiiiirrrruuuunnnn startup
  507.        command, the software searches for interconnects in the
  508.        following order (for IRIX systems):
  509.  
  510.          1.  XPMEM (NUMAlink)
  511.  
  512.          2.  GSN
  513.  
  514.          3.  MYRINET
  515.  
  516.          4.  HIPPI 800
  517.  
  518.          5.  TCP/IP
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.                                   - 9 -
  533.  
  534.  
  535.  
  536.        The only supported interconnect on Linux systems at this
  537.        time is TCP/IP.
  538.  
  539.        MPI uses the first interconnect it can detect and configure
  540.        correctly.  There will be only one interconnect configured
  541.        for the entire MPI job, with the exception of XPMEM.  If
  542.        XPMEM is found on some hosts but not on others, one
  543.        additional interconnect is selected for those hosts not
  544.        found on the NUMAlink cluster.
  545.  
  546.        The user can specify a mandatory interconnect to use by
  547.        setting one of the following new environment variables.
  548.        These variables are assessed in the order shown.
  549.  
  550.          1.  MMMMPPPPIIII____UUUUSSSSEEEE____XXXXPPPPMMMMEEEEMMMM
  551.  
  552.          2.  MMMMPPPPIIII____UUUUSSSSEEEE____GGGGSSSSNNNN
  553.  
  554.          3.  MMMMPPPPIIII____UUUUSSSSEEEE____GGGGMMMM
  555.  
  556.          4.  MMMMPPPPIIII____UUUUSSSSEEEE____HHHHIIIIPPPPPPPPIIII
  557.  
  558.          5.  MMMMPPPPIIII____UUUUSSSSEEEE____TTTTCCCCPPPP
  559.  
  560.        If MPI determines that the requested interconnect is
  561.        unavailable or not configured properly, an error message is
  562.        printed to stdout and the job is terminated.
  563.  
  564.        For a mandatory interconnect to be used, all of the hosts
  565.        listed on the mmmmppppiiiirrrruuuunnnn command line must be connected via this
  566.        device.  If this is not the case, the job is terminated.
  567.        XPMEM is an exception to this rule, however.  If
  568.        MMMMPPPPIIII____UUUUSSSSEEEE____XXXXPPPPMMMMEEEEMMMM is set, one additional interconnect can be
  569.        selected via the MMMMPPPPIIII____UUUUSSSSEEEE variables.  Messaging between the
  570.        partitioned hosts uses the XPMEM driver while messaging
  571.        between nonpartitioned hosts uses the second interconnect.
  572.        If a second interconnect is required but not selected by the
  573.        user, MPI chooses the interconnect to use, based on the
  574.        default hierarchy.
  575.  
  576.        If the global ----vvvv verbose option is used on the mmmmppppiiiirrrruuuunnnn
  577.        command line, a message is printed to stdout, indicating the
  578.        multi-host interconnect used for the job.
  579.  
  580.        The following interconnect selection environment variables
  581.        have been deprecated in the MPT 1.6 release:  MMMMPPPPIIII____GGGGSSSSNNNN____OOOONNNN,
  582.        MMMMPPPPIIII____GGGGMMMM____OOOONNNN, and MMMMPPPPIIII____BBBBYYYYPPPPAAAASSSSSSSS____OOOOFFFFFFFF.  If any of these variables
  583.        are set, MPI prints a warning message to ssssttttddddoooouuuutttt. The
  584.        previous meanings of these variables are ignored.
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.                                   - 10 -
  599.  
  600.  
  601.  
  602.        4.4.3  _M_P_I_-_2__P_r_o_c_e_s_s__M_a_n_a_g_e_r__I_n_t_e_r_f_a_c_e__F_u_n_c_t_i_o_n_a_l_i_t_y
  603.        MPI-2 functionality has been added for the MMMMPPPPIIII____CCCCoooommmmmmmm____ssssppppaaaawwwwnnnn
  604.        and related functions and attributes described in sections
  605.        5.3, 5.5.1, and 5.5.3 of the MPI-2 standard. In the MPT 1.6
  606.        release, this functionality is available only for MPI jobs
  607.        running on a single IRIX host.  For further details, see the
  608.        mmmmppppiiiirrrruuuunnnn(1) and MMMMPPPPIIII(1) man pages.
  609.  
  610.  
  611.        4.4.4  _M_P_I_-_2__R_e_p_l_a_c_e_m_e_n_t_s__f_o_r__D_e_p_r_e_c_a_t_e_d__D_a_t_a_t_y_p_e__F_u_n_c_t_i_o_n_s
  612.         The MPI-2 standard defines a set of functions that are to
  613.        be used as replacements for several that are deprecated.
  614.        These new functions take advantage of the use of type
  615.        IIIINNNNTTTTEEEEGGGGEEEERRRR((((KKKKIIIINNNNDDDD====MMMMPPPPIIII____AAAADDDDDDDDRRRREEEESSSSSSSS____KKKKIIIINNNNDDDD)))) so that addresses can be 64-
  616.        bit addressable and are not limited to the size of an
  617.        integer.
  618.  
  619.        For C, the following new functions have been added for ABI
  620.        32 and ABI 64:
  621.  
  622.          MMMMPPPPIIII____TTTTyyyyppppeeee____ccccrrrreeeeaaaatttteeee____hhhhiiiinnnnddddeeeexxxxeeeedddd
  623.          MMMMPPPPIIII____TTTTyyyyppppeeee____ccccrrrreeeeaaaatttteeee____hhhhvvvveeeeccccttttoooorrrr
  624.          MMMMPPPPIIII____TTTTyyyyppppeeee____ccccrrrreeeeaaaatttteeee____ssssttttrrrruuuucccctttt
  625.  
  626.        The Fortran versions of these routines have been added for
  627.        ABI 64 only.  In addition, for Fortran, the MPI-2 functions,
  628.        MMMMPPPPIIII____TTTTYYYYPPPPEEEE____GGGGEEEETTTT____CCCCOOOONNNNTTTTEEEENNNNTTTTSSSS and MMMMPPPPIIII____TTTTYYYYPPPPEEEE____GGGGEEEETTTT____EEEENNNNVVVVEEEELLLLOOOOPPPPEEEE, have been
  629.        added for ABI 64.
  630.  
  631.  
  632.        4.4.5  _I_m_p_r_o_v_e_d__M_P_I_/_O_p_e_n_M_P__I_n_t_e_r_o_p_e_r_a_b_i_l_i_t_y__(_I_R_I_X__o_n_l_y_)
  633.        In this release, improved placement algorithms are available
  634.        for use with MPI/OpenMP hybrid applications. This feature is
  635.        available on Origin 300 and Origin 3000 series servers.  For
  636.        details about this feature, see the MMMMPPPPIIII(1) man page.
  637.  
  638.  
  639.        4.4.6  _R_e_d_u_c_e_d__S_t_a_r_t_u_p__T_i_m_e__O_v_e_r_h_e_a_d
  640.        Changes have been made to reduce the startup time overhead
  641.        observed for MPI jobs involving more than 128 MPI processes
  642.        per host.
  643.  
  644.  
  645.        4.4.7  _S_t_a_t_u_s__V_a_l_u_e__N_o_w__U_s_e_d__f_o_r__C_e_r_t_a_i_n__I_/_O__O_p_e_r_a_t_i_o_n_s
  646.        In this release, a change was made to allow
  647.        MMMMPPPPIIII____GGGGeeeetttt____eeeelllleeeemmmmeeeennnnttttssss() and MMMMPPPPIIII____GGGGeeeetttt____ccccoooouuuunnnntttt() to be used on the
  648.        status variable passed into read, write, MMMMPPPPIIIIOOOO____TTTTeeeesssstttt(), and
  649.        MMMMPPPPIIIIOOOO____WWWWaaaaiiiitttt() calls to determine the transfer length of the
  650.        associated I/O operation.  Previously, the status value was
  651.        not filled in for such calls.
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.                                   - 11 -
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.