[Classic Flang] OpenMP Compilers and Tools web page

Every year, the OpenMP Language Committee solicits updates for the OpenMP Compilers and Tools web page.

You can see the entry for Classic Flang here:

https://docs.google.com/document/d/1y-DVSSp4UB-rJ0oQdMNLThCoqRoxG-XMY0DlTu6o7zk/edit?usp=sharing

I don’t recall any changes this year that would affect the status of OpenMP in Classic Flang. I suppose the vendors of Classic Flang will produce their own entry, so in a sense, the entry for Classic Flang is redundant.

I propose we leave the text as is; however, we can consider editing the text or removing the entry altogether. Please reply with your ideas.

Thanks,

  • Steve

Here is the current text:

Fortran for LLVM. Substantially full OpenMP 4.5 on Linux/x86-64, Linux/ARM, Linux/OpenPOWER, limited target offload support on NVIDIA GPUs.

By default, TARGET regions are mapped to the multicore host CPU as the target with DO and DISTRIBUTE loops parallelized across all OpenMP threads.

Known limitations: SIMD and DECLARE SIMD have no effect on SIMD code generation; TASK DEPEND/PRIORITY, TASKLOOP FIRSTPRIVATE/LASTPRIVATE, DECLARE REDUCTION and the LINEAR/SCHEDULE/ORDERED(N) clauses on the DO construct are not supported.

The limited support for target offload to NVIDIA GPUs includes basic support for offload of !$omp target combined constructs.

Compile with -mp to enable OpenMP for multicore CPUs on all platforms.

Compile with -fopenmp -fopenmp-targets=nvptx64-nvidia-cuda to enable target offload to NVIDIA GPUs.

Hi Steve,

We have a patch currently being reviewed which adds support for the basic !$omp simd directive. The plan is to merge this soon (before next Wednesday) if there are no major concerns. This can affect the limitations section which mentions no support for the simd directive.

https://github.com/flang-compiler/flang/pull/660

Thanks,
Kiran

Thank you Kiran. I have updated the text like this:

SIMD works by passing vectorisation metadata to LLVM. Known limitations: DECLARE SIMD has no effect on SIMD code generation; …