Data Type

Integer

Default Value

IMMPCT, ITRPCT, ITMPCT=0, but you should set your own value in the License File.
CSAFE=90

Description

These parameters control how the work is divided between the CPU and GPU processors. The values are expressed as an integer percentage of the amount of work done by the CPUs, ranging from 0 to 100 as follows:

  • 0, Do not use the CPUs.
    Perform all work using the GPUs only.
  • 1-99, Use the CPUs for the specified percentage of work.
    The remaining work is performed by the GPUs.
  • 100, Perform all the work with the CPUs.
    The GPUs do not do any work.

The following FMS Parameters control the CPU / GPU work split during different parts of the computation.

FMS Parameters
Parameter Type of Computation
IMMPCT Matrix Multiply
ITMPCT Triangle Solve
ITRPCT Triangle Multiply
Symmetric Only

A nonzero value for a Parameter will cause the workload of the CPUs to automatically adjust so the time spent by the CPUs will be CSAFE percent less than the timne spent by the GPUs.

Since the GPUs are more powerful than the CPU's, excees work added to the CPUs may significantly degrade performance. The CSAFE Parameter provides for a safe margin so the CPU time will remain below the GPU time. Even when the CPUs are not performing computation they play an important role in transferring data from main memory to and from the GPUs. If the CPUs become oversubscribed, these transfers may be delayed, degrading overall performance. For large GPU systems the best value will usually be the default 0, since the CPUs will be busy transferring data.

The FMS Parameter GPUPR contains an option (+8) to print how the workload is adjusted during processing. This split does not account for any loss in performance due to oversubscribing the CPUs.

While FMS will eventually achieve a balanced between CPU and GPU work for your machine and problem, improved performance may be achieved by changing the default of these Parameters to a value closer to your configuration and problem. After some testing you should set the correct default values in the License File. The Matrix Warrior Parameters WEB page will offer suggestions on how these values should be set.