next up previous contents
Next: Acknowledgement Up: Multi Program-Components Handshaking (MPH) Previous: How to Use

How to Compile and Run

   
   The shared "Makefile" detects the machine architecture and 
   compiles appropriately for IBM, SGI and Compaq. For test case 1,
   type "make test1", and for test case 2, type "make test2". 
   or "gmake ..." depends on your machine). 
  
   After compile, you will have executables generated ("ice_land",
   "cpl", "pop_atm" for test1, and "ice_land", "cpl" for test2) in
   the corresponding subdirectory. Each sample subdirectoy also 
   includes batch scripts and sample output. 
  
   Go to that directory first (here we use test2 as an example), 
   and then: 
  
   1) To run on NERSC and NCAR IBM SP interactively: 
      a) % unsetenv MP_TASKS_PER_NODE 
      b) % setenv ice_out_env ice.log 
         % setenv land_out_env land.log 
         % setenv cpl_out_env cpl.log 
      c) Make sure the following command in ONE LINE: 
         % poe -pgmmodel mpmd -cmdfimle tasklist -nodes 3 -procs 6 
               -stdoutmode ordered -infolevel 2 > & output & 
        
      This is to run the executables listed in user supplied "tasklist"
      in the mpmd mode on total of 3 nodes and 6 procs.   
      
      And "tasklist" looks like this:
            ice_land
            ice_land
            cpl
            cpl
            ice_land
            ice_land
              
      To run on IBM SP with batch script: 
      % llsubmit runscript.ibm
  
      And "runscript.ibmc" looks like this: 
          #! /usr/bin/csh -f 
          # @ output  = poe.stdout.$(jobid).$(stepid)
          # @ error  = poe.stderr.$(jobid).$(stepid)
          # @ class = debug
          # @ job_type = parallel
          # @ task_geometry = {(0,2)(1,3)(4,5)}
          # @ total_tasks=6
          # @ network.MPI = css0, not_shared, us 
          # @ queue
          setenv MP_PGMMODEL       mpmd  
          setenv MP_CMDFILE        tasklist
          setenv ice_out_env ice.log
          setenv land_out_env land.log
          setenv cpl_out_env cpl.log
          poe  
 
      Again, it needs a user supplied "tasklist", and it runs in mpmd mode.
      The task_geometry keyword specifies which tasks run in the same node.
 
   2) We could not run it on NERSC CRAY T3E since there is no mpmd
      mechnism. 
  
   3) To run on NCAR SGI interactively: 
      a) % setenv ice_out_env ice.log 
         % setenv land_out_env land.log 
         % setenv cpl_out_env cpl.log 
      b) % mpirun -p "[%g]" -np 4 ice_land : -np 2 cpl > output 
 
      This is to run ice_land on 4 procs and cpl on 2 procs.   
      [%g] is to print the global id as a prefix for each output line.  
  
   4) To run on NCAR Compaq with batch script:    
      % prun -n6 -t runscript.dec
  
      And "runscript.dec" looks like this: 
            #! /bin/csh 
            if ($RMS_RANK >= 0 && $RMS_RANK <= 3) ice-land &                        
            if ($RMS_RANK >= 4 && $RMS_RANK <= 5) cpl &                      
            exit



Yun (Helen) He
Mon Mar 3 10:31:17 PST 2003