[Menu Bar] Resourses at ARSC Science at ARSC Newsroom Support About ARSC ARSC Home

 

ARSC T3E Users' Newsletter 172, June 30, 1999

Newsletter Index Quick-Tip Index Search Newsletters

Yukon Default Programming Environment Switched

On June 29th, both yukon and chilkoot's default programming environments were switched from PE 3.0 to 3.2. You may still access the old PE by executing the command:
module switch PrgEnv PrgEnv.old
To help you identify changes since PE 3.0, the section headings and selected text of the release notes for both PE 3.1 and PE 3.2 are included below. The latter is available in its entirety at:
http://techpubs.sgi.com/
Programming Environment Releases Overview For PE 3.1

Programming Environment Releases Overview For PE 3.2

Getting Started with PAT 2.0

ARSC made programming environment 3.2 the default on June 29th. With this change, PAT 2.0 replaced 1.0 as the default version of PAT at ARSC.

PAT (Performance Analysis Tool) is a low-overhead, easy-to-use programming tool which reports on basic aspects of performance, such as:

PAT 2.0 and 1.0 are not compatible. Here's a brief tutorial to PAT 2.0, with some changes noted (also see "man pat"). STEP 1:

First re-link your program with the PAT run-time library and specify the pat.cld loader directive file:

  cc  *.o -l pat pat.cld -o a.out
  CC  *.o -l pat pat.cld -o a.out
  f90 *.o -l pat pat.cld -o a.out
You don't need to re-compile, but you could:
  cc  prog.c  -l pat pat.cld -o a.out
  CC  prog.CC -l pat pat.cld -o a.out
  f90 prog.f  -l pat pat.cld -o a.out

##
# No change in version 2.0
##

STEP 2:

Run as usual:

  mpprun -n7 ./a.out
##
# No change in version 2.0
##

STEP 3:

The program run produces a .pif ("Program Information File") which is given the name of your executable with the extension "[.N].pif" (where "N" is added and incremented as necessary to prevent overwriting existing files).

Now run PAT, giving it the "-L" flag, the names of the executable and .pif files, and other flags according to the output desired. For instance:

  pat -L -m -p -T a.out a.out.pif  
The flag, "-L," specifies "line-mode," circumventing the default X Windows System GUI. "-m" requests performance-counter information, "-p," profile information, and "-T," timing information.

##
# Two changes since 1.0:
#
# 1) In PAT 1.0, executables produce pdf ("Program Data Files") not
# .pif files. The format of pdf and .pif files differ: you
# can't use pat 2.0 to look at pdf files.
#
# 2) In PAT 1.0, line-mode is the only interface.
#
#
# The flags, -m, -p, -T, and others are unchanged.
##

SAMPLE SESSION:

yukon$ cc -l pat pat.cld mc.c circle.c -o circle.pat
  mc.c:
  circle.c:

yukon$ mpprun -n10 ./circle.pat 2000 3 1 
  [0] 2000 2272.239196: avg:  1.136119598
  [1] 4000 4514.527705: avg:  1.128631926
  [2] 6000 6746.326122: avg:  1.124387687

yukon$ ls -1 *.pif
  circle.pat.0.pif
  circle.pat.1.pif
  circle.pat.pif

yukon$ pat -V                                
  PAT: version 2.0.0.1

yukon$ pat -L -T circle.pat circle.pat.1.pif
  Time:
  Elapsed Time                  1.002 sec   10 PEs
  User    Time (ave)            0.996 sec   99%
  System  Time (ave)            0.004 sec    0%

yukon$ pat -L -p circle.pat circle.pat.1.pif

  Profile Information:

  Entity Name        Percent        90% Conf.
                    User Time       Interval  
  next                 42%            1.1
  drand48              40%            1.0
  simulate             15%            0.8

yukon$ pat -L -m circle.pat circle.pat.1.pif

                   Performance counters for FpOps

      Values given are in MILLIONS.
  PE(id)      cycles  operations   ops/sec    dcache  misses/sec
                                                misses
   0(   0)    2649.43    581.74       98.82    0.04     0.01
   1(   0)    2687.46    581.73       97.42    0.29     0.05
   2(   0)    2688.23    581.71       97.39    0.31     0.05
   3(   0)    2688.29    581.74       97.39    0.31     0.05
   4(   0)    2688.05    581.75       97.40    0.30     0.05
   5(   0)    2687.43    581.93       97.45    0.30     0.05
   6(   0)    2687.42    581.81       97.43    0.30     0.05
   7(   0)    2687.30    581.69       97.42    0.29     0.05
   8(   0)    2688.01    581.72       97.40    0.31     0.05
   9(   0)    2686.97    581.76       97.44    0.29     0.05

	 
COMMENTS:
  1. PAT 2.0 can't read pdf files produced by PAT 1.0.

  2. Don't be fooled by the wording of the man page, which states:
         a.outfile.pif       Specifies the name of the PAT information 
                             file.  
                               [ ... ]  
                             This parameter is optional.
    
    This parameter is not optional if you want to examine results. If you leave it off, yet ask to see results, PAT halts (but with a helpful message): If you leave it off and don't ask for results, then PAT enters a different mode which lets you instrument your code for tracing.

  3. Here are the two notes about PAT 2.0 I was able to find in the document:

    Programming Environment Releases Overview RO-5212 3.0.2

    which is available on-line at: http://techpubs.sgi.com/

    3.3.1 Pthread Support in PAT

    3.3.2 Binary Event Tracing for MPI Routines in PAT

  4. If needed, ARSC users may still access PAT 1.0 by entering the command:
    module switch PrgEnv PrgEnv.old
    Note that this capability will be removed on the next PE upgrade.

In future issues of this newsletter, we'll cover additional features of PAT including the X Windows interface and tracing.

ARSC Lecture: Linux Clusters, Supercomputing, and Education

Dr. Don Morton of the University of Montana and ARSC will give a presentation on linux clusters, supercomputing, and education, titled:

The Integrative Role of Free Unix Clusters and
Supercomputers in HPC Research and Education Activities

The talk will be Monday July 12, 1:30-2:30 pm in Butrovich Building, room 109, and is open to all.

Abstract:

Over the course of the 1990's technology advances have made it possible for increasing numbers of researchers to use supercomputers for solving their large-scale computational problems. At the same time, Free Unix operating systems have increased the power of personal computers and workstations by providing familiar environments to those familiar with the "Unix" way of doing things. The two seemingly disparate computing environments actually have much in common, and occupy unique niches in a symbiotic relationship.

The talk begins by presenting experiences of the author in using and building Linux clusters for scientific and parallel computing activities, coupled with research activities at the Arctic Region Supercomputing Center.

Through a description of research and education activities, we explore the thesis that workstation clusters (focusing on Linux) are often the ideal environment for training and code development activities in high performance computing, while supercomputing systems remain the environment of choice for large-scale number-crunching. Finally, we present suggestions on how you, too, can build your own supercomputer.

Speaker Biography:
Don Morton received his PhD in Computer Science from Louisiana State University in 1994, with research interests in scientific computing, particularly finite element methods as applied to fluid flow problems.

Don is currently a Professor of Computer Science at The University of Montana where he makes heavy use of Linux clusters for research and education.

Don is also an ARSC research affiliate, has worked here every summer since 1994, and has been a regular contributor to this newsletter. Here's a list of his past articles:

Quick-Tip Q & A


A:{{ Sometimes I need to duplicate entire "branches" of an existing
     directory tree.  For instance, I might need this structure:

      ./v12/19990201/weather/Burmuda/restart/2301/
      ./v12/19990201/weather/Triangle/restart/2303/

    As you might guess, it's really annoying to type: 

      mkdir ./v12
      mkdir ./v12/19990201
      etc...

    Is there an easier way?  }}


    Thanks go to four readers.  Three responded with this answer:

       mkdir -p ./v12/19990201/weather/Burmuda/restart/2301
       mkdir -p ./v12/19990201/weather/Triangle/restart/2303

    And the fourth with this:

        mkdir -p ./v12/19990201/weather/Burmuda/restart/2301   \
                 ./v12/19990201/weather/Triangle/restart/2303

    Note that the corresponding "rmdir" option is also "-p".  "rmdir
    -p" recursively removes subdirectories, stopping if it encounters
    one that is not empty.  Removing the directories created above
    takes two steps:

        yukon$ rmdir -p v12/19990201/weather/Burmuda/restart/2301

          cmd-3192 rmdir: v12/19990201/weather/Burmuda/restart/2301 --
             'v12/19990201/weather' was not removed.  The directory is
             not empty.

        yukon$ rmdir -p v12/19990201/weather/Triangle/restart/2303



Q: I use "vi" a bit, and sometimes issue shell commands from within
   it. For instance,

     !1000j sort

   sorts the next 1000 lines of the file.  I also issue "ex" commands.
   For instance:

     :%s/^  \*\* /\<H1\>/c

   replaces "  ** " at the start of lines with "<H1>", and asks for
   confirmation. The problem is that such commands are easy to mistype,
   and that once issued, they're gone.  You can hit "u" to "undo" the
   action of the command, but I'd like "command line editing."

   Is there a trick in vi to retrieve a "!" or ":" command, edit it,
   and re-execute it?

[ Answers, questions, and tips graciously accepted. ]

 


Current Editors:
Donald Bahls ARSC User Consultant ph: 907-450-8674
Ed Kornkven ARSC HPC Specialist ph: 907-450-8669
Arctic Region Supercomputing Center
University of Alaska Fairbanks
PO Box 756020
Fairbanks AK 99775-6020
Contact:
Send comments and questions to the current editors using this Contact Form.
E-mail Subscriptions: Archives:

 

Newsletter Index Quick-Tip Index Search Newsletters

 

Arctic Region Supercomputing Center
PO Box 756020, Fairbanks, AK 99775 | voice: 907-450-8600 | email:

home | search | about | support | news | science | resources