next up previous
Next: Edit and run Up: Basic Steps Previous: Where to store

Run sample programs

Copy all files under /fs/meiko-user/tyang/cs110b under your own directory.

To run your program, you have to copy everything under /export/tmphome/your_dir. Thus under that directory, you do

mkdir  /export/tmphome/${USER}/example

cd  /export/tmphome/${USER}/example

cp -r /fs/meiko-user/tyang/cs110b /export/tmphome/${USER}/example

To compile the code, you type ``make hello''. And type ``rinfo'' to get the current status of the machine. For example:

PARTITION     NPROC     PROCS    STATUS        TIME
       p32        32      0-31      down            
       p16        16     32-47        up     7:47:41
     login         1       124      down            
       p2a         2     48-49        up     7:47:48
       p2b         2     50-51        up     7:47:50
        p4         4     52-55        up     6:41:43
 
  RESOURCE     NPROC    STATUS      USER        GPID        TIME       LIMIT
    p2a.13         2      free                           6:26:38            
    p2b.28         2      free                           5:36:25            
    p4.142         4    in-use     tyang    124.3534        0:02        none
 
      USER     NPROC    STATUS PARTITION        GPID        TIME     COMMAND
     tyang         4   running        p4    124.3534        0:02  matrix_para

Indicating partition p32 is down. And p16 is working and is free. Partition p4 is working but is occupied by user tyang.

Then you can use partition p16 to run this program. Partition p16 contains 16 nodes. We can select 4 nodes.

prun -pp16 -n4 hello

Files under that sample directory are:

makefile  -- C parallel program for computing pi.
hello.c   -- C program for printing hello. It demonstrates how SPMD works.
hello1.c   -- C program for printing hello and the node number.
fhello.f   -- Fortran program for printing hello.
fhello1.f   -- Fortran program for printing hello and the node number.
ring.c   -- C program for sending messages around a ring of processors.
	It will demonstrate the use of csend and crecv.
fring.f   -- Fortran  program for sending messages around a ring of processors.
pi.c     -- Compute pi=3.1415... with numerical integration
	It will demonstrate the use of gdsum and how to distribute works among
	processors. It uses a cyclic mapping. For example,
	Processor 0 executes task 1, P+1, 2P+1 etc. 
	Processor 1 executes task 2, P+2, 2P+2 etc. 
fpi.f     -- Compute pi=3.1415... with numerical integration
lusimple.c --- A simple LU decomposition program.       
gesimple.c --- A simple GE program for solving a linear system.       
broadcast.c	  -- C program containing broadcasting.
matrix_para.c-- A simple parallel matrix multiplication program.        
matrix_seq.c -- a sequential matrix multiplication program.
timing -- a directory containing  sample programs for timing.



Tao Yang
Sun Jan 21 15:34:03 PST 1996