OpenMP support

IBM® XL Fortran for Linux, V15.1.3 fully supports the OpenMP Application Program Interface Version 3.1 specification and partially supports the OpenMP Application Program Interface Version 4.0 and 4.5 specifications. The XL Fortran implementation is based on IBM's interpretation of the OpenMP Application Program Interface Version 3.1, 4.0, and 4.5.

In addition to existing OpenMP routines, this version of XL Fortran now supports the following OpenMP 4.5 routines:
  • omp_get_num_places()
  • omp_get_partition_num_places()
  • omp_get_partition_place_nums(place_nums)
  • omp_get_place_num_procs(place_num)
  • omp_get_place_proc_ids(place_num, ids)
  • omp_get_place_num()
This version of XL Fortran now supports the following OpenMP 4.0 features:
  • The omp_get_proc_bind() routine
  • The OMP_PLACES environment variable
The following environment variables are extended to control the thread affinity policy:
  • OMP_DYNAMIC
  • OMP_DISPLAY_ENV
  • OMP_PROC_BIND
  • OMP_THREAD_LIMIT
The following directives are changed:
ATOMIC
The ATOMIC directive is extended to support sequentially atomic operations by specifying a new optional clause seq_cst. This clause forces atomically performed operations to include an implicit flush operation without a list.
PARALLEL, PARALLEL DO, PARALLEL SECTIONS, PARALLEL WORKSHARE
These directives are extended to support a new clause proc_bind. This clause specifies a policy for assigning threads to places within the current place partition.


Voice your opinion on getting help information Ask IBM compiler experts a technical question in the IBM XL compilers forum Reach out to us