ARSC T3D Users' Newsletter 22, February 13, 1995

ARSC T3D Upgrades

In the next month we will be upgrading the T3D Programming Environment (libraries, tools and compilers) from P.E. 1.1 to P.E. 1.2,

Users will be notified when these upgrades will happen in mailings to the ARSC T3D user's group (i.e., those who receive this newsletter).

Upgrade to the T3D Memory

On February 7th, ARSC upgraded the memory on each PE from 2MWs to 8MWs. If any users have questions about this, please contact Mike Ess.

Upgrade to MAX 1.2

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

What's in the Libraries

In the directory /mpp/bin there is a mpp utility call nm that prints the object files that are in a library. It performs the same functions as nm in /bin/nm does for Y-MP libraries and those functions are described in the man page on denali.

In going from P.E. 1.1 to P.E. 1.2 this utility provides a quick method to see what's new in the library. First we run:

/mpp/bin/nm /mpp/lib/lib*.a
grep lib > pe11.objs

then after ARSC has upgraded to P.E. 1.2 we run:

/mpp/bin/nm /mpp/lib/lib*.a
grep lib > pe12.objs

Now a diff between pe11.objs and pe12.objs will show us what's been added in the new release.

More Speed

Once a T3D application is up and running we always need more speed. One place to look for increased speed is in the libsci routines. Libsci has single PE versions of all of the BLAS 1, 2, and 3 routines and and many of LAPACK routines. However before we add them to our code expecting a speed improvement, we should time the code they replace and the routine itself. It may be that calling the routine in libsci is actually slower than the code it replaces. For example, the overhead of the subroutine call to libsci could be as significant as the function performed.

Here is a small program I've used to see if the code replacement with a libsci will help:

In this program we are investigating replacing the code for computing the dot product of two vectors and the Euclidean 2 norm of a vector with calls to libsci routines sdot and snrm2 (sdot and snrm2 are described in man pages on denali). From the times above it looks like replacing the Fortran code for a dot product with the libsci routine doesn't pay until the vectors are greater than 100 or so. For snrm2 is doesn't look like using the libsci version will ever payoff. With these small test cases it's easier to decide which libsci routines will improve the speed of a T3D program.

Reminders

List of Differences Between T3D and Y-MP

The current list of differences between the T3D and the Y-MP is:

Data type sizes are not the same (Newsletter #5)

Uninitialized variables are different (Newsletter #6)

The effect of the -a static compiler switch (Newsletter #7)

There is no GETENV on the T3D (Newsletter #8)

Missing routine SMACH on T3D (Newsletter #9)

Different Arithmetics (Newsletter #9)

Different clock granularities for gettimeofday (Newsletter #11)

Restrictions on record length for direct I/O files (Newsletter #19)

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.

The University of Alaska Fairbanks is an affirmative action/equal
opportunity employer and educational institution and is a part of the University
of Alaska system.
Arctic Region Supercomputing Center (ARSC) |PO Box 756020, Fairbanks, AK 99775 | voice: 907-450-8602 | fax: 907-450-8601 | Supporting high performance computational research in science and engineering with emphasis on high latitudes and the arctic.
For questions or comments regarding this website, contact info@arsc.edu