ARSC T3D Users' Newsletter 21, February 3, 1995

ARSC T3D Upgrades

The next month or two will be a busy time for the ARSC T3D. We will be upgrading the following:

  1. 2MW to 8MW per PE, tentatively set for February 7th and 8th
  2. The T3D Programming Environment (libraries, tools and compilers) P.E. 1.1 to P.E. 1.2 sometime in the next two months.
Users will be notified when these upgrades will happen in mailings to the ARSC T3D Users' Group (i.e., those who receive this newsletter).

Upgrade to MAX 1.2

On January 31st ARSC upgraded to the 1.2.0.1 version of MAX, the T3D operating system. If any users notice differences in their codes running on the T3D they should notify Mike Ess.

Next T3D Class at ARSC

Introduction to Programming the CRAY T3D

Dates: February 8 - 10, 1995 Time: 9:00 AM - noon, 1:00 - 5:00 PM Location: University of Alaska Fairbanks main campus, room TBA Instructor: Mike Ess, Parallel Applications Consultant Course Description: To satisfy increasing computational demands, computers of the future must have multiple processors executing on the same program. The Cray T3D is a step in this direction. The Cray T3D, a MPP or Massively Parallel Processor, consists of 128 processors attached to the Cray Y-MP.

This class will cover the characterization and history of MPPs. With this background the students will experience how the T3D approaches the problem of executing a program in parallel. The class will cover the three programming paradigms for extracting parallelism:

  1. Data-sharing, as with Fortran 90
  2. Work-sharing, as with Craft Fortran and
  3. Message-passing as implemented with PVM or shmem
The primary goal is to provide practical experience in getting codes up and running efficiently on the T3D. Examples used in the class can be used as models for application programs on the T3D. Also covered will be:
  1. Performance measurement and tools
  2. Debugging techniques and tools
This class will have directed lab sessions and users will have an opportunity to have their applications examined with the instructor. Intended Audience: Researchers who will be developing programs to run on the T3D and current users of the T3D who want a comprehensive, up-to-date survey of programming on the T3D. Prerequisites: Applicants should have a denali userid or be in the process of applying for a userid. Applicants should be familiar with programming in Fortran or C on a UNIX system.

Application Procedure

There is no charge for attendance, but enrollment will be limited to 15. In the event of greater demand, applicants will be selected by ARSC staff based on qualifications, need, and order and completeness of application. The class may be cancelled if there are fewer than 5 applicants.

Send e-mail to consult@arsc.edu with the following information:

  • course name
  • your name
  • UA status (e.g., undergrad, grad, Asst. Prof.)
  • institution/dept.
  • phone
  • advisor (if you are a student)
  • denali userid
  • preferred e-mail address
  • describe programming experience
  • describe need for this class

I/O on the T3D and Y-MP

In the last newsletter I mislabeled a table showing the speeds of unformatted reads and writes on the T3D and Y-MP for the following construct:

      parameter( ia1size = 1024 )
      real a1( ia1size )
      .
      .
      .
      call asnunit( iun, '-a /tmp/ess/fort.12', ier )
      open( iun, form = 'unformatted' )
      t1 = rtc()
         write( iun ) ( a1( i ), i = 1, ia1size )
      t1 = rtc() - t1
      time = t1 * .000 000 006 666
      speed = a1size / time
The table should look like:

Table 3


  Y-MP and T3D times (MW/sec)

  for unformatted I/O with 2nd read/write construct on
  /tmp file system
 
  array size         T3D             Y-MP
  (in words)    reads  writes    reads  writes
  ----------    -----  ------   ------  ------
        1024    0.066   0.067   13.361  13.480
        2048    0.067   0.067   22.439  22.442
        4096    0.067   0.067   33.953  34.211
        8192    0.067   0.067   46.392  46.397
       16384    0.067   0.067   55.360  55.217
       32768    0.066   0.066   25.136  25.456
       65536    0.066   0.066   24.863  25.043
      131072    0.066   0.066   21.975  21.816
      262144    0.066   0.066   21.987  22.012
The point of that section was to warn users of the construct:

  write( iun ) ( a1( i ), i = 1, ia1size )
versus

  write( iun ) a1 
on the T3D. I'm sorry for any confusion this has caused.

The flexibility of the implied do loop on the write can be recovered with a little effort. Consider speeds for the three methods below with the following declarations:


      real a( 262144 )
      real a1(1024),a2(2048),a3(4096),a4(8192),a5(16384),
    + a6(32768),a7(65536),a8(131072),a9(262144)
      equivalence( a1, a9 )
      equivalence( a2, a9 )
      equivalence( a3, a9 )
      equivalence( a4, a9 )
      equivalence( a5, a9 )
      equivalence( a6, a9 )
      equivalence( a7, a9 )
      equivalence( a8, a9 )
Method #1 (size of write comes from array declarations)

      if( 1024    .eq. isize( i ) ) write( iun ) a1
      if( 2048    .eq. isize( i ) ) write( iun ) a2
      .
      .
      .
      if( 262144  .eq. isize( i ) ) write( iun ) a9
Method #2 (do loop to move data, then write of known size array

      if( 1024 .eq. isize( i ) ) then
        do 11 j = 1, isize( i )
           a1( j ) = a( j )
   11   continue
        write( iun ) a1
      endif
      if( 2048 .eq. isize( i ) ) then
        do 12 j = 1, isize( i )
           a2( j ) = a( j )
   12   continue
        write( iun ) a2
      .
      .
      .
      if( 262144 .eq. isize( i ) ) then
        do 19 j = 1, isize( i )
           a9( j ) = a( j )
   19   continue
        write( iun ) a9
      endif
Method #3 (do loop on the write statement)

      write( iun ) ( a( j ), j = 1, isize( i ) )
Now the speeds look like:

Table 4


  T3D speeds (MW/s)
  for unformatted I/O with three methods for I/O

             Method #1      Method #2      Method #3
   array    (known array (do loop to known (do loop on 
    size      sizes)       array sizes)   write stmt.)
  (words)  writes  reads  writes  reads  writes  reads
  ------   ------  -----  ------  -----  ------  -----
    1024    4.326  4.100   2.883  2.853   0.041  0.035
    2048    5.518  5.380   3.467  3.425   0.041  0.035
    4096    6.493  6.260   3.866  3.792   0.041  0.035
    8192    7.088  6.838   4.097  3.834   0.041  0.035
   16384    7.105  7.136   4.226  4.133   0.041  0.035
   32768    3.011  0.083   2.307  0.095   0.041  0.025
   65536    3.109  0.135   2.393  0.613   0.041  0.033
  131072    2.637  0.188   2.097  0.303   0.041  0.033
  262144    2.665  2.374   2.137  1.972   0.041  0.035
So with a little extra code most of the speed of the fastest unformatted I/O can be recovered. This also points out some of the speed difference between CPU code (the copy to an array of known size) and I/O code (the unformatted write).

Reminders

List of Differences Between T3D and Y-MP

The current list of differences between the T3D and the Y-MP is:
  1. Data type sizes are not the same (Newsletter #5)
  2. Uninitialized variables are different (Newsletter #6)
  3. The effect of the -a static compiler switch (Newsletter #7)
  4. There is no GETENV on the T3D (Newsletter #8)
  5. Missing routine SMACH on T3D (Newsletter #9)
  6. Different Arithmetics (Newsletter #9)
  7. Different clock granularities for gettimeofday (Newsletter #11)
  8. Restrictions on record length for direct I/O files (Newsletter #19)
  9. Implied DO loop is not "vectorized" on the T3D (Newsletter #20)
I encourage users to e-mail in differences that they have found, so we all can benefit from each other's experience.

In newsletter #18 there is a list of CRI T3D optimization articles available from ARSC.

In Newsletter #19 there is a list of CUG articles on the T3D available from ARSC.


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