1.7.3. Messages

Message 1: Global message related to GPU usage.

When you launch Polyflow with the option –acc, the option –na N, and –th M, the environment variable ANSGPU_DEVICE and the GPU devices available on the machine are taken into account to select the devices that will be used, and a message is printed at the beginning and at the end of the listing file. For example, if the machine is equipped with 2 GPU devices (0 and 1), the environment variable ANSGPU_DEVICE=1:0, and Polyflow is launched with the option –na 1, the message is:

GPU usage
     Number of available GPUs on JDOE : 2
       Device IDs of available GPUs : 0: Tesla K20c
                                      1: Tesla C2075
     The environment variable ANSGPU_DEVICE has been set to 1:0.
     POLYFLOW has been launched in serial mode, one GPU will be used.
     With the current set up, the GPU with the following device ID
     will be used : 1: Tesla C2075

If something is inconsistent, Polyflow will attempt to continue. For example, if ANSGPU_DEVICE refers to a GPU device index that does not exist, Polyflow will continue with an existing GPU device.

Message 2: Message related to the GPU usage for an iteration.

In a long listing file, some information is printed for the GPU devices under the heading GPU device use:, as shown in the following message:

Iteration 2
  Start time for factorization   : 11:04:21
  Elapsed time for factorization : 1.435472e+000 sec.

  Factorization done !
   total nb. of equations       :       96560
   average frontal width        :         454

   Rhs[0] range                 :  7.373e+003
   pivots range                 : [5.523e-002 , 3.489e+001]
   RP Growth Factor             :  0.000e+000 / 1.000e-016

   Max number of Schur compl.   :          15
   nb. of U buffers             :          16 / in core
   nb. of L buffers             :           0 / in core
   page size for buffers        :     5000000
   Total Schur complement       :      24.594 MBytes
   Total active matrices on cpu :       1.175 MBytes
   Total active matrices on host:      20.515 MBytes
   Total active matrices on gpu :      26.267 MBytes
   Total Factorized matrix      :      70.599 MBytes (Single precision)
   Total Solver Memory          :     116.885 MBytes
   Total Solver Memory on Gpu   :      26.267 MBytes

GPU device use:
   Active matrices on CPU       :        1797
   Active matrices on GPU[ 0]   :          41
   Switch value from CPU to GPU :  Device[ 0] : 512

As for the elapsed time for factorization with or without the GPU, it should be reduced if the GPU device is used.

The factorization of the matrix is done by treating a set of small matrices, which are referred to as "active matrices". When using the GPU device, the number of active matrices treated by the CPU and by each GPU is printed. Moreover, the limiting size of the active matrix to switch from the CPU to the GPU is also printed. These number are difficult to interpret, because they are problem dependent. See the example related to the solvers for more details.

Message 3: Message about compatible GPU devices

If Polyflow is launched on a machine not equipped with a GPU device, Polyflow will continue on the CPU, but it will print the following warning message at the beginning and at the end of the listing file:

** Warning **    No Supported or Valid Devices
    POLYFLOW has been launched with the option -acc,
    however, JDOEPC3 machine is not equipped with a compatible device.
    Be sure that a supported GPU device is properly installed and configured.
    Check the driver level to be sure it is current or newer than the driver
    version supported for your particular device or launch POLYFLOW without
    the -acc option.
    Computations will continue on CPU(s) only.