Supercluster interactive multi-CPU


The next step in scaling up your program is to increase the number of processes that are devoted to the simulation. This is particularly simple if you are working with an n-way decomposition. Because there will be processes running simultaneously, errors related to timing or insufficient "barrier" commands will frequently be encountered at this stage. Also, some speedup estimates can be made by comparing the performance on n nodes with that on 1 node.

As an example, you can try the orient2 example, which is an n-way decomposition of the serial Genesis Orient_tut example:

  1. Login to axpfea.psc.edu.
  2. Create a file in your home directory called "hosts" and put the following host names in it:
    axp0
    axp1
    axp2

    These names tell PVM where it may spawn other nodes. Since the demo.g script spawns 6 nodes, and we have 4 total machines (axpfea,axp0,axp1, & axp2), for running 7 processes, each CPU will be assigned 1 or 2 nodes. For production runs, it is a good idea to have the number of CPUs equal the number of nodes so that each node has its own CPU, but for testing this is not necessary.

  3. Make sure you have given rights to axpfea and the other Supercluster hosts to use your X-Windows screen, (e.g. type "xhost +axpfea.psc.edu", etc., on your local console) and that the $DISPLAY environment variable is set correctly in your axpfea shell to the host name of your X-Windows screen. If you are behind an Internet firewall at your location, you may need to talk to your system administrator to enable you to use X-Windows remotely.
  4. cd /afs/psc/biomed/prod/genesis/parallel/Scripts/orient2
  5. Run "pgenesis -config ~/hosts demo.g". This will display all 3 neural populations in a single window (the chart graphs of Orient_tut are omitted for simplicity). Use the control panel to run the simulation, by clicking on either the "sweep_horiz" or "sweep_vert" buttons.
  6. When you are finished, click on the "quit" button and all processes should exit.