HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note

HP MLIB for PA-RISC and Itanium HP-UX Version 9.5.6 Release Note
Compatibility Information
30
For example, the following Fortran code makes parallel calls to subprogram DAXPY:
C$OMP PARALLEL DO
DO 10 J=1, N
CALL DAXPY (N-I,A(I,J),A(I+1,I),1,A(I+1,J),1)
10 CONTINUE
C$OMP END PARALLEL DO
While optimizing a parallel program, you may want to make parallel calls to an MLIB
subprogram to execute independent operations where the call statements are not in a loop.
You can use the OpenMP compiler directives SECTIONS, SECTION, and END SECTIONS to tell
the compiler to parallelize such code.
To enable MLIB SMP parallelism, link as follows:
% f90 +O3 +Oparallel
[options] file
...[-lveclib|-llapack|-lsolvers]
% cc +O3 +Oopenmp
[options] file
...[-lveclib|-llapack|-lsolvers] -lcl -lm
% aCC +Oparallel
[options] file ...
[-lveclib|-llapack|-lsolvers] -lcl -lm
User Resource Limits
Users may encounter failures caused by resource limits. This failure is typically a
segmentation violation caused by exceeding the resource limit for stack size. This arises when
large arrays are placed on the stack; for example by C language automatic storage class
variables (e.g. variables declared within a block).
HP MLIB may use up to 8 MB of stack space in addition to the application’s requirements.
You may want to reset your stacksize.
The resource limits can be changed by means of the ulimit command for Bourne-like shells or
the limit command for C-like shells. For example:
% ulimit -s unlimited
or
% limit stacksize unlimited