Comments or questions about this document or any aspect of user support on the Cray Y-MP EL at Queen's University should be directed to:
Cray User Support, Parallel Computer Centre,
Queen's University Belfast, BT7 1NN, N.Ireland, U.K.
E-Mail R.DILLY@QUB.AC.UK
Tel. +44 01 232 245133 ext. 3754
Fax. +44 01 232 230592
SYSTEM SPECIFICATIONS
CPU
CMOS Technology
30ns clock period
64 bit architecture
Maximum of 4 single processors or 8 dual processors
133 Mflops peak per CPU
Shared registers for inter-processor communication and synchronization
MEMORY
Shared central memory
4 ports per CPU
70 ns CMOS DRAM
256 - 1024 Mbytes memory (32 - 128 Mwords)
1.05 Gb/sec memory bandwidth per CPU, approximately 130 Mwords/sec
4.2 Gb/sec total bandwidth
64 memory banks (regardless of memory size)
I/O
VME based - 40 Mb/sec per VME
1 - 4 per CPU
1 - 4 in-cabinet (40 Gb maximum disk capacity)
Up to 3 expansion cabinets with a maximum of 16 VME sub-systems (200 Gb maximum disk capacity)
1.05 Gb/sec total system I/O
640 Mb/sec total VME bandwidth
100 Mb/sec Hippi
264 Mb/sec per CPU
PHYSICAL CHARACTERISTICS
635 Kg
1 square metre footprint
127 cm x 381 cm
6 kw power consumption
Air cooled
Operating temperature 10xb0 - 30xb0 C - any air-conditioned office is suitable - ie. an expensive controlled environment is not necessary
CPU SCHEMATIC
Registers
Primary registers accessible directly by the functional units - address (a), scalar (S) and vector (V).
V - 8 registers each containing 64 elements of 64 bits.
S - 8 registers (64 bits each).
A - 8 registers.
Intermediate registers B and T support (caching) for primary registers.
VM - 64 bit vector mask. Each bit refers to an element in a vector register. The mask uses merge and test instructions to select elements from a vector.
VL vector length values in the range 1 to 64 specifying the length of the vector to be processed by the vector instruction.
RTC - run time clock
* Introduction to Unicos for Application Programmers (iuap) - a computer based training package for new users of the Cray (see section 1.7.3);
* Compilers for Fortran 77, C and Pascal;
* Cray Tools - a suite of tools for measuring and improving the performance of programs run
Application packages - PVM/Hence, Nag Libraries, Unichem, TurboKiva, MPGS.
telnet sn5227
For those not connected to the campus network the Cray can be accessed from the Vax using the same command.
xhost +sn5227 (on your workstation)
setenv DISPLAY workstation.internet.number:0.0 (on the Cray)
To test that the X-windows connection has been set up correctly try starting up the X-windowed interface to the manual pages. Type
xman &
(An ampersand puts the task into the background leaving your login shell free).
This tool will give information on other X utilities. Users are encouraged to use the X-windows interfaces to the code performance and analysis tools.
man command_name
Also the `-i' and `-k' options of the `man' command allow keyword searches.
docview
This brings up an initial command menu which is self-explanatory. Selecting the `a' option gives a complete list of the manuals available. In particular the `find' option is useful when searching for material.
iuap
Again navigating around the package is self explanatory. The following topics are covered by the package:
The Unicos Environment
The Fortran Environment
The Cray Standard C Environment
Software Support Tools
Networking
Batch Processing
Each topic contains a number of lessons which cover the basic skills required to make use of the Cray.
If an operation terminates and gives an error code, eg fmp-59 which is an error from the Fortran multitasking pre-processor then the `explain' command will display text specific to that error when the user types the following:
explain fmp-59
The `whatis' command displays a summary of a command eg typing:
whatis ls
produces the following
ls(1) - Lists contents of directory
Files can be written to the scratch disk by using the `assign' statement to assign a file in the `/tmp' directory to the relevant unit number eg
assign -a /tmp/gh09.dat u:05
The `/tmp' directory is "cleaned" on Friday evenings. At that time files which are older than seven days will be deleted. Users are however requested to remove files from `/tmp' as soon as possible after creation so that other users are able to generate large files.
To submit a job to a queue a script file must be written. The following is a very simple example of a script file which puts an executable called `spcc' in a subdirectory called `wamm' on to the queue. The `ja' lines cause some basic job accounting information to be provided in an output file after the execution of the program
#!/bin/csh
# QSUB-s /bin/csh
cd /home_a/ccg0521/wamm
ja
./spcc
ja -clst
This script file is then submitted to the queue system using the `qsub' command - which validates all Network Queuing System request options. For example if the script file shown above is called `runspcc' then type:
qsub runspcc
Using the `-q' option of the `qsub' commands allow users to submit the job to a particular pipe queue on the Cray. There are four pipe queues each of which has three batch queues.
Users submit jobs to pipe queues only and the system automatically decides which batch queue is most suitable. The pipe queues, batch queues and their associated limits are shown in the following table:-
Queue Specifications of the QUB CRAY Y-MP EL
(Note: the limits on the queues may be varied slightly).
Users should note that the smaller queues run at higher priority. Jobs which are submitted to queues with much higher memory allocations than required by the job will therefore take longer to execute that necessary.
The `qstat' command shows, for the batch queues, how may jobs are currently in each queue. It also shows, for each queue, the limit on the number of jobs from that queue allowed to run concurrently. For some of the larger queues this is set to 1 so that excessive swapping of jobs does not occur.
cf77 -Wl"-l /usr/local/lib/libnag.a" prog.f
For information on specific routines, type `naghelp'. The Cray is 64-bit machine and so single precision on the Cray is equivalent to double precision on most other machines. The version of NAG libraries provided on the Cray is therefore single precision and this is denoted by the last letter of the routines being `E'. If a routine name is listed in `naghelp' as ending in `F' this should be replaced by `E'.
For example to split a program contained in a file called `modulate.f' the following should be typed:
fmgen modulate.f
It is advisable to have the program in a directory ie so there is only one file called makefile as this creates a separate source file for every procedure in the program and a `makefile' for automatic compilation of the program. When changes are made to any of the source code simply typing `make' in that directory brings the executable up to date by only compiling those pieces of source code which have been altered.
Example
File prog is generated by compiling and loading the main program in main.f and subroutines in sub1.f and sub2.f. To use the make utility to maintain this module first create a file named makefile containing the following:
prog: main.o sub1.o sub2.o
<tab> segldr -o prog main.o sub1.o sub2.o
The first line describes the dependencies ie prog depends on main.o - note that prog depends on the object files not the source files. The second line gives the rules for making a module from the object files.
When make is invoked to generate prog it firstly checks whether the files make depends on are up-to-date by searching the current directory for a source file corresponding to an object file and examing the modification dates etc. If the object file is older than the source it recompiles otherwise it assumes that recompiliation is not necessary. Make then uses the rule in the second line to produce a new version of prog. Typing make when none of the .o files exist results in the files being automatically compiled and invokes segldr to load them.
pack bigdatafile.dat
will result in a file called `bigdatafile.dat.z' being created in place of `bigdatafile.dat' the new file being up to 40% smaller than the original. Use `unpack' to recreate the original file.
Note: no packing occurs if the file name has more than 12 characters.