The Paragon has two logical classes of processors, compute nodes and service nodes. When you log in to the Paragon, a service node responds to UNIX commands. Compilation and linking are also handled by the service nodes. To run a parallel program a partition of compute nodes must be assigned to the user. This is done using the mkpart, cmkpart, pexec commands. Partitions are removed using rmpart, crmpart commands. Loading the program on the compute nodes is done under OSF/1 by executing the code with a partition name. For example, pccm2 -pn chammp001. The pexec command both creates a partition and loads a code. The form of the command is pexec -sz 64 pccm2. (See the man entry for application on the Paragon systems for further information.)
An environment variable is set by the user to identify the directory in which the code is to find input files and in which to create the output files. The input datasets can also be specified by giving the full path names in the namelist input. In the example below, the execution path environment variable is set to the users PFS directory. The following commands run the pccm2 code on 256 processors (16x16 mesh) in a parallel file system directory named chammp/t42.
%setenv CCM_EXEC_PATH /pfs/chammp/t42 %pexec -sz 256 pccm2 &In the PFS directory the code expects to find the initial condition and boundary input datasets as well as the namelist input in a file named fort.050. The standard error and output files from node zero of the parallel execution will be placed in files named pccm.out.0000 and pccm.error.0000.
The PCCM2.1 code on the Intel Paragon can be run using the native NX message passing libraries or, alternatively, using MPI, PVM or PICL libraries when OSF/1 is the operating system. An implementation for the SUNMOS operating system is also available but is limited by lack of parallel I/O.