ARSC T3E Users' Newsletter 144, June 12, 1998

MPICH for the T3E

A preliminary release of MPICH for the T3E is now available.

MPICH is a portable, public implementation of the MPI standard, written jointly by researchers at Argonne National Labs and Mississippi State University, and has been ported to a wide variety of computing systems. The Cray T3D port was first written by Ron Brightwell of MSU, and later modified to conform to MPICH's second generation Abstract Device Interface (ADI-2) by Shane Hebert, also of MSU.

The T3E port was implemented by Shane Hebert, who is making a preliminary release available for final user testing.

Shane writes:


#90 :


HPF Users: Help Requested!

A PhD student contacted us. He has built an HPF simulator and needs data from actual HPF users for his assessment.

His survey form is on-line at:

Here is the actual request:

> Dear Sir, 
> I am a PhD student at Brunel university and am looking for some people
> whose work is related to High Performance Fortran (HPF). 
> My research is related to the role of simulation in the performance
> prediction of data parallel programs. As an example of how simulation
> might be used I have built a HPF simulator. This simulator provides
> information on performance that is accessible during the design stage of 
> a program. 
> In order to assess the actual (or potential) use of such a
> simulator I am currently attempting to create a representative user
> group. Each user is sent a series of questions about simulation and
> performance prediction with regard to their actual experience in 
> developing parallel codes. Each will be subsequently contacted with the
> results of the survey.
> I would be very grateful if you could spent a small amount of time to
> take part in this exercise. I have included the questionnaire in this
> mail. I will also send on the results of the survey when complete. I have
> to mention that your responses will be treated in confidence. 
> Please feel free to distribute this questionnaire to anyone who is a user
> of HPF or Parallel Fortran.
> Many thanks, 
>   Vassilios Vassiliou
>   E-mail:

>   Web:


Quick-Tip Q & A

A: {{ The following snippet of Fortran code fails on the "write" because
     it would output 40*7, or 280 characters per line.  It turns out 
     that the maximum allowed is 267 per line, and that there is a
     corresponding restriction on "reads."

        open (unit=5,file="test.out")
        do j=1,5
          write (5,100) (out(j,i),i=1,40)
 100      format (40(i6,' '))
        close (unit=5)

    [ ... ]

    What if you *really* needed to read or write lines in excess of
    267 characters?  What could you do?  }}

    # Many thanks to the reader who sent this response:

    Just change the open to open (unit=5,file="test.out",recl=1024)
    where "1024" is any large enough record length in bytes (I
    typically use 4096, since then I almost never have to worry about
    extending it again).

    This example is a little confusing because by default stdin is
    connected to unit 5.  When you issued the open with a filename, the
    connection to stdin gets lost.  On MPPs stdin isn't very useful
    (and I never use it), but I still avoid unit 5 because someone
    reading the program but not seeing the open will assume stdin (in
    this case they should realize that a "write" isn't going to

    The default record length (without a recl) is machine specific.
    There is no standard way (so far as I know) of changing the record
    length for stdin or stdout (unit 5 and 6 without an open).  It is
    possible to issue an OPEN on an already open file (just leave out
    FILE=), but RECL isn't one of the keywords that is allowed by the
    Fortran 90 standard in such cases (it might be OK with Cray F90).
    An example is:


    which changes the delimiter for character strings on stdout from
    the default 'NONE' to a quotation mark.

Q: [[ This question submitted by a reader.  Thanks! ]] 

  Since you mentioned the totalview debugger in the last newsletter, I
  have a combination factoid/question:

  In C, you don't need to specify the size of arrays at compile time
  (ie.  pointers are basically arrays).  So you could have a code

       double* x;
       double* y;

       for(i=0;i<SIZE;i++) {
               y[i] = alpha*x[i] + y[i];

  ie. the usual _AXPY loop.  However, since SIZE is variable (say
  changeable at run-time), the totalview debugger won't display this as
  an array by default - ie. you don't get the nice scrollable display
  of all SIZE components.

  How can you view C arrays in totalview?

[ Answers, questions, and tips graciously accepted. ]

Current Editors:
Ed Kornkven ARSC HPC Specialist ph: 907-450-8669
Kate Hedstrom ARSC Oceanographic Specialist ph: 907-450-8678
Arctic Region Supercomputing Center
University of Alaska Fairbanks
PO Box 756020
Fairbanks AK 99775-6020
E-mail Subscriptions: Archives:
    Back issues of the ASCII e-mail edition of the ARSC T3D/T3E/HPC Users' Newsletter are available by request. Please contact the editors.
Back to Top