ARSC HPC Users' Newsletter 261, January 10, 2003

MPI Programming Class on AGN

All local ARSC users are invited to participate in the following class:

Intermediate MPI Programming February 6, 13, 20, and 27, 2003 (Every Thursday in February) 9am - 12noon, Alaska Time, each day. Butrovich 109, on the UAF campus

The instructors will start with material beyond the basics. This is an chance to expand your MPI skills past send and recv, e.g.:

  • Perform *true* parallel I/O with MPI at both the basic and advanced levels.
  • Determine which parallel tasks require the use of Intercommunicators vs. Intracommunicators and what is the difference between them?
  • How to define your own operators in the generic MPI_Reduce() routine. (A powerful capability)
  • Distinguish between Probing and Receiving messages. For example, probing can allow you to dynamically allocate the exact memory needed.
  • Create general (i.e., non-Cartesian) virtual topologies. Intermix the C++ and Fortran 90 languages with the MPI Library calls.

For more details, see:

http://alliance.osc.edu/impi/index.html

ARSC will participate over the Access Grid, along with thirteen other Universities and computing centers. ARSC users register at:

http://www.arsc.edu/calendar/mpiworkshop.html ( Past Event )

---

If you're a novice MPI user or just wondering whether (or how) to parallelize your code, you're always invited to contact ARSC consulting ( consult@arsc.edu ).

ARSC consultants and specialists are available for quick advice via email or phone as well as one-on-one appointments to discuss your application and help you get off to a good start.

Disk Quotas and Checking them on SP & Regatta

Disk quotas have been implemented on ARSC's two large IBM systems, icehawk and iceflyer. As on other ARSC systems, quotas help prevent overfilling disks and suffering the consequences. This is also a step in preparation for conversion to ARSC's new storage servers.

The "qcheck" script on both icehawk and iceflyer makes it trivial to determine your current quota and usage on all available file systems. Simply type:

qcheck

E.g.:

  icehawk2$ qcheck

    FILESYSTEM                   KBused  SOFTLIMIT  HARDLIMIT    GRACE
    local:$WRKDIR               6004464   10240000   10342400         
    local:$HOME                   90816    1024000    1126400         
    chilkoot:/viztmp               8364    1843200    2048000         
    chilkoot:/allsys/$HOME      2542592    9216000   10240000         
 

Here's what the columns are:

HARDLIMIT: Maximum storage you're permitted. The system will not let you write more than this.
SOFTLIMIT: If you exceed this amount, you have a limited time to get back under this limit before the system will block future attempts to write.
GRACE: The time remaining to get usage back under the soft limit.

Quick-Tip Q & A


A:[[ A reader asked this... more of a poll than a quick-tip, but might
  [[ be interesting:
  [[
  [[ "Do people use .f versus .f90 for free/fixed format? or do they use
  [[ the -free and -fixed sort of compiler arguments?  Is anyone writing
  [[ free format?"


  # 
  # Thanks to Tom Logan of ARSC:
  # 

  Being a C programmer, I would prefer to convert all Fortran code into
  that language.  Failing that, at least one has free format to work
  with.

  I use .f90 as much as possible.  I find the fixed format rather
  confining whenever I try to use variables with meaningful names.
  Often, I convert .f files into .f90 files when I first get them.

  Conversion for fixed to free format is a simple process - yet it can
  be time consuming.  In my experience, this conversion only requires
  changing all comment lines to use '!' as the sentinel and changing all
  continuation lines to use an '&' at the end of the line and nothing at
  the beginning of the next line.  I will often just try to compile the
  code as .f90 and look for compiler errors.  This shows exactly which
  lines of source code need to be changed.


  # 
  # Thanks to Jeff McAllister of ARSC:
  # 

  Free format is great!  I've always disliked that time-warp sensation
  that comes from simulating punched cards with a modern text editor.
  It just made my brain hurt to think of all that effort counting
  character positions just to fit some obsolete standard.  Reformatting
  is easy.  For shorter programs the compiler will quickly find the
  multi-line statements that need to be changed.  For longer programs
  there are several conversion utilities (I just wrote my own in a few
  lines of perl).  Once you make the switch you'll never want to go
  back.

  Unfortunately, the problem isn't always as simple as format.
  Attempting conversion is a great way to find places with convoluted,
  ugly code that a) is really hard to understand and b) probably isn't
  working the way you think it is.  These subroutines can be kept in old
  fixed-form format while you rewrite them.  You'll need to sooner or
  later anyway.  These sections of code are likely to cause problems
  when compilers get upgraded or you move to a new system.





Q: Perl should make this easy... but it's driving me nuts!  

   In this example, I want to use search and replace to eliminate the
   bold html tags from some lyrics I've been working on, replacing the
   formerly emboldened text with the same text, prefaced by the word
   "really".  E.g.:

        The weather is here, I <b>wish</b>
        you were mine, the sky is <b>so 
        cloudy</b>, I sleep and I pine.

  Here's my perl script:

    #!/usr/local/bin/perl -w

    $all = join '', <>;
    $all =~ s
<b>(.*)</b>
really $1
gsi;
    print "$all";

  The script puts the entire file into one string so it can search
  across line breaks. The modifiers to "s" are:

    g : match every occurance (not just the first)
    s : match newline characters with "."
    i : ignore case

  Here's the output:

        The weather is here, I really wish</b> 
        you were mine, the sky is <b>so 
        cloudy, I sleep and I pine.

  You can see for yourself what happened.  Has anyone else ever had this
  problem?  What can I do?

[[ 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