GETTING STARTED
This page contains some tips on how to get started on the
supercomputers at Parallab.
The information is intended for both users that are new to the
these machines and to users that are new to UNIX-like operating
systems.
We created many other pages that explain what programming languages,
compilers, development tools (debugging, profiling, analysis),
parallel programming paradigms, etc. are available for the machines.
The main entry point to the support pages is
here.
- The IBM e1350 cluster is called fimm.bccs.uib.no.
It is described here.
The computational heart consists of 86 nodes, each with 2
processors (cpus) and 2/4/8 Gigabyte of memory.
You can only connect to one node (the 'front-end').
The nodes are interconnected with Gigabit Ethernet, but
a subset of the nodes also has a faster interconnect.
The operating system is Linux Redhat.
- The Cray XT4 is called hexagon.bccs.uib.no.
It is described here.
The computational heart consists of 1388 nodes, each with 4
processors (cpus) and 1 or 2 Gigabyte of memory.
You can only connect to one node (the 'front-end').
The operating system is Cray UNICOS/lc which uses Suse Linux on
the frontends (login-nodes) and a customized light-weight Linux
kernel on the compute nodes.
- Password.
The very first time you connect to the machine (with
ssh), you are required
to change the password that you were given.
Some tips for good passwords can be found
here.
- Your directories.
See a separate
page
for more information about the file systems on fimm
and your disk quota.
See this page for more information about the file systems on hexagon.
- scp/sftp.
The machines are stand-alone systems. The machines do not
(NFS-)mount remote disks. Therefore you must explicitly transfer any
files you wish to use to the machine by
scp/sftp.
- chsh.
You may want to change the shell that you get by default.
Use the (interactive) command 'chsh' to check
your current shell-type and to modify this (if needed).
The C shell 'tcsh', the Korn shell 'ksh', and the
Bourne-Again shell 'bash' are popular ones.
- Running jobs on the machine.
You can execute your jobs by submitting them to the batch system.
We made separate pages that explain how to use the
batch system. The pages explains how to
write job scripts, and how to submit, manage, and monitor jobs.
It is not allowed to run long or large memory jobs
interactively (i.e., directly from the command line).
- Manual pages.
If you know the UNIX-command that you would like to use but not the
exact syntax, consult the manual pages on the system to get a
brief overview. Use 'man [command]' for this.
For example, to get the right options to display
the contents of a directory, use 'man ls'. To choose the
desired options for showing the current status of processes, use
'man ps'. On the Regatta, use 'man xlf' for the
options of IBM's Fortran compiler.
- Text editing.
Popular tools for editing files on UNIX-based systems are
'vi' and 'emacs'.
Unfortunately the commands within both editors
are quite cryptic for beginners. It is probably wise to spend some
time understanding the basic editing commands before starting
to program the machine.
- vi. Full-screen editor. Use 'man vi' for quick help.
- emacs. Comes by default with its own window.
Type 'emacs -nw' to invoke emacs in the active window.
Type 'Control-h i' or follow the menu
'Help->manuals->browse-manuals-with-info' for help.
'Control-h t' gives a tutorial for beginners.
- nedit. A more 'user-friendly' text editor that
requires less knowledge to get started.
Comes with its own window and help menus.
- Environment variables.
The following variables are automatically available after you log in:
USER : your account name
HOME : your home directory (full path)
PWD : your current working directory (full path)
You can use these variables on the command line or in shell scripts
by typing $USER, $HOME, etc. A complete listing of the defined variables
and their meanings can be obtained by typing 'printenv'.
You can define (and redefine) your own variables by typing
setenv [VARIABLE] [VALUE] (csh/tcsh shell)
export [VARIABLE]=[VALUE] (ksh shell)
- Aliases (for csh/tcsh users).
If you freqently use a command that is long and has for example
many options to it, you can put
an alias (abbreviation) for it in your ~/.cshrc file.
For example, if you normally prefer a long listing of the contents
of a directory with the command 'ls -laF | more', you can put the line
alias ll 'ls -laF | more'
in your ~/.cshrc file. You must run
'source ~/.cshrc' to update your environment and to make the
alias effective. From then on, the command 'll'
is equivalent to 'ls -laF | more'.
Make sure that the chosen abbreviation is not already
an existing command, otherwise you may get unexpected (and
unwanted) behaviour.
You can check the existence and location
of a program, script, or alias by typing
which [command]
whereis [command]
- ~/bin (for csh/tcsh users).
If you frequently use a self-made or self-installed program or
script that
you use in many different directories, you can create a
directory ~/bin in which you put this program/script. If that
directory does not already exist, you can do the following.
Suppose your favourite little program is called 'takk'
and is in your home ($HOME) directory.
cd $HOME
mkdir bin
cp takk bin/.
setenv PATH $PATH:$HOME/bin
PATH is a colon-separated list of directories that
are searched in the order in which they are specified
whenever you type a command. The first
occurrence of a file (executable) in a directory in this
PATH variable that has the same name as the command will be
executed (if possible). In the example above, the 'setenv'
command adds the ~/bin directory to the PATH variable
and any executable program/script you put in the ~/bin
directory will be recognized as a command.
To add the ~/bin directory permanently to your PATH variable,
add the above 'setenv' command to your ~/.cshrc file and
update your environment with 'source ~/.cshrc'.
Make sure that the names of the programs/scripts are
not already existing commands, otherwise you may get unexpected
(and unwanted) behaviour.
You can check the contents of the PATH variable by typing
printenv PATH
echo $PATH
More advanced usage .....