ARSC T3D Users' Newsletter 2, September 1, 1994

Interactive Use of the T3D at ARSC

The limits for using the T3D are set in the user database. You can interrogate your entry in the user database with the command:


  udbsee your_login_name
Here for example, are the results of:

  udbsee ess

  create :ess:   uid     :736:
         comment :Michael Ess:
         passwd  :*:
         gids    :100,   108:
         acids   :206:
         dir     :/u1/uaf/ess:
         shell   :/bin/csh:
         root    :/:
         logline        :/dev/ttyp003:
         loghost        :indy6.arsc.edu:
         logtime        :778380556: # Wed Aug 31 16:49:16 1994
         batchhost      :denali:
         batchtime      :778381413: # Wed Aug 31 17:03:33 1994
         resgrp         :206: # User name: STAFF
         cpuquotaused   :416817.9:
         jproclim[b]    :100:
         jtapelim[b][0] :2:
         jtapelim[b][1] :2:
         jpelimit[b]    :32:
         jmpptime[b]    :86400:
         pmpptime[b]    :86400:
         jproclim[i]    :100:
         jtapelim[i][0] :2:
         jtapelim[i][1] :2:
         jpelimit[i]    :8:
         jmpptime[i]    :3600:
         pmpptime[i]    :3600:
         shares         :100:
         shusage        :0.000000:
         shcharge       :2210064059.000000:
         shextime       :778290084: # Tue Aug 30 15:41:24 1994
The lines of interest for the interactive use of the T3D are:

  jpelimit[i]     :8:
  jmpptime[i]     :3600:
  pmpptime[i]     :3600:
The first says the maximum number of PEs that an interactive job may use is 8 PEs. The second two say you have 1 hour of connect time. That is 1 hour of time using 1 to 8 CPUs. It is not weighted by the number of CPUs actually used. If you exceed this 1 hour of connect time your application aborts with the message:

  Cpu limit exceeded
Then if you try to execute another T3D program, you will get the cryptic message:

  mppexec: Could not allocate 2 PE partition
  Agent internal perror: ioctl: Unknown error
Because you have exceeded your limit, you no longer can execute on the T3D. You must log out and log back in and then you will have another 1 hour of connect time.

Request for User Input

In a effort to generate more interaction with T3D users, I'd like to solicit user's ideas about how the batch queues for T3D should be set up. You can not say that everyone should be able to run anything. Keep in mind, any plan for the queue structure should at least include the following considerations:
  1. Interactive users should have a good chance of running at any time of the day.
  2. The sum of all PEs in the batch queue should still allow interactive users some PEs.
  3. The current batch queues are:

  QUEUE NAME      RUN   QUEUE-PE'S  R-PE'S  R-TIME  P-TIME
                LIM/CNT  LIM/CNT    LIMIT   LIMIT   LIMIT
  ------------- -------  -------    -----   -----   -----
  m_8pe_24hr      4/1     32/2          8   86400   86400
  m_16pe_24hr     2/0     32/0         16   86400   86400
  m_32pe_24hr     1/0     32/0         32   86400   86400

MPP Utilities

If you are regular T3D user, you might want to add /mpp/bin to the end of your environmental variable PATH. With this addition you have easy access to some utilities that make running on the T3D easier. For example

  /mpp/bin/mppsize - this utility gives much more information 
                   than the Unix 
size
 command. It's invaluable
                   for managing the 2MW of memory of each PE.

  /mpp/bin/mppstat - this utility give a snap shot look of the
                   T3D.

  /mpp/bin/mppmon  - this utility provides a continuously 
                   updated display of T3D activity.
Both mppsize and mppstat have manpages. For now, you'll just have to try mppmon.

Calling Fortran (and Assembly Language) from C

A problem came up a few weeks ago at ARSC consulting from a user who wanted to call a Fortran routine from a C program. It's always possible but the details are sometimes hidden and each vendor has implemented their own naming and argument passing conventions. In the CRAY world where the C compiler came after the Fortran environment was established, the naming convention is a little different than on the typical Unix workstation. The are two points to key in mind:
  1. Pass the arguments by address in the C program.
  2. The Fortran subroutine is known to the loader in uppercase, so the C routine should call it using uppercase. (Of course, Fortran is still case insensitive.)
Here is a simple case that works for me:

  makefile:

        all:
                /mpp/bin/cft77 -eM -X1 fsub.f
                cc -c -Tcray-t3d  main.c
                /mpp/bin/mppldr main.o fsub.o

  main.c:
                
        main()
        {
                double a;
                a = 10.0;
                printf( " %f\n", a );
                FSUB( &a );
                printf( " %f\n", a );
        }


  fsub.f
        
                subroutine fsub( a )
                real  a
                a = a + a
                end

  results of a.out on one PE:
        
         10.000000
         20.000000
In coming newsletters I will provide examples of more useful functions.
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