15 740 Fall 2007 Tutorial on Using cobalt at NCSA and rachel at PSC In the following HOMEDIR refers to the directory afs cs cmu edu academic class 15740 f07 public and ASSTDIR refers to the subdirectory HOMEDIR asst asst2 1 About the Machines We will be using two parallel machines that support OpenMP this semester cobalt at the National Center for Supercomputing Applications NCSA and rachel at the Pittsburgh Supercomputing Center PSC cobalt is a collection of SGI Altix machines which are built using Intel Itanium 2 processors There is a smaller cluster co login1 for interactive use you will be logging onto these machines to compile and test your code Once your code is ready for a timing measurement you will submit it to a batch queue to run on the 512 processor SGI Altix machine co compute1 There is a wealth of information about cobalt and how to use it at the following web site http www ncsa uiuc edu UserInfo Resources Hardware SGIAltix rachel is an HP AlphaServer comprised of 64 Alpha EV7 processors Details about rachel can be found here http www psc edu machines marvel rachel html 2 Logging In You should use ssh to connect to the front end machines at both NCSA and PSC In particular type the following to log onto the interactive cobalt machine co login1 at NCSA ssh yourUserName cobalt ncsa uiuc edu Type the following to log into rachel ssh youUserName rachel psc edu 3 Compiling your programs Because the OpenMP standard is supported on both cobalt and rachel you should not need to modify your source code to run on either platform Since these machines were designed by different vendors and have different processors compilers etc you do need to compile your code with different compilers and different compiler flags You can find several trivial OpenMP C code examples in ASSTDIR examples along with a Makefile for each machine i e ASSTDIR examples Makefile ncsa and ASSTDIR examples Makefile psc 1 3 1 Compiling on cobalt To compile OpenMP programs on cobalt use icc and specify openmp to the compiler For example to compile a program hello c with optimization type icc openmp O hello c o hello 3 2 Compiling on rachel To compile OpenMP programs on rachel use cc and specify omp to the compiler Because the frontend node of rachel have different processors EV6 7 than the compute node EV7 You need to tell the compiler to optimize for the compute processors by specifying O fast tune ev7 arch ev7 For example to compile a program hello c with optimization type cc omp O fast tune ev7 arch7 hello c o hello 4 Running your programs For both cobalt and rachel you can run your program on the frontend nodes i e the ones that you login to by simply typing the program name at the command line directly i e the way that you would normally run a program on a UNIX based system This is a very useful way to debug your program and to get some rough performance numbers To get a proper performance measurement on either machine however you need to submit your program to the batch queueing systems When your program reaches the head of the batch queue it will run with the machine or your portion of the machine to itself 4 1 Submitting batch jobs on cobalt To learn how to submit batch jobs on cobalt please read the following web page http www ncsa uiuc edu UserInfo Resources Hardware SGIAltix Doc Jobs html 4 2 Submitting batch jobs on rachel rachel uses the Portable Batch Scheduler PBS system to control access to compute processors for batch jobs Therefore you need to compose different job scripts for rachel Please see the following web page for details http www psc edu machines marvel rachel html batch In particular search for the sample script that follows A sample job script for an OpenMP program is You can also learn more about PBS by typing man pbs 2 You may have noticed that there is no explicit memory size specification in this job script This is because Rachel always associates 3 7 GB memory with each processor Therefore when the job script requests 8 processors 3 7GB 8 29 6GB memory is allocated for the job implicitly 3
View Full Document
Unlocking...