ARSC HPC Users' Newsletter 324, September 9, 2005
ARSC User Training and Physics 693
Classes have begun at UAF and ARSC staff along with the UAF Physics department are once again teaching Physics 693. The Core Skills for Computation Science class serves as an introduction to the basic skills required to operate in a modern high performance computing environment.
ARSC users are encouraged to attend any lecture the would find beneficial. Physics 693 lectures are the only formal ARSC user training scheduled for this fall.
The following classes will be taught in the next two weeks.
|09/13/2005||Writing Batch Scripts||Lee Higbie|
|09/15/2005||Introduction to Fortran, Part 1||Lee Higbie|
|09/20/2005||Introduction to Fortran, Part 2||Lee Higbie|
|09/22/2005||Visualization and Complex Data Presentation, Part 1||Roger Edberg|
Classes occur in the West Ridge Research Building (WRRB) Room 009 on Tuesday and Thursday from 9:15 - 11:15AM.
For a complete schedule visit the Core Skills class website at http://www.arsc.edu/~cskills
X1: Executing OpenMP Programs
Launching an OpenMP application on the X1 using the
option, for instance (for a program compiled in SSP-mode):
$ aprun -d 16 ./omp.SSP.a.out
can result in profoundly faster execution than launching it with:
$ export OMP_NUM_THREADS=16 $ aprun ./omp.SSP.a.out
The latter method doesn't inform the scheduler of the number of threads (processors) you want. To the scheduler, it looks like a 1-SSP job. On busy klondike, this will almost certainly result in your job sharing a node with other programs, and running its 16 threads on fewer than 16 SSPs.
Here's Cray's relevant bit of documentation, taken from the "Cray Fortran Compiler Commands and Directives Reference Manual":
-------------------------------------------------------------- 6.5. OpenMP Program Execution The -d depth option of the aprun command is required to reserve more than one physical processor for an OpenMP process. For best performance, depth should be the same as the maximum number of threads the program uses. This example shows how to reserve the physical processors: aprun -d depth ompProgram If the program is compiled for MSP mode, depth must be less than or equal to 4; for SSP mode less than or equal to 16. If depth is not specified, the aprun command defaults depth to 1. If the OMP_NUM_THREADS environment variable is not set, the program behaves as if OMP_NUM_THREADS is set to the same value as depth. The aprun options -n processes and -N processes_per_node are compatible with OpenMP but do not directly affect the execution of OpenMP programs.
ARSC has two Sun Fire 6800 systems which act as the hosts for the long term filesystems ($ARCHIVE). The system "nanook" acts at the archive host for SGI systems and iceflyer, while "seawolf" acts as the host for klondike and iceberg. The Sun package which manages the archive filesystem is called SAM-QFS.
When a file is written to $ARCHIVE it will automatically be written to two different tapes after an hour or so. Eventually the on-disk copy of the file may be released from disk leaving only the tape copies. Should the file be accessed in the future it will automatically be retrieved from tape and restored to disk. Since $ARCHIVE is NFS mounted on most systems you might not ever need to log into the Sun storage systems. On the other hand, since files can be offline the $ARCHIVE filesystem acts differently than normal disk filesystems. Here are some things which can improve the responsiveness of $ARCHIVE.
- Use tar files when possible to avoid storing many small files. There is a significant amount of overhead associated with each tape mount, using a single file reduces the number of tape loads, etc.
If you need to copy files from $ARCHIVE to a remote system, connect directly to the archive host. This eliminates an NFS connection (e.g. between iceberg and seawolf).
krcp -r "email@example.com:/archive/u1/uaf/user/data" .In place of:
krcp -r "firstname.lastname@example.org:/archive/u1/uaf/user/data" .
NOTE: you may need to request that your account be activated on seawolf or nanook.
- Users with large amounts of data to move may benefit by using the SAM-QFS "stage" command which is available directly on the archive hosts.
See > http://www.arsc.edu/support/howtos/storage.html for a list of common SAM-QFS commands and examples of the stage command.
Fall "Discovery Tuesdays" Schedule
This fall ARSC is trying a new approach for the popular "Discovery Tuedays" series. Each session will begin with a one hour lecture starting at 2 PM followed by open lab time until 7 PM. All sessions will be broadcast over the Access Grid.
ARSC User Consultants, staff, graduate students and visiting speakers will be on location to discuss how you can take advantage of the lab resources for your research or to assist with an existing project.
September Sessions: 13: Introduction to the Discovery Lab 20: Discovery Lab Operator Training 27: Programming and Software Packages October Sessions: 04: Intro to Amira 11: Elegant Art / Funky Programming
The Discovery Lab is located in the Rasmuson Library Room 375C.
If you have an idea for a future "Discovery Tuesdays" event or for more information on scheduled events contact Bob Huebert at email@example.com or Jenn Wagaman at firstname.lastname@example.org.
Quick-Tip Q & A
A: [[ I have about 25 login names and passwords for various web sites [[ I use. The web sites include everything from free subscriptions [[ and chat groups to (horrors!) on-line banking and investing. The [[ security required isn't at the level of my HPC accounts, but it's [[ still important. [[ [[ A few practical suggestions for managing all these names and [[ passwords would be appreciated. # # Thanks for Bob Moench for the following solution. # I use a Palm Tungsten C for a variety of reasons. One such reason is to keep all those account/passwords in check. A simple GNU utility called 'Keyring' stores that type of information in an encrypted fashion. For me, a password is just a couple of button pushes away. To augment the above solution I selected a relatively unique user id that I attempt to use as my default first choice everywhere I sign up. For low security situations I use a good password, but use the same one for all those sites. I can usually just try those default values for the run of the mill sign on and don't even need to look it up. # # Thanks to Ed Kornkven for this solution # A really nice application for handling passwords is "EZ Password Manager" from http://www.northwind-tech.com/ . It not only keeps a database of your passwords, it has other nifty features like the ability to match the web page you're browsing with its database entry and paste the username and password fields using hot keys. Unfortunately, it only runs under Windows. On the Mac, I use the Apple-supplied "Keychain" app but it's not as nice in my opinion. Q: Here's a Fortran DO loop and a print statement: DO I = N, M, L ... ENDDO PRINT*, "Value of I, after the loop terminates: ", I Assuming the loop executes all iterations specified (e.g., it doesn't contain any "EXIT" statements), can you precompute the value which will be printed for I? And it is?
[[ Answers, Questions, and Tips Graciously Accepted ]]
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.