LLVM Clang Is Moving Closer To Full OpenMP 4.5 Support
While it took LLVM's Clang C/C++ compiler initially a long time to supporting OpenMP, the code continues to mature in supporting the latest updates to this parallel programming specification.
As it stands now Clang has full support for OpenMP 3.1 and only partial support for OpenMP 4.5, but they continue moving closer to supporting OMP 4.5 on CPUs and eventually to NVIDIA GPUs with their CUDA back-end.
As a quick refresher, OpenMP 4.5 was released in late 2015 as an update to OpenMP 4.0 that debuted a year earlier. OpenMP 4.x has been working on better support for accelerators, atomics, SIMD support, and much more.
Now being added to the Clang documentation is a page monitoring the status of OpenMP 4.5 support. As it stands now, Clang SVN/Git supports most of the OpenMP 4.5 standalone directives except for #pragma omp target, #pragma omp declare simd, and #pragma omp declare target. On the combined directive front they are missing a few directives as well until landing support for the depend clauses.
With LLVM Clang 6.0 already having been branched, we won't find full OpenMP 4.5 support for that compiler update due out next month but we can hope it will be readied for the LLVM Clang 7.0 release due out in Q3'2018. OpenMP 5.0 meanwhile should be firmed up for its official debut this calendar year.
As it stands now Clang has full support for OpenMP 3.1 and only partial support for OpenMP 4.5, but they continue moving closer to supporting OMP 4.5 on CPUs and eventually to NVIDIA GPUs with their CUDA back-end.
As a quick refresher, OpenMP 4.5 was released in late 2015 as an update to OpenMP 4.0 that debuted a year earlier. OpenMP 4.x has been working on better support for accelerators, atomics, SIMD support, and much more.
Now being added to the Clang documentation is a page monitoring the status of OpenMP 4.5 support. As it stands now, Clang SVN/Git supports most of the OpenMP 4.5 standalone directives except for #pragma omp target, #pragma omp declare simd, and #pragma omp declare target. On the combined directive front they are missing a few directives as well until landing support for the depend clauses.
With LLVM Clang 6.0 already having been branched, we won't find full OpenMP 4.5 support for that compiler update due out next month but we can hope it will be readied for the LLVM Clang 7.0 release due out in Q3'2018. OpenMP 5.0 meanwhile should be firmed up for its official debut this calendar year.
3 Comments