[LLVMdev] [Openmp-dev] Future of the LLVM OpenMP runtime

John Leidel (jleidel)
2014-02-26T12:53:43Z

James, I believe the UofHouston folks would be quite pleased that this project
would utilize their test suite.  Having used it for previous projects, I can say
that its quite thorough once you get your arms wrapped around the
infrastructure.  We'll likely need to do a bit of work in order to get tests
running for OpenMP 4.0 additions.

If anyone is interested, Sunita Chandrasekaran presented a paper at IWOMP'12
describing the infrastructure.

http://dl.acm.org/citation.cfm?id=2345831

cheers
john


On Feb 26, 2014, at 4:29 AM, "Cownie, James H" <james.h.cownie at
intel.com> wrote:

>> Now that we've kick-started the LLVM OpenMP runtime discussion, I
want to make a concrete proposal
>> to get a test suite up and running for the LLVM OpenMP runtime. I
don't think the current setup
>> as an LLVM subproject is sustainable going forward without some form of
testing support, automated
>> or otherwise.
>
>> The motivation: It's difficult to make changes to the source
without some way to see if a commit breaks
>> features or indeed works at all. This has a chilling effect on
contributions -- without means to test
>> changes the only verification strategy is visual inspection and finger
crossing which isn't really
>> a viable way to develop platform libraries.
>
> I agree with all of that!
>
>> My understanding is that the proprietary OpenMP runtime test suite at
Intel contains customer code so
>> there's little prospect of getting released for use within LLVM. So
we can rule that out.
>
> Correct. It *may* contain code snippets from customers for regression
testing, and we have lawyers, so
> even "may" is enough to seriously worry them. Attempting to audit
it would be such a big job that
> starting from somewhere else is likely to be more productive.
>
>> As such I'd like to propose that we set aside a few days, perhaps
with developers from Nuanti
>> and Intel and anyone else who wants to lend a hand, to adapt a branch
of the libgomp test suite to be
>> hosted externally, that can be used to regression test the LLVM OpenMP
runtime.
>> This shouldn't be much work given that the libraries are
ABI/API-compatible and will at least
>> show a way forward.
>
> Another potential solution would be to take the validation suite from the
OpenUH compiler
> http://web.cs.uh.edu/~openuh/download/ (which is BSD licensed), and start
to build a more
> comprehensive set of tests from that. Since it is BSD I believe we could
take it without asking,
> however I'd like to get an ACK from the authors before doing that.
>
> The other issues to consider here are
> 1) Which compiler is used to compile the tests?.
>   Without the OpenMP support in clang we still don't have our own
compiler that can do that, so
>   we'd presumably have to use gcc.
> 2) If we build the runtime with clang and run tests built with gcc we need
to be aware that there will be
>   a potential incompatibility, since gcc supports a 128 bit float, and
clang/llvm don't. Therefore
>   it is impossible to compile the support for 128 bit reductions (which
exists in the runtime source)
>   using clang. (Though gcc may not be calling the runtime to do reductions
anyway, in which case the issue
>   is a more general one of test coverage).
>
>
> -- Jim
>
> James Cownie <james.h.cownie at intel.com>
> SSG/DPD/TCAR (Technical Computing, Analyzers and Runtimes)
> Tel: +44 117 9071438
>
>
> -----Original Message-----
> From: Alp Toker [mailto:alp at nuanti.com]
> Sent: Tuesday, February 25, 2014 11:14 PM
> To: openmp-dev at dcs-maillist2.engr.illinois.edu
> Cc: llvmdev at cs.uiuc.edu; clang-dev Developers; Cownie, James H; Hal
Finkel; Dmitri Gribenko
> Subject: Future of the LLVM OpenMP runtime
>
> Now that we've kick-started the LLVM OpenMP runtime discussion, I want
to make a concrete proposal to get a test suite up and running for the LLVM
OpenMP runtime. I don't think the current setup as an LLVM subproject is
sustainable going forward without some form of testing support, automated or
otherwise.
>
> The motivation: It's difficult to make changes to the source without
some way to see if a commit breaks features or indeed works at all. This has a
chilling effect on contributions -- without means to test changes the only
verification strategy is visual inspection and finger crossing which isn't
really a viable way to develop platform libraries.
>
> My understanding is that the proprietary OpenMP runtime test suite at Intel
contains customer code so there's little prospect of getting released for
use within LLVM. So we can rule that out.
>
> As for the prospect of growing a test suite organically, there's a very
low level of activity in LLVM OpenMP SVN characterised by occasional Intel code
drops by Jim and my own work to get ToT tree building and running, with the
previous commit being in December. So it's clear that a test suite, even a
small one, isn't going to just "show up" through casual effort.
>
> As such I'd like to propose that we set aside a few days, perhaps with
developers from Nuanti and Intel and anyone else who wants to lend a hand, to
adapt a branch of the libgomp test suite to be hosted externally, that can be
used to regression test the LLVM OpenMP runtime.
> This shouldn't be much work given that the libraries are
ABI/API-compatible and will at least show a way forward.
>
> From a licensing point of view it'll be similar to the way we point
clang users to external gcc documentation, or the way dragonegg plugs into
external gcc builds -- the runtime sources themselves are unaffected other than
a workflow change. I don't see alternatives but I'll open the floor to
other suggestions keeping in mind that without tests the project is starting to
look dead in the water.
>
> (This mail touches on the OpenMP runtime that affects LLVM and clang so
I'm copying in those lists.)
>
> Alp.
>
> --
> http://www.nuanti.com
> the browser experts
>
> ---------------------------------------------------------------------
> Intel Corporation (UK) Limited
> Registered No. 1134945 (England)
> Registered Office: Pipers Way, Swindon SN3 1RJ
> VAT No: 860 2173 47
>
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
>
>
> _______________________________________________
> Openmp-dev mailing list
> Openmp-dev at dcs-maillist2.engr.illinois.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/openmp-dev