Supercomputing FAQ
General Questions
UNIX Questions
SSH Questions
Batch Processing Questions
Compiling System Questions
Parallel Processing Questions
Libraries/Software Questions
Performance Analysis Questions
Disk Storage
Other Common Problems
General Questions
Where should
a new OSC user begin?
New OSC users should read through
the Technical Web pages at http://www.osc.edu/supercomputing. Look in the FAQ for
information on ssh, the means by which users
connect to OSC's machines. New OSC users should read the information in
the Computing section for general
instructions and machine-specific usage. New users should also refer to
the Training section; upcoming workshop
schedules (no admission fee and open to anyone) and handouts from
previously offered workshops give new users additional guidance on
OSC's machines
What is an RU
(or mRU)?
An RU is a resource unit and an mRU
is a milli resource unit (i.e., 1 RU = 1000 mRUs). A resource unit is
an aggregate measure of the use of CPU, memory, and file storage. For
details on charging algorithms, see Charging.
How do I find
out my account balance?
To see usage and balance information
from any system, use the OSCusage command or login to the
secure website at https://www.osc.edu/cgi-bin/OSCusage.cgi.
See the online man page for more information.
 |
accounting is updated once a
day, so the account balance is for the previous day. |
How do I
get/renew an account?
For information concerning accounts
(i.e., how to apply, who can apply, etc.), see Accounts.
How do I
register for a workshop?
Workshop announcements are posted
under Notices . To register, please
contact Elaine Landwehr at trn-contact@osc.edu
or landwehr@osc.edu or (614) 292-0890.
Where can I
find documentation?
For documentation specific to
software applications, see Software. For
other available documentation, see Manuals.
How do I read mail on OSC's supercomputing systems?
This service is not available at
this time.
How do I
install automatic mail forwarding from OSC's supercomputing systems?
You can create a .forward
file in your home directory on MSS. The format of the file is a single
line: the e-mail address to which the mail is to be forwarded, e.g.,
name@xxx.edu. Make certain the permissions of the .forwardfile
are set so the file is not writable by others; sendmail
ignores .forward files whose permissions are not set
correctly. Update your .forward file if your e-mail
address changes. The correct permissions will show up in the command ls
-l .forward as "-rwxr--r--". The chmod
command is used to change file permissions. Enter man chmod
for details.
Can I
receive a letter of support from OSC when I apply for outside funding?
OSC has a standard letter of support
that you can include (electronically or in hard copy) with a proposal
for outside funding. This letter does not replace the application
process for time on OSC's systems. To receive the letter of support
please send your request to account@osc.edu.
You should provide the following information: name and address of the
person/organization to whom the letter should be addressed; name(s) of
the principal investigator(s) and the institution(s); title of the
proposal; number of years of proposed account; number of RUs
requested per year.
The letter includes the rates
associated for specified system(s). Hardware information about the
systems is available at http://www.osc.edu/supercomputing/hardware.
My
question isn't answered here. Who can I ask for help?
OSC has a supercomputing support person
available for consultation during regular business hours (9am-5pm
Monday through Friday). More information on the OSC supercomputing help desk can
be found at
http://www.osc.edu/supercomputing/support/.
How do I acknowledge OSC in my publications?
An acknowledgment of support from the Ohio Supercomputer Center should appear in a publication of any material, whether copyrighted or not, based on or developed with OSC-supported computing resources.
"This work was supported in part by an allocation of computing time from the Ohio Supercomputer Center."
UNIX Questions
How do I change my password?
You can use the secure web page at
https://www.osc.edu/supercomputing/oscusers/passwd.shtml to change your password or when logged on to a system, use the oscpasswd command.
How do I change the default shell?
You can use the secure web page at https://www.osc.edu/supercomputing/oscusers/shell.shtml. On OSC systems, to change your default shell when you are logged on,
run oscpasswd -e and enter your password. Then enter one of the following shells:
/bin/sh
/bin/ksh
/bin/csh
/bin/tcsh
/bin/bash
How do I define my terminal type?
Appropriately set the TERM
environment variable. The most common terminal types are xterm
or vt100. The way you set the environment variable
depends on your shell. For example, a POSIX or Korn shell user may
enter export TERM=xterm to set the TERM variable
to xterm.
What does CPU time limit exceeded mean?
If you are running your application
interactively, you need to create a batch request. Your batch request
should include an appropriate estimate for the amount of CPU time that
your application will need. See Batch
Processing for more information.
How do I get more disk space?
Before you request additional space
for your permanent file system ,
consider temporarily using /tmp and/or compressing
files. For special requests, estimate the amount of disk space that you
will need and the duration that you will need it. Send special requests
to the consultants.
SSH Questions
What is SSH?
Secure Shell (SSH) is a program to
log into another computer over a network, to execute commands in a
remote machine, and to move files from one machine to another. It
provides strong authentication and secure communications over insecure
channels. SSH provides secure X connections and secure forwarding of
arbitrary TCP connections.
What are the differences between SSH1 and SSH2?
Two versions of Secure Shell
protocol are available: SSH version 1 (SSH1) and SSH Version 2 (SSH2).
SSH2 is a complete rewrite of the protocol with improved security,
performance, and portability than the legacy version SSH1. SSH is
intended as a replacement for telnet, rlogin,
rsh, and rcp. SSH2 adds a
replacement for FTP (SFTP). For more information on the protocols, see
the Internet Engineering Task Force (IETF) web site at http://www.ietf.org/.
How can I upload or download files?
Since FTP is no longer supported at
OSC, you must use a utility that uses the SSH protocol. Current options
include Secure CoPy 'scp' and SSH File Transfer Protocol 'sftp'. These
utilities should be provided on most linux/unix platforms, but they can
also be found at the links given in the next section, "Where can I find
SSH clients".
For Windows users, a popular version of scp and SFTP exists called
WinSCP. This open source application can be obtained at no charge from:
http://winscp.sourceforge.net/eng
Where can I find SSH clients?
The official release of Secure Shell
is by SSH Communications Security at http://commerce.ssh.com . For non-commercial users
(i.e., universities, non-profit, and personal use), it is free of
charge. Otherwise, SSH Secure Shell must be properly licensed. Another
source for free SSH clients is http://www.openssh.org/; these are installed by
default on Linux, Mac OSX and most other Unix-like systems.
For Microsoft Windows systems, a free client called PuTTY is available
from
http://www.chiark.greenend.org.uk/~sgtatham/putty
How does SSH work?
SSH works by the exchange and
verification of information, using public and private keys, to identify
hosts and users. The ssh-keygen command
creates a directory ~/.ssh and files that
contain your authentication information, The public key is stored in ~/.ssh/identity.pub and the private key is stored
in ~/.ssh/identity. Share only your
public key. Never share your private key. To further protect
your private key you should enter a passphrase to encrypt the key when
it is stored in the file system. This will prevent people from using it
even if they gain access to your files.
One other important file is ~/.ssh/authorized_keys. Append your public
keys to the authorized_keys file and keep the same copy of it on each
system where you will make ssh connections.
Once your identity has been created use the ssh
command, much like telnet, to connect to a
remote system.
How do I run a graphical application in an ssh session?
To do this, you need to be running
an X display server. On most Unix and Linux systems, you will probably
be running this already. If you are using a Mac running OSX, you will
need to install and run either the Apple
X11 server or XDarwin. On
Windows systems, there are numerous choices available, including Hummingbird Exceed and Cygwin/X. Most ssh
clients can be configured to automatically set up a remote X display as
part of the login session. This may happen without any action on your
part; if you log into an OSC machine and the command "echo $DISPLAY"
gives you more than a blank line, you need do nothing else. To
configure this automated behavior with OpenSSH on a Unix/Linux/OSX
system, you will need to either login in with the -X option or add the
following to $HOME/.ssh/config on your local machine:
Host * ForwardX11 yes ForwardX11Trusted yes
Note that some visualization
programs, such as AVS/Express, require an X server which supports the
GLX extension for OpenGL compatibility. To check if your X server
supports that extension, run the command "xdpyinfo
| grep GLX" in your login session to an OSC system. You
should get one or more lines of output if your X server supports this
extension.
Batch Processing Questions
What is a batch request?
On all OSC production systems, batch processing is managed by the Portable Batch System (PBS). The Linux clusters also use the Maui Scheduler. PBS batch requests (jobs) are shell scripts that contain the same set of commands that you enter interactively.
These requests may also include options for the batch system that provide timing, memory, and processor information. For example
requests, see Batch Processing in the Computing section.
How do I submit, check the status, and/or delete a batch job?
On all OSC production systems, batch processing is managed by the Portable Batch System (PBS). The Linux clusters also use the Maui Scheduler. PBS use qsub to submit, qstat -a to check the status, and qdel to delete a batch request. For more information, see the online man pages.
Why won't my job run?
There are numerous reasons why a job might not run even though there appears to be processors and/or memory available. These include:
- Your account may be at or near the job count or processor count limit for an individual user.
- Your group/project may be at or near the job count or processor count limit for a group.
- The scheduler may be trying to free enough processors to run a large parallel job.
- Your job may need to run longer than the time left until the start of a scheduled downtime.
How can I retrieve files from unexpectedly terminated jobs?
A batch job that terminates before the script is completed can still copy files from $TMPDIR to the user's home directory via the trap command. In the batch script, the trap command needs to precede the command causing the TERMination. I could be placed immediately after the PBS header lines. Here is a generic form:
trap "cd $PBS_O_WORKDIR;mkdir $PBS_JOBID;cp -R $TMPDIR/* $PBS_JOBID" TERM
Compiling System Questions
What languages are available?
Fortran, C, and C++ are available on all OSC systems. The commands used to invoke the compilers and/or loaders vary from system to system. For more information, see "Using the System under Computing.
When compiling an MPI2 C++ program I get the following
error: /usr/local/mpi/mvapich2-1.2p1-intel/include/mpicxx.h(37):
catastrophic error: #error directive: "SEEK_SET is #defined but must
not be for the C++ binding of MPI"
#error "SEEK_SET is #defined but must not be for the C++ binding of
MPI" ^
This error is the result of a problem in the C++ binding in
the MPI-2 standard. There is a namespace collision between MPI and
stdio, with SEEK_SET being defined in both. The recommend solution
is to use the compiler flag -DMPICH_IGNORE_CXX_SEEK.
A second option, although not recommended, is to include mpi.h before
stdio.h (works if you don't have nested includes).
Parallel Processing Questions
What is parallel processing?
The simultaneous use of more than one computer to solve a problem. There are many different kinds of parallel computers. They are distinguished by the kind of interconnection between processors or nodes (groups of processors) and between processors and memory.
What parallel processing environments are available?
On most systems, flavors of OpenMP and MPI are available. See Table 3
for a summary of parallel environments.
What is Amdahl's law?
If F is the fraction of a calculation that is sequential, and (1-F) is the fraction that can be parallelized, then the maximum speedup that can be achieved by using P processors is 1/(F+(1-F)/P).
How do you do multi-thread using MVAPICH and OpenMP?
MVAPICH has a thread affinity option, which is supposed to
improved performance for single-threaded MPI processes. It prevents
the use of multiple cores in multithreaded (e.g., OpenMP) processes,
however. For MPI+OpenMP, set the environment variable
MV2_ENABLE_AFFINITY to 0:
bash:
export MV2_ENABLE_AFFINITY=0
csh:
setenv MV2_ENABLE_AFFINITY 0
Libraries/Software Questions
What software applications are available?
See Software section.
How do I get authorized to use a particular software application?
Access Agreement forms are available
on the Web in postscript and text formats. Where appropriate, they may
be found for a given application in the Software
section.
What math routines are available?
For the CRAY products, a good place to start is the man pages for math and libsci.
In addition, see the Software section for information on
third-party applications (e.g., IMSL and NAGLIB).
What scientific visualization software is available?
There are two recommendations for
scientific visualization. AVS/Express from Advanced Visualization Systems is available under
our Statewide Software
License Program. See the Software
section for further information.
The Visualization Toolkit, VTK, is an open source software system for 3D computer graphics, image processing and scientific visualization. A related application is ParaView. Paraview runs on distributed and shared memory parallel as well as single processor systems. Paraview uses VTK for the data
processing and rendering engine. The interface is written with a blend of TCL/TK and C++. Both VTK and Paraview were created by Kitware.
Also, see our training materials in the Training section.
OSC does not have a particular software package I would like to use. How can I request it?
Please refer to the general information of OSC's technical web pages entitled "Software". Under Forms, you will see the link to "Request for Software Form". Download the form, complete the information, and fax the form to OSC's software manager at 614/292-7168. The Statewide Users Group will consider the request.
What are modules?
Modules[1] are used to manage the environment variable settings associated with software packages in a shell-independent way. They work by setting up a special function or alias in your shell's environment called "module", which is used to evaluate commands and set environment variables in a transparent, reversible way. On OSC's systems, you will by default have modules in your environment for PBS, MPI, compilers, and a few other pieces of software. To see a list of your currently loaded modules, run:
module list
To see all of the modules available, run:
module avail
To add the module for a particular package to your environment, run:
module load package
Conversely, to remove a module from your environment, run:
module unload package
To see what changes a module makes to your environment, run:
module show package
[1] http://www.modules.org/
How do I convert files from Gaussian98 to Gaussian03?
Almost all Gaussian98 input files are valid Gaussian03 input files. However, the format for checkpoint files was changed with the Gaussian03 release. The following command sequence performs the conversion in place:
% module load g03
% c8603 mycalc.chk
The Gaussian03 module must be loaded to access the c8603 utility. The original mycalc.chk will be rewritten in Gaussian03 format. For
reference, see http://www.gaussian.com/g_ur/u_c8603.htm. The command c8603*.chk converts only the first file, so you must convert each checkpoint file separately.
Performance Analysis Questions
What are mflops?
Million floating-point (real number) operations per second.
How do I find out about my code's performance?
A number of performance analysis tools are available on OSC systems. Some are general to all systems and others are specific to a particular system.
How well does my code perform on OSC Systems?
One of the more traditional measurements for code performance is mflops. A chart that includes typical performance measurements for OSC systems is available for your comparison.
How can I optimize my code?
There are several ways to optimize code. Key areas to consider are CPU optimization, I/O optimization, and memory optimization. Guidelines are available to assist you.
Disk Storage
How can I determine the total disk space used by my account?
You can determine the total amount of disk space consumed by your
account by using the du command. From your home directory
issue the following command: du -sh .
Every OSC user shares their home file system with many other users. To
see how much disk space remains on your home file system you must first
identify the file system in which your files reside. To do this run
the command ls -l $HOME On the far right you will see
output similar to /home/osu0000 -> /h/osu0000/ This
example indicates that user osu0000 has their home
directory mounted on the /h file system. You can now use
this information to determine how much space remains on your home file
system by using the command df.
How can I find my largest directories?
To reveal the directories in your account that are taking up the
most disk space you can use the du, sort and
tail commands. For example, to display the ten largest
directories change to your home directory and then run the command:
du -k . | sort -n | tail -10
How can I find and delete core files?
Often when an application crashes or quits unexpectedly, an
image of that application's memory footprint at the time of the crash
is written to the file system as a "core file". These core files are
typically quite large and unless needed by the user should be deleted.
To find and delete these files go to your home directory and run the
command:
find . -name core\* -exec rm -f {} \;
How can I use tar and gzip to compress my files?
The commands tar and gzip can be used
together to produce compressed file archives representing entire
directory structures. These allow convenient packaging of entire
directory contents. For example, to package a directory structure
rooted at src/ use tar -czvf src.tar.gz src/
This archive can then be unpackaged using
tar -xzvf src.tar.gz where the resulting directory/file
structure is identical to what it was initially.
Are there other file compression programs?
The programs zip, bzip2 and
compress can also be used to create compressed file
archives. See the man pages on these programs for more details.
Other Common Problems
Why did my program die with a segmentation fault, address error, or signal 11?
This is most commonly caused by trying to access an array beyond its bounds -- for example, trying to access element 15 of an array with only 10 elements. You may also wish to debug your program using one of the available tools such as TotalView.
I created a batch script in a text editor on a Windows system, but when I submit it on an OSC system, almost every line in the script gives an error. Why is that?
Windows has a different end-of-line convention for text files that UNIX and Linux systems do, and most UNIX shells (including the ones interpreting your batch script) don't like seeing the extra character that Windows appends to each line. On most
OSC systems, you can use the following command to convert a text file from Windows format to UNIX format:
dos2unix myfile.txt
|