hide random home http://www.sgi.com/tech/relnotes/6_0rel/pwrc_dev.html (Silicon Surf Promotional CD, 01/1995)

pwrc_dev Release Notes

pwrc_dev Release Notes

1 Introduction

2 Installation Information

3 New Features and Bug Fixes

4 Known Problems and Workarounds

 



                                               - 1 -




                    6.0 MIPSpro Power C Release Notes




























































                                               - 2 -



                    Document Number 007-1670-010




















                    ________________________________________________
                    Contributors:
                    Written by Bill Johnson and Todd Smith
                    Production by Valerie Franklin
                    Engineering contributions by Bill Johnson and Todd Smith
                    ________________________________________________
                    c Copyright 1994, Silicon Graphics, Inc. - All rights reserved

                    This document contains proprietary information
                    of Silicon Graphics, Inc.  The contents of this
                    document may not be disclosed to third parties,
                    copied, or duplicated in any form, in whole or
                    in part, without the prior written permission of
                    Silicon Graphics, Inc.

                    Restricted Rights Legend

                    Use, duplication, or disclosure of the technical
                    data contained in this document by the
                    Government is subject to restrictions as set
                    forth in subdivision (c) (1) (ii) of the Rights
                    in Technical Data and Computer Software clause
                    at DFARS 52.227-7013, and/or in similar or
                    successor clauses in the FAR, or the DOD or NASA
                    FAR Supplement.  Unpublished rights reserved
                    under the Copyright Laws of the United States.
                    Contractor/manufacturer is Silicon Graphics,
                    Inc., 2011 N. Shoreline Blvd., Mountain View, CA
                    94039-7311.

                    6.0 MIPSpro Power C Release Notes










                                               - 3 -



                    Document Number 007-1670-010

                    Silicon Graphics, Inc.
                    Mountain View, California

                    Silicon Graphics and IRIS are registered
                    trademarks and MIPSpro Power C, IRIS POWER
                    Series, IRIS-4D, Personal IRIS, IRIS Indigo, and
                    IRIX are trademarks of Silicon Graphics, Inc.


                    1.  Introduction

                    The MIPSpro Power C software option is a
                    parallel processing version of the standard C
                    compiler.  The software has three major
                    components:

                       o The Power C Analyzer (pca), which analyzes
                         serial C source code to find loops that can
                         be executed in parallel on multiple
                         processors.  It then rewrites the original
                         program, inserting compiler directives to
                         mark the parallel code.  You can run this
                         analyzer either as an automatic part of
                         compilation or as a stand-alone analysis
                         tool.

                       o The multiprocessing C source-to-source
                         translator (mpc), which recognizes the
                         parallel directives and generates parallel
                         C code containing calls to the run-time
                         library.

                       o A library of run-time routines (libmp.a)
                         that distribute and synchronize parallel
                         sections of code across multiple
                         processors.

                    Additional components of the product are:

                       o The manual page for pca.

                       o The manual page for mpc.

                       o A gifts directory containing: a ``quick
                         check'' procedure for verifying successful
                         installation, a sample benchmark program,
                         on-line copies of all code examples in the
                         MIPSpro Power C User's Guide, and on-line
                         versions of all of the code examples in











                                               - 4 -



                         Practical Parallel Programming, by Dr. Barr
                         E. Bauer, Academic Press, 1991.

                       o An on-line copy of these release notes.

                    Note:  Packaged with these release notes is a
                           separate sheet that contains the Software
                           License Agreement.  This software is
                           provided to you solely under the terms
                           and conditions of the Software License
                           Agreement.  Please take a few moments to
                           review the Agreement.

                    This document contains the following chapters:

                      1.  Introduction

                      2.  Installation Information

                      3.  New Features and Bug Fixes

                      4.  Known Problems and Workarounds


                    1.1  Release_Identification_Information

                    Following is the release identification
                    information for MIPSpro Power C:

                    Software Option Product        MIPSpro Power C

                    Version                        6.0
                    Product Code                   SC4-PWRC-6.0

                    System Software Requirements   4D1-6.0,
                                                   IRIS Development
                                                   Option 6.0



                    1.2  Hardware_Requirements

                    You can only install MIPSpro Power C on an SGI
                    Power Challenge  system.  The complete package
                    takes about 3.5 megabytes of disk space.  A
                    minimum of 12 megabytes of memory is recommended
                    for the best compile-time performance.

                    Note:  This version of Power C is designed to
                           only support Power Challenge systems
                           running IRIX 6.0.  Both Power C itself
                           and the executables it generates can only










                                               - 5 -



                           be run on a Power Challenge system.


                    1.3  On-Line_Release_Notes

                    After you install the on-line documentation for
                    a product (the relnotes subsystem), you can view
                    the release notes on your screen.

                    If you have a graphics system, select ``Release
                    Notes'' from the Tools submenu of the Toolchest.
                    This displays the grelnotes(1) graphical browser
                    for the on-line release notes.

                    Refer to the grelnotes(1) man page for
                    information on options to this command.

                    If you do not have a graphics system, you can
                    use the relnotes command.  Refer to the
                    relnotes(1) man page for accessing the on-line
                    release notes.

                    1.4  Product_Support

                    Silicon Graphics, Inc., provides a comprehensive
                    product support maintenance program for its
                    products.

                    If you are in North America and would like
                    support for your Silicon Graphics-supported
                    products, contact the Technical Assistance
                    Center at
                    1-800-800-4SGI.

                    If you are outside North America, contact the
                    Silicon Graphics subsidiary or authorized
                    distributor in your country.






















 



                                               - 1 -




                    6.0 MIPSpro Power C Release Notes




























































                                               - 2 -























                    ________________________________________________
                    Contributors:
                    Written by Bill Johnson and Todd Smith
                    Engineering contributions by Bill Johnson and Todd Smith
                    ________________________________________________
                    c Copyright 1994, Silicon Graphics, Inc. - All rights reserved

                    This document contains proprietary information
                    of Silicon Graphics, Inc.  The contents of this
                    document may not be disclosed to third parties,
                    copied, or duplicated in any form, in whole or
                    in part, without the prior written permission of
                    Silicon Graphics, Inc.

                    Restricted Rights Legend

                    Use, duplication, or disclosure of the technical
                    data contained in this document by the
                    Government is subject to restrictions as set
                    forth in subdivision (c) (1) (ii) of the Rights
                    in Technical Data and Computer Software clause
                    at DFARS 52.227-7013, and/or in similar or
                    successor clauses in the FAR, or the DOD or NASA
                    FAR Supplement.  Unpublished rights reserved
                    under the Copyright Laws of the United States.
                    Contractor/manufacturer is Silicon Graphics,
                    Inc., 2011 N. Shoreline Blvd., Mountain View, CA
                    94039-7311.

                    6.0 MIPSpro Power C Release Notes
                    Document Number 007-1670-010











                                               - 3 -



                    Silicon Graphics, Inc.
                    Mountain View, California

                    Silicon Graphics and IRIS are registered
                    trademarks and MIPSpro Power C, IRIS POWER
                    Series, IRIS-4D, Personal IRIS, IRIS Indigo, and
                    IRIX are trademarks of Silicon Graphics, Inc.


                    2.  Installation_Information

                    This chapter lists supplemental information to
                    the IRIS Software Installation Guide.  The
                    information listed here is product-specific; use
                    it with the installation guide to install this
                    product.

                    2.1  MIPSpro_Power_C_Subsystems

                    Following is a description of the MIPSpro Power
                    C subsystems:

                    pwrc_dev.sw.pca          The Power C Analyzer
                                             (pca).

                    pwrc_dev.sw.mpc          The multiprocessing C
                                             source-to-source
                                             translator (mpc).

                    pwrc_dev.sw.lib          The Power C run-time
                                             library (libmp).

                    pwrc_dev.opt.gifts       Optional sample test
                                             code.

                    pwrc_dev.man.pca         The on-line man page
                                             for pca.

                    pwrc_dev.man.mpc         The on-line man page
                                             for mpc.

                    pwrc_dev.man.relnotes    The (optional) on-line
                                             release notes.

                    2.1.1  Gifts_Directory_Contents  One of the
                    MIPSpro Power C subsystems, pwrc_dev.sw.gifts,
                    contains sample code that you might find useful.
                    This subsystem is not loaded by default, so you
                    must ask for it explicitly at installation time
                    if you want it to be loaded.












                                               - 4 -



                    This subsystem loads into
                    /usr/people/4Dgifts/examples/powerc and contains
                    the following subdirectories:

                    barr              Contains on-line versions of
                                      all of the code examples in
                                      Practical Parallel
                                      Programming, by Dr. Barr E.
                                      Bauer, Academic Press, 1991.

                    livermore         Contains the well-known
                                      Lawrence Livermore Loops
                                      benchmark program, which has
                                      been translated into C.

                    quick_check       Contains a very short test
                                      program, which can be
                                      compiled, linked, and executed
                                      to verify the correct
                                      installation and operation of
                                      MIPSpro Power C.

                    users_guide       Contains all of the source
                                      code examples in the MIPSpro
                                      Power C User's Guide.

                    Each of the subdirectories contains a README
                    file that further describes the contents of the
                    directory and a Makefile to build the sample
                    programs.

                    2.2  MIPSpro_Power_C_Subsystem_Disk_Use

                    This section lists the subsystems (and their
                    sizes) of the MIPSpro Power C option.

                    If you are installing this option for the first
                    time, the subsystems marked ``default'' are the
                    ones that are installed when you choose the
                    ``defaults'' or ``automatic'' menu items during
                    the installation procedure.

                    Note:  The listed subsystem sizes are
                           approximate. Refer to the IRIS Software
                           Installation Guide for information on
                           finding exact sizes.

                    Subsystem Name               Subsystem Size
                                                 (512-byte blocks)













                                               - 5 -



                    pwrc_dev.sw.pca (default)          7203

                    pwrc_dev.sw.lib (default)           175
                    pwrc_dev.sw.mpc (default)          1238

                    pwrc_dev.opt.gifts                  373
                    pwrc_dev.man.pca (default)           28

                    pwrc_dev.man.mpc (default)           10
                    pwrc_dev.man.relnotes                14

                    By default, the sample code and on-line release
                    notes are not installed.  They and the man pages
                    are not required to successfully run the
                    analyzer or the multiprocessing C compiler.

                    It is possible (although not recommended) to
                    omit either pwrc_dev.sw.pca or pwrc_dev.sw.mpc
                    and pwrc_dev.sw.lib depending on your needs.  If
                    you will be using only the multiprocessing C
                    source-to-source translator with code containing
                    hand-inserted parallel directives, you can
                    safely omit pwrc_dev.sw.pca.  If you wish to use
                    only the analyzer and do not plan to compile any
                    parallel code, you can omit pwrc_dev.sw.mpc and
                    pwrc_dev.sw.lib without harm.

                    Finally, note that linked, executable code
                    developed using MIPSpro Power C is fully self-
                    contained and does not require MIPSpro Power C
                    to be installed on the target system.

                    2.3  Installation_Method

                    All of the subsystems for MIPSpro Power C can be
                    installed using IRIX.  You do not need to use
                    the miniroot. Refer to the IRIS Software
                    Installation Guide for complete installation
                    instructions.

                    The procedure for installing the CROSS64
                    development option (to be installed from the 6.0
                    IDO CD-ROM onto a machine running 5.2 IRIX) is
                    specialized.  For the details of this procedure,
                    consult the 6.0 IRIX Development Option release
                    notes.  For information about using the CROSS64
                    development option, see the release notes for
                    the 6.0 Baae Compiler Development Option.














                                               - 6 -



                    2.4  Prerequisites

                    MIPSpro Power C requires that the standard C
                    compiler (found in the IRIS Development Option)
                    already be installed on your workstation.

                    2.5  Other_Installation_Information

                    The installation medium for MIPSpro Power C
                    contains a ``quick check'' procedure for
                    verifying correct installation and operation of
                    the product.  This procedure is part of the
                    pwrc_dev.sw.gifts subsystem which, by default,
                    is not installed.  You must specify at
                    installation time if you wish this loaded.

                    If you have installed the pwrc_dev.opt.gifts
                    subsystem, perform the following steps to check
                    MIPSpro Power C's installation and operation:

                    su
                    cd /usr/people/4Dgifts/examples/powerc/quick_check
                    make all
                    ./test
                    make clean

                    The test program takes between 10 seconds and 2
                    minutes to execute, depending on your hardware
                    configuration.  It is self-checking and prints a
                    final OK! upon successful completion.





























 



                                               - 1 -




                    6.0 MIPSpro Power C Release Notes




























































                                               - 2 -























                    ________________________________________________
                    Contributors:
                    Written by Bill Johnson and Todd Smith
                    Engineering contributions by Bill Johnson and Todd Smith
                    ________________________________________________
                    c Copyright 1994, Silicon Graphics, Inc. - All rights reserved

                    This document contains proprietary information
                    of Silicon Graphics, Inc.  The contents of this
                    document may not be disclosed to third parties,
                    copied, or duplicated in any form, in whole or
                    in part, without the prior written permission of
                    Silicon Graphics, Inc.

                    Restricted Rights Legend

                    Use, duplication, or disclosure of the technical
                    data contained in this document by the
                    Government is subject to restrictions as set
                    forth in subdivision (c) (1) (ii) of the Rights
                    in Technical Data and Computer Software clause
                    at DFARS 52.227-7013, and/or in similar or
                    successor clauses in the FAR, or the DOD or NASA
                    FAR Supplement.  Unpublished rights reserved
                    under the Copyright Laws of the United States.
                    Contractor/manufacturer is Silicon Graphics,
                    Inc., 2011 N. Shoreline Blvd., Mountain View, CA
                    94039-7311.

                    6.0 MIPSpro Power C Release Notes
                    Document Number 007-1670-010











                                               - 3 -



                    Silicon Graphics, Inc.
                    Mountain View, California

                    Silicon Graphics and IRIS are registered
                    trademarks and MIPSpro Power C, IRIS POWER
                    Series, IRIS-4D, Personal IRIS, IRIS Indigo, and
                    IRIX are trademarks of Silicon Graphics, Inc.


                    3.  New_Features_and_Bug_Fixes

                    This chapter details the changes in MIPSpro
                    Power C since the last release.

                       o Translation of parallel directives into C
                         code with parallel run-time library calls
                         is now done separately from the normal C
                         compilation process by mpc, which acts as a
                         source-to-source filter.  This decoupling
                         makes both phases more reliable.  In
                         addition, this makes it possible, using the
                         -pca keep option, to see the fully
                         parallelized C source code.

                       o The Power C Analyzer, pca, and the
                         parallelizing source-to-source filter, mpc,
                         have both been enhanced to correctly
                         compile code for 64-bit processors.

                       o As mentioned in the previous release notes,
                         variables in the shared list of #pragma
                         parallel previously were occasionally
                         passed by value.  This has been fixed.

                       o As mentioned in the previous release notes,
                         the analyzer would sometimes insert
                         typedef's into structure definitions.  This
                         has been fixed.

                       o Variables of type "long long" previously
                         were sometimes handled incorrectly in
                         inter-process communication.  This has been
                         fixed.

                       o The Power C Analyzer has undergone major
                         revision, fixing many bugs which previously
                         caused it to abort or produce incorrect or
                         inefficient code.

                       o Line numbers for the purposes of debugging,
                         etc., now always refer to the original











                                               - 4 -



                         source file rather than to one of its
                         various transformed versions.

                       o The default value for the -arclimit option
                         to pca has changed from 2000 to 5000.

                       o The default for the -machine option to pca
                         has changed from -machine=s to -nomachine.

                       o The options -cplc, -fuse, -hli, -namepart,
                         -unroll3, and -64 have been added to pca
                         for control of cache usage, loop fusion,
                         hoisting of loop invariant code, loop
                         fission, loop unrolling, and 64-bit
                         operation.  For more information on these
                         options, see the pca man page.











































 



                                               - 1 -




                    6.0 MIPSpro Power C Release Notes




























































                                               - 2 -























                    ________________________________________________
                    Contributors:
                    Written by Bill Johnson and Todd Smith
                    Engineering contributions by Bill Johnson and Todd Smith
                    ________________________________________________
                    c Copyright 1994, Silicon Graphics, Inc. - All rights reserved

                    This document contains proprietary information
                    of Silicon Graphics, Inc.  The contents of this
                    document may not be disclosed to third parties,
                    copied, or duplicated in any form, in whole or
                    in part, without the prior written permission of
                    Silicon Graphics, Inc.

                    Restricted Rights Legend

                    Use, duplication, or disclosure of the technical
                    data contained in this document by the
                    Government is subject to restrictions as set
                    forth in subdivision (c) (1) (ii) of the Rights
                    in Technical Data and Computer Software clause
                    at DFARS 52.227-7013, and/or in similar or
                    successor clauses in the FAR, or the DOD or NASA
                    FAR Supplement.  Unpublished rights reserved
                    under the Copyright Laws of the United States.
                    Contractor/manufacturer is Silicon Graphics,
                    Inc., 2011 N. Shoreline Blvd., Mountain View, CA
                    94039-7311.

                    6.0 MIPSpro Power C Release Notes
                    Document Number 007-1670-010











                                               - 3 -



                    Silicon Graphics, Inc.
                    Mountain View, California

                    Silicon Graphics and IRIS are registered
                    trademarks and MIPSpro Power C, IRIS POWER
                    Series, IRIS-4D, Personal IRIS, IRIS Indigo, and
                    IRIX are trademarks of Silicon Graphics, Inc.


                    4.  Known_Problems_and_Workarounds

                    This chapter lists known problems in this
                    release of MIPSpro Power C.

                       o A large number of extra warnings are
                         emitted by the compiler when compiling with
                         Power C; however, they are not indicative
                         of any real problems.  Only those warnings
                         which occur when compiling without Power C
                         actually indicate possible problems with
                         your program.

                       o The translation performed by mpc uses some
                         identifiers which actually belong in the
                         ANSI user namespace, typically beginning
                         with "_mp".  You may have a legal ANSI
                         problem which uses identifiers of this
                         type, but if you experience a name
                         conflict, you may have to rename those
                         variables.

                       o Given input code which already contains
                         parallel directives, the analyzer may pass
                         them through in a syntactically incorrect
                         form, causing errors in subsequent compiler
                         passes.  It is generally desirable to avoid
                         running the analyzer on code which already
                         contains parallel directives.

                       o In violation of the ANSI C standard,
                         expressions of the form (X && X), where X
                         is a constant, are sometimes folded to
                         simply (X) by the analyzer.  This often
                         causes no trouble, for example, when the
                         expression is being used as the condition
                         in an "if" statement, but can cause serious
                         problems in certain situations, such as
                         when the result of the expression is to be
                         passed to a function, etc.













                                               - 4 -



                       o If within a function body you declare and
                         call a second function, mpc may create code
                         with extra functions which call the second
                         function but lack its declaration, which
                         can cause compile-time prototype errors.
                         The way to avoid this problem is to declare
                         functions at the file scope level
                         (globally) rather than within functions.