Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

blacs_setup

Allocates virtual machine and spawns processes.

Syntax

call blacs_setup
(
mypnum
,
nprocs
)
Input Parameters
nprocs
INTEGER
. On the process spawned from the keyboard rather than from
pvmspawn
, this parameter indicates the number of processes to create when building the virtual machine.
Output Parameters
mypnum
INTEGER
. An integer between 0 and (
nprocs
- 1) that uniquely identifies each process.
nprocs
INTEGER
. For all processes other than spawned from the keyboard, this parameter means the number of processes available for BLACS use.
Description
This routine only accomplishes meaningful work in the PVM BLACS. On all other platforms, it is functionally equivalent to
blacs_pinfo
. The BLACS assume a static system, that is, the given number of processes does not change. PVM supplies a dynamic system, allowing processes to be added to the system on the fly.
blacs_setup
is used to allocate the virtual machine and spawn off processes. It reads in a file called
blacs_setup.dat
, in which the first line must be the name of your executable. The second line is optional, but if it exists, it should be a PVM spawn flag. Legal values at this time are 0 (
PvmTaskDefault
), 4 (
PvmTaskDebug
), 8 (
PvmTaskTrace
), and 12 (
PvmTaskDebug
+
PvmTaskTrace
). The primary reason for this line is to allow the user to easily turn on and off PVM debugging. Additional lines, if any, specify what machines should be added to the current configuration before spawning
nprocs
-1 processes to the machines in a round robin fashion.
nprocs
is input on the process which has no PVM parent (that is,
mypnum
=0), and both parameters are output for all processes. So, on PVM systems, the call to
blacs_pinfo
informs you that the virtual machine has not been set up, and a call to
blacs_setup
then sets up the machine and returns the real values for
mypnum
and
nprocs
.
Note that if the file
blacs_setup.dat
does not exist, the BLACS prompt the user for the executable name, and processes are spawned to the current PVM configuration.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804