OpenMP 3.1 Support Implementation In Clang Is Available

All,

This is to announce availability of a full OpenMP 3.1 support implementation in Clang compiler.

The project is hosted there: http://clang-omp.github.com/

It is based on clang 3.3 (and will be updated as new clang/llvm releases become available); also, we plan to eventually contribute everything to the clang trunk (initial patches have already been committed).

This implementation supports 3.1 version of OpenMP standard in full; it passes all OpenMP tests we tried with it so far (this includes OpenMP Validation Suite from OpenUH Research Compiler, SPEC OMP2012 and internal Intel test suites). Performance-wise, it demonstrates similar gains and scalability as other compilers with OpenMP support. (Sorry, I can’t be more specific here, as properly reporting performance results is a precise and laborious process. You are welcome to try clang compiler with OpenMP support on your own OpenMP programs, awe performance gains and share excitement with the community. :-))

The project was started by Mahesha HS (then at AMD), who created initial patch. After that, it was carried out by several Intel engineers; Alexey Bataev did most of the coding. Hal Finkel, Dmitry Gribenko and Doug Gregor contributed a lot with code reviews.

OpenMP in an evolving standard; thus, there is always something still left to be done, and your contributions (of any kind – patches, code reviews, testing, bug reports) are very much welcome!

Yours,
Andrey Bokhanko

Hello,

All,

This is to announce availability of a full OpenMP 3.1 support
implementation in Clang compiler.

The project is hosted there: http://clang-omp.github.com/

It is based on clang 3.3 (and will be updated as new clang/llvm releases
become available); also, we plan to eventually contribute everything to
the clang trunk (initial patches have already been committed).

Maintaining such patches out of the source tree might be hard.
Do you have any idea when (if?) all changes will be merged upstream ?

I am interested in having OpenMP support in Clang for the Debian/Ubuntu
builds. Unfortunately, maintaining a patch of 1.4M is pretty hard (and
probably too intrusive for the packages).

Thanks anyway, that is a great news!

Sylvestre

Hello,

> All,
>
> This is to announce availability of a full OpenMP 3.1 support
> implementation in Clang compiler.
>
> The project is hosted there: http://clang-omp.github.com/
>
> It is based on clang 3.3 (and will be updated as new clang/llvm
> releases
> become available); also, we plan to eventually contribute
> everything to
> the clang trunk (initial patches have already been committed).
Maintaining such patches out of the source tree might be hard.
Do you have any idea when (if?) all changes will be merged upstream ?

They've been trying -- reviewer bandwidth has been limited.

I am interested in having OpenMP support in Clang for the
Debian/Ubuntu
builds. Unfortunately, maintaining a patch of 1.4M is pretty hard
(and
probably too intrusive for the packages).

Thanks anyway, that is a great news!

+1

-Hal

Nice! Can you publish patches against vanilla llvm and clang?

Thanks. Roman

OK. You confirm that it is """just""" a problem of reviewing of the
modifications ?

Thanks,
Sylvestre

>> Hello,
>>
>>
>>> All,
>>>
>>> This is to announce availability of a full OpenMP 3.1 support
>>> implementation in Clang compiler.
>>>
>>> The project is hosted there: http://clang-omp.github.com/
>>>
>>> It is based on clang 3.3 (and will be updated as new clang/llvm
>>> releases
>>> become available); also, we plan to eventually contribute
>>> everything to
>>> the clang trunk (initial patches have already been committed).
>> Maintaining such patches out of the source tree might be hard.
>> Do you have any idea when (if?) all changes will be merged
>> upstream ?
>
> They've been trying -- reviewer bandwidth has been limited.
OK. You confirm that it is """just""" a problem of reviewing of the
modifications ?

I think so (you'd really need to confirm with Doug, and obviously you can look at the threads yourself) -- that has been my impression.

-Hal

OK. You confirm that it is “”“just”“” a problem of reviewing of the
modifications ?

In general, yes.

But code reviewing is there for a reason – usually Hal, Dmitry and Doug (who contribute their time for code reviews) find a lot of things to improve. So, I believe the code will change a lot before it will finally reach clang trunk.

Yours,
Andrey

To avoid duplicating work - Is anyone planning to forward port the Intel clang/llvm stuff to trunk this week or early next week? Feel free to email me off list if needed.

Roman,

Sorry, we haven’t merged the patch with current clang trunk (if that is what you mean).

But see this message (http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031608.html) from Chris Bergström – I guess this will be done soon enough.

Andrey Bokhanko