* IBM PVMe * * IBM PVMe * * IBM PVMe * * IBM PVMe * * IBM PVMe * * IBM PVMe * -------------------------------------------------------------------------- | This directory contains a simple Fortran example for PVM and PVMe -------------------------------------------------------------------------- | | Filename Style Description | -------- ----- ----------- | manager.f MPMD A basic "hello world" type program | worker.f | -------------------------------------------------------------------------- | Please direct any questions, comments or suggestions | to karin@cam.nist.gov. -------------------------------------------------------------------------- This directory includes the following files: README.pvm README.pvme (this file) * IBM PVMe * make.pvme make.pvm manager.f worker.f To interactively run the sample program under ** IBM's PVMe ** : 0) If this is your first use of the interactive nodes, make sure you have read and followed the instructions in ../README.FIRST !! You will be asked to add lines to your .cshrc file, copy the sample directory to your own area, AND LOGIN TO ONE OF THE INTERACTIVE NODES (grand17-20) 1) After logging into an interactive node, switch to the IBM PVMe environment: prompt> startpvme (If pvme is your default environment, set in your .cshrc file, and you haven't switched to pvm, then you can skip the startpvme step. See ../README.FIRST for more information.) In your copy of the sample directory, type: prompt> make -f make.pvme The makefile will direct the compilation and linking of the programs. The executables are created in the current directory in this example, but this can be changed to the default executable directory, $HOME/pvm3/bin/RS6K, by editing the EXEDIR entry in the makefile. It's highly recommended that you *first* run through the example "as is", and then experiment with modifications after you've confirmed that the basic example works for you. 2) Unlike the ORNL PVM example, you need not create a hostfile. The Resource Manager handles the machine setup for you. At this point, you should should check the PVMEPATH environment variable and change it as necessary to point to the directory where your executables reside. The default is $HOME/pvm3/bin/RS6K. For example, the command prompt> setenv PVMEPATH `pwd` will set the executable path to be the current directory (required for this example). 3) In the sample directory, start the PVM daemon on the nodes of the interactive pool by typing: prompt> pvmd3 & <-- NOTE: the ampersand is important! - or - If omitted, you must push the job prompt> pvmd3e & to the background to continue. ( pvmd3 and pvmd3e are aliased to the same command, so you may use whichever you prefer.) This (in effect) requests a single user "lock" on the switch. If the switch is available, you will see output from PVMD, and finally the ready message: PVMD: Ready for 4 hosts... If someone else has accessed the switch, you will be prompted to wait a while and retry. A similar will result if YOU have already accessed the switch. The error message PVMD: Error while allocating node , capacity has been exceeded. indicates that you already have accessed the switch, and must halt the daemon if you wish to restart it. 4) Check the configuration through the pvm console: prompt> pvm [RETURN] pvmd already running. pvm> conf [RETURN] 4 hosts, 1 data format HOST DTID ARCH SPEED grand17 fff0001 RS6K 1000 grand18 fff0002 RS6K 1000 grand19 fff0003 RS6K 1000 grand20 fff0004 RS6K 1000 pvm> quit [RETURN] prompt> (Other responses, such as only one host being listed, are a sign that something has not gone right. Please contact karin@cam.nist.gov.) 5) Run the program by typing: manager You will be prompted to enter the number of processes you wish to spawn. *** IMPORTANT ***: Since this is PVMe, there is a hard limit on the number of PVM processes, and this cannot exceed the number of processors in the virtual machine. Therefore, you must enter a number ** less than or equal to 3 **; choosing a larger input value will result in failure of the program! Run the program as many times as you like to verify the output.... 6) Examine the results file generated by the manager program: prompt> cat manager.results 7) Upon completion, halt PVMe: ** This step is VERY IMPORTANT, since you must release the switch ** ** before anyone else has access to it. DO NOT FORGET THIS STEP! ** prompt> pvm [RETURN] pvm> halt [RETURN] 8) Clean up... type: prompt> make -f make.pvme new This will remove the executable, object, output and error files, to restore the directory to its original state. -------------------------------------------------------------------- | Again, | please direct any questions, comments or suggestions | to karin@cam.nist.gov. --------------------------------------------------------------------