Cray-Cyber Logo

General Links:
Start Page
Make a donation
Result of the Logo contest 
Links Page
Contact us
Frequently asked questions
ThanksUpdated!

Live Information:
Webcams
Diary
Knowledge base

Access:
Access Request
Terms of usage
A/Detaching sessions
Transfering files

Information area:
Press
HistoryUpdated!
Legal Notice

About the systems:
Cray Y-MP EL (yel)
Cyber 960 (cy960)
Cyber 860 (cy860)
Cyber 830 (phoenix)
Desktop Cyber (dtcyber)
Control Data Net (cdcnet)
SGI Origin 2000 (o2000)
CData 4680 (majestix)
Sun Enterprise 10000 (e10k)
Cray T3E (t3e)
NEC SX-4B (sx4b)
NEC UP4800/675 (siox)
Cray J916 (uhu)
Cray J932 (huh)
Cray C90
Cray T3D
Fujitsu VPP300 (vpp)
Bull DPS 6000
Login server (server)
Successful SW-Ports
System Logbooks

Documentation:
Search engine
List of all books
Suggested reading
CDC Models
Papers & Talks
Books available for downloadUpdated!
On German Computers

Pictures:
datArena Hall 109 OverviewNew!
General pictures
Deinstallation of CY830s
CDC Cyber Boards
Tours day on Nov 23rd 2002
Tours day on Nov 29th 2003
Tours day on Nov 27th 2004
Picking up a Cray J932
Acquisition of IPPs Cray J916
The move
The renovation
Vintage computer rooms
Operating a DEC10
Screenshots CC545
Air Conditioning
Cyber 2000 from Zurich (external)
Moving to datArena (external, short overview)
Moving to datArena (external, long version)

Hardware Projects
Cyber Disk Emulator
MUNIAC Vacuum Tube Computer

Team Members:
John G. Zabolitzky
Alexander Mann
Freddy Meerwaldt
Wolfgang Stief

In memory of:
Seymour Cray
Control Data Corp
Cray Research
Cray Computer Corp
ERA
 

RSS Feed
 
Make a donation
 

A Session with a CYBER 960

Michael A. Covington
Artificial Intelligence Center
The University of Georgia

Introduction

This document will step you through a sample session compiling and executing a FORTRAN program on the CYBER 960 at cray-cyber.org. See also their command summary and usage notes

I'll also show you how to access the easy-to-use BASIC system on the CYBER, which is very user-friendly and resembles other BASIC systems from Dartmouth to GW-BASIC.

Author's note: The very first computer I ever programmed was a Control Data 6400, in February, 1973. This CYBER 960 is its closest living relative. I stopped using CYBERs for productive work around 1986. The following notes were made on March 6th, 2004, with acute awareness that this will be one of my last-ever encounters with a CYBER.

File system

The CYBER file system is radically different from anything you've experienced under UNIX, DOS, or Windows. Specifically:
  • Your program can only read and write local (temporary) files, not permanent files.

    SAVE,localfile=permanentfile stores a copy of a local file as a permanent file.

    GET,localfile=permanentfile retrieves a copy of a permanent file and makes it a local file.

    ENQUIRE,F tells you what local files you have. Normally, the local files INPUT and OUTPUT are connected to your terminal.

    CATLIST tells you what permanent files you have.

  • Files are like tapes; you must rewind them when you want to get back to the beginning of the file. (REWIND,localfile.)

    Putting this another way: Files are opened by your terminal session, not by the individual program that reads them. It's perfectly possible for one program to read part of a file, and then another program read the rest. The files does not go back to the beginning when another program opens it.

    If the contents of a file seem to have disappeared, it probably needs rewinding.

  • File names are limited to 7 characters. My personal practice is to use the last character to indicate the kind of file (F for FORTRAN source, C for COMPASS source, blank for executable object code).

  • Text files aren't ASCII; they're in 6-bit "display code." In practice this means there aren't any lowercase letters, and you can't use ASCII codes in programming. Actually, there is also a 12-bit ASCII file type, but if you're using it, you're probably not a real CYBER purist.
The bizarre CPU architecture (designed for fast arithmetic and very little else) and the rest of the commands are documented elsewhere.

Entering and Compiling a FORTRAN Program

Here's how I actually entered, compiled, and saved a small FORTRAN program.

Logging in

WELCOME TO THE NOS SOFTWARE SYSTEM.
COPYRIGHT CONTROL DATA 1978, 1989.

94/03/06. 16.00.51. T020102
NETWORK OPERATING SYSTEM. 0.            NOS 2.8.1 803/803.
FAMILY:
USER NAME: guest15
PASSWORD:  your password
T020102 - APPLICATION: iaf

JSN: AAEU, NAMIAF
/
The / is the command prompt. What I typed is in lowercase, and most commands are echoed by the system in uppercase.

Editing a file

/screen,vt100                (Tell the CYBER I'm using a VT-100 terminal.)
SCREEN,VT100.
/fse,myprogf                 (Full-screen-edit the file MYPROGF.)
I never entirely figured out the full-screen editor, but fortunately, it's not necessary to do so. The command area is at the upper left corner; just move the cursor there to type commands.

HELP will get you a guide to further editing commands.
QUIT will save your program to a local file and exit the editor.

Copying from the keyboard to a file

You may prefer to type directly onto a file from the keyboard (like cat >filename in UNIX). For instance, you may be pasting your file into your Telnet session from an editor on your PC. Here's how it's done:
/copycr,input,myfile
?       program foo(output)
?       print *,"hello"
?       end
?
 EOF. 1 FILE; 0 RECORDS; 3 LINES.
/rewind,myfile
REWIND,MYFILE.
Note that empty lines are end-of-record marks when the CYBER is reading from the keyboard in this way. Make sure your program does not contain any empty lines. In FORTRAN programs, the usual alternative is to use comment lines that contain only the letter C in column 1.

The rest of my session

After editing my file with FSE, here's what I did next:
/enquire,f                        (Look at a list of my local files)

 LOCAL FILE INFORMATION.

  FILENAME  LENGTH/PRUS  TYPE  STATUS    FS  LEVEL
   FSEHELP       101     PM.*  BOI                      (used by FSE)
   FSEPROC        17     LO.   BOI                      (used by FSE)
   INPUT                 TT.                            (terminal input)
   INPUT*          1     IN.*  EOR       NAD
   MYPROGF         1     LO.   BOI                      (the file I created)
   OUTPUT                TT.                            (terminal output)
   ZZZWORK       148     LO.   EOF       NAD            (who knows?)
   ZZZZTRM         4     LO.   EOR       NAD            (who knows?)

  TOTAL = 8

/copy,myprogf,output               (Copy my file to the terminal so I can see it)
C A SAMPLE FORTRAN PROGRAM FOR THE CYBER
      PROGRAM MYPROG(OUTPUT)
      PRINT *, "HELLO, WORLD!"
      STOP
      END
 EOI. 0 FILES; 1 RECORD; 16 WORDS.

/rewind,myprogf                    (Rewind it. IMPORTANT STEP!)
REWIND,MYPROGF.

/ftn,i=myprogf,b=myprog,l=0        (Compile MYPROGF, write binary onto MYPROG, no listing)
      .008 CP SECONDS COMPILATION TIME

/myprog                            (Load and execute MYPROG)
 HELLO, WORLD!
     0.006 CP SECONDS EXECUTION TIME.

/save,myprogf=hellowf              (Store MYPROGF as permanent file HELLOWF)

/catlist                           (Look at my permanent files)
 CATALOG OF  GUEST15          FM/CYBER   94/03/06. 16.08.27.
 INDIRECT ACCESS FILES
  HELLOWF
         1 INDIRECT ACCESS FILE ON DISK.   TOTAL PRUS =         1.

/dayfile                           (View the system log of my session)
 16.01.30.AAKY.
 16.01.30.USER,GUEST15,,CYBER.
 16.01.30.ABSC,  T.
 16.01.30.$RECOVER,OP=T.
 16.01.42.SCREEN,VT100.
 16.01.56.FSE,MYPROGF.
 16.05.55.ENQUIRE,F.
 16.06.19.COPY,MYPROGF,OUTPUT.
 16.06.19. EOI ENCOUNTERED.
 16.06.19. EOI. 0 FILES; 1 RECORD; 16 WORDS.
 16.06.27.REWIND,MYPROGF.
 16.07.50.FTN,I=MYPROGF,B=MYPROG,L=0.
 16.07.51.      .008 CP SECONDS COMPILATION TIME
 16.07.55.MYPROG.
 16.07.55.  CM LWA+1 =  7636B, LOADER USED  25000B
 16.07.55.    STOP
 16.07.55.    014000 MAXIMUM EXECUTION FL.
 16.07.55.     0.006 CP SECONDS EXECUTION TIME.
 16.08.23.SAVE,MYPROGF=HELLOWF.
 16.08.27.CATLIST.
 16.08.55.DAYFILE.
 USER DAYFILE PROCESSED.

/logout                            (Goodbye, CYBER, it was nice knowing you!)
UN=GUEST15  LOG OFF  16.09.20.
JSN=AAEU     SRU-S=      3.094
CHARACTERS=    5.949KCHS
IAF     CONNECT TIME 00.07.51.
LOGGED OUT.
Connection closed by foreign host.

BASIC mode

The CYBER also has a very user-friendly mode for writing and running programs in BASIC, using line numbers for editing in the traditional way. (Commands such as SAVE and CATLIST still work.) Here's a transcript of a short BASIC session. Here my typing is in lighter type, and the system's responses are in boldface.
/basic
 OLD, NEW, OR LIB FILE:new
 FILE NAME:mybas
 READY.
10 print "This is a BASIC program"
20 print "2 + 2 = ",2+2
30 end
list
10 PRINT "THIS IS A BASIC PROGRAM"
20 PRINT "2 + 2 = ",2+2
30 END

 READY.
run
THIS IS A BASIC PROGRAM
2 + 2 =         4

 RUN COMPLETE.
logout
UN=GUEST15  LOG OFF  17.04.02.
JSN=AAEY     SRU-S=      1.056
CHARACTERS=    0.370KCHS
IAF     CONNECT TIME 00.00.53.
LOGGED OUT.
Connection closed by foreign host.
The performance of the BASIC compiler should not be underestimated. It uses full 60-bit floating-point arithmetic just like FORTRAN. And it includes the Dartmouth MAT commands for matrix arithmetic.

The predecessor of this BASIC environment was, in fact, the first programming environment that I ever used, back on one chilly day in February 1973. Enjoy!


These sessions took place on March 6, 2004. The date on the CYBER set 10 years into the past because of Y2K noncompliance. The time of day on the CYBER is German time (GMT+1), 6 hours ahead of Eastern Standard Time.
All content on www.cray-cyber.org and all subsites of www.cray-cyber.org are Copyright © 2002-2007 by the Cray-Cyber Team
Cray is a registered trademark of Cray Inc.

Document last modified on: Wed, 2.June.2004 11:16:34