Parallelizing your programs

The z/OS® XL C/C++ compiler offers you the following method of implementing shared memory program parallelization:

Program parallelization is enabled when the SMP compiler option is in effect. The thread-safe version of system library routines should be used inside the parallel regions.

Parallel regions of program code are executed by multiple threads, possibly running on multiple processors. The number of threads created is determined by environment variables and calls to library functions. Work is distributed among available threads according to scheduling algorithms specified by the environment variables. If you are using OpenMP constructs, you can use the OpenMP environment variables to control thread scheduling.

For information about OpenMP runtime functions, see OpenMP runtime functions for parallel processing.

For detailed description of the OpenMP directives, see Pragma directives for parallel processing in z/OS XL C/C++ Language Reference.

For information about OpenMP environment variables, see Environment variables for OpenMP in z/OS XL C/C++ User's Guide.

For details about the OpenMP constructs, environment variables, and runtime routines, refer to the OpenMP Application Program Interface Specification, available at http://www.openmp.org.