ARSC T3E Users' Newsletter 196, May 26, 2000
ARSC: PGHPF 3.0 To Be Made Default
Version 3.0 of the Portland Group's High Performance Fortran will be made the default pghpf compiler on yukon during system downtime on May 31, 2000.The currently installed version is 2.4, and it will remain available using a "module switch" command.
What Is This Machine! (Consult The Predefined Macros)
In the last Quick-Tip, we suggested that when programmers replace MPI_Bcast calls with SHMEM_BROADCAST , they do so using preprocessor code so that the program will still compile correctly on non-CRAY systems (possessing only the MPI library).A nifty approach is to use the predefined macro, _CRAYMPP . Check to see if it's defined. If it is, then you can assume SHMEM is present. Here's the basic idea:
C:
==
#ifdef _CRAYMPP
err = SHMEM_BROADCAST (....)
#else
err = MPI_Bcast (....)
#endif
(Compile the C program as usual.)
Fortran:
========
#ifdef _CRAYMPP
CALL SHMEM_BROADCAST (....)
#else
CALL MPI_Bcast (....)
#endif
(You may need to include f90's "-F" option when you compile. "-F" causes f90 to expands all macros, even if they're tucked into bona fide Fortran--as opposed to preprocessor directives. See man f90 for more info.)
In addition to _CRAYMPP , there are a bunch of other predefined macros available to your code. The C macros are documented in:
Cray C/C++ Reference Manual, 004-2179-003
Chapter 6. Predefined Macros
The Fortran macros are listed in:
CF90 Commands and Directives Reference Manual, 004-3901-003
Chapter 5. Source Preprocessing
5.3 Predefined Macros
Both manuals are in Cray's on-line documents, available at:
http://www.arsc.edu:40/dynaweb/
Many of the predefined macros are familiar, in particular those described in the following section of the C/C++ manual:
6.1 Macros Required by the C and C++ Standards
Macro Description
__TIME__ Time of translation of the source file.
__DATE__ Date of translation of the source file.
__LINE__ Line number of the current line in your
source file.
__FILE__ Name of the source file being compiled.
__STDC__ Defined as the decimal constant 1 if
compilation is in strict conformance mode;
defined as the decimal constant 2 if the
compilation is in extended mode. This macro
is defined for C and C++ compilations.
__cplusplus Defined as 1 when compiling C++ code and
undefined when compiling C code. The
__cplusplus macro is required by the ISO C++
draft standard, but not the ISO C standard.
For a quick look at all of the documented macros, I wrote C and Fortran programs which test them and print their values if defined.
C snippet:
#ifdef __TIME__
printf ("__TIME__: %s\n", __TIME__);
#else
printf ("__TIME__\n");
#endif
Fortran snippet:
#ifdef unix
print*, "unix: ", unix
#else
print*, "unix"
#endif
Here's the output from both programs:
C predefined macros: Output from run on ARSC T3E:
__TIME__: 11:12:43 __DATE__: May 25 2000 __LINE__: 20 __FILE__: predefmacs.c __STDC__: 2 __cplusplus __unix: 1 unix: 1 _UNICOS: 205 cray: 1 CRAY: 1 _CRAY: 1 CRAY1 _CRAY1 _CRAYMPP: 1 _CRAYT3E: 1 _CRAYIEEE: 1 _ADDR32 _ADDR64: 1 _LD64: 1 _FASTMD: 1 _MAXVL _RELEASE: 6 _CRAYC: 1
Fortran predefined macros: Output from run on ARSC T3E:
unix: 1 ___unix _UNICOS: 10 cray: 1 CRAY: 1 _CRAY: 1 CRAY1 _CRAY1 YMP _CRAYC90 _CRAYT90 _CRAYT3E: 1 _CRAYMPP: 1 _CRAYIEEE: 1 _MEMSIZE: 33554432 _MAXVL _ADDR32 _ADDR64: 1
European SGI/Cray MPP Workshop
[ We received this announcement: ]The Sixth European SGI/Cray MPP Workshop will be held in Manchester, UK, on the 7th and 8th of September, 2000. The workshop is organised by the Manchester Research Centre for Computational Science (MRCCS), a focus for high performance computing activities at the University of Manchester, and is generously supported by Silicon Graphics Inc. and Cray Inc.
Please note that there is NO REGISTRATION FEE for this workshop.
This workshop is aimed at computer scientists, computer engineers and end users, working mainly on CRAY T3E and large SGI Origin 2000 systems installed throughout Europe. Of particular interest are the areas of application development and optimisation, software support and production usage, as well as the future of MPP computer systems. There will be keynote presentations from both SGI and Cray Inc.
This event is distinguished from national Cray User Group meetings by a strong emphasis on applications. It is hoped to include talks on MPP topics such as:
- Programming models and methods,
- Parallel performance prediction, evaluation and optimisation,
- Parallel numerical algorithms,
- Application of 3rd-party parallel solvers, libraries and support tools,
- Data management and visualisation,
- MPP production applications (in computational physics, chemistry, engineering, biology, meteo-climatology, earth sciences etc.).
Contributions to the workshop are invited from workers in all fields in which the use of SGI and Cray MPP platforms is an important aspect. Abstracts for papers and posters to be presented at the workshop will be refereed by the Programme Committee; please note that the call for papers closes on Friday, 9th June.
For further information, abstract submission and delegate registration, please see the WWW pages at:
http://www.man.ac.uk/mrccs/mpp-workshop6/
or contact: Dr. Ben Jesson (b.jesson@man.ac.uk), Manchester Computing, University of Manchester, Oxford Road, Manchester M13 9PL, UK.ARSC Summer Tours Begin June 7th
From June 7 - August 30, every Wednesday from 2 - 3pm, ARSC will be giving tours to the public. This will be ARSC's third summer participating in UAF's Activities & Tours Program.Reservations aren't required. Just show up. Your visiting relatives are welcome!
Tours start in the Butrovich Building on the UAF campus, meet at the interactive kiosk and machine room viewing window, downstairs. For more information, call (907) 450-8600 or send email to info@arsc.edu.
Quick-Tip Q & A
A:{{ My computer center uses Kerberos/SecurID for authentication.
{{ Sometimes, I need to use my SecurID card to generate two or three
{{ valid cardcodes, all within a few minutes.
{{
{{ Do I really have to re-enter my SecurID PIN over and over? Can't I
{{ just let the 6-digit code roll over? (I tried it once, and wound up
{{ in "next-token" code mode.)
Look at the top-right corner of the LCD display on your SecurID
card. When you enter your PIN, a tiny "1" will appear there. As
long as the "1" is present, the displayed code is valid, unless
you've already used it. If you have already used it, hit the diamond
key to get a new valid code. If, when you hit the diamond key, the
code doesn't change, then just wait (up to a minute) for the next
code to appear automatically--it will be valid.
Q: What's a good defense against bears?
[ Answers, questions, and tips graciously accepted. ]
Current Editors:
E-mail Subscriptions:
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
-
Subscribe to (or unsubscribe from) the e-mail edition of the
ARSC HPC Users' Newsletter.
-
Back issues of the ASCII e-mail edition of the ARSC T3D/T3E/HPC Users' Newsletter are available by request. Please contact the editors.
