HP MLIB for Itanium Linux Version 9.6.1 Release Note

HP MLIB for Itanium Linux Version 9.6.1 Release Note
Compatibility Information
HP MLIB for Itanium Linux Version 9.6.1 Release Note 23
The following command lines show the C-like shell syntax and Bourne-like shell syntax to
use when setting the variable to two processors:
For C-like shells:
% setenv MLIB_NUMBER_OF_THREADS 2
For Bourne-like shells:
% export MLIB_NUMBER_OF_THREADS=2
MLIB_NUMBER_OF_THREADS is examined on the first call to a parallelized VECLIB
subprogram to establish the default parallel action within VECLIB.
Use the subroutine MLIB_SETNUMTHREADS to override the environment variable
MLIB_NUMBER_OF_THREADS. Refer to the mlib_setnumthreads(3m) man page for usage
information.
2. Use the subroutine MLIB_SETNUMTHREADS.
You can call this subroutine at any time to set the maximum number of parallel threads
used in subsequent VECLIB or LAPACK calls. The specified value overrides the absence
of the MLIB_NUMBER_OF_THREADS environment variable or any value assigned to it. Refer
to the mlib_setnumthreads(3m) man page for usage information.
To modify the effect of MLIB_NUMBER_OF_THREADS and MLIB_SETNUMTHREADS, you can also
use MP_NUMBER_OF_THREADS at runtime. When MP_NUMBER_OF_THREADS is set to a value
smaller than MLIB_NUMBER_OF_THREADS and MLIB_SETNUMTHREADS, the value of
MP_NUMBER_OF_THREADS takes precedence and limits the amount of parallelism to
MP_NUMBER_OF_THREADS.
These controls set the maximum amount of SMP parallelism that your program can use, and
the VECLIB-specific mechanisms offer finer control within that maximum. Refer to
Performance Benefits below for more information.
Performance Benefits
If MLIB parallelism is enabled, each parallelized MLIB subprogram determines at runtime if
multiple processors are available. If multiple processors are available, MLIB detects whether
the program is already using multiple threads, and uses this information to automatically
choose between a single- or parallel-processor algorithm.
If you are using an HP server with multiple processors, you can realize the performance
benefits of parallel processing in three ways:
1. Call any parallelized MLIB subprogram. Let it use parallelism internally (if it determines
that it is appropriate to do so) based on such factors as problem size, system configuration,
and user environment.