[Llvm-bgq-discuss] New bgclang nighty builds (and other updates)

Mark Abraham mark.j.abraham at gmail.com
Mon May 11 15:41:53 CDT 2015


Hi,

Indeed that bgclang does produce a -O3 Release build that passes our SIMD
unit tests in single and double. Thanks very much!

(Though softenv on vesta does not yet point at it)

Mark

On Mon, May 11, 2015 at 8:19 PM Mark Abraham <mark.j.abraham at gmail.com>
wrote:

> Hi Hal,
>
> That's great, I have some builds running on vesta.
>
> Erik, that version probably won't make it to JUQUEEN until they do their
> next update. I'll ask them to do so once I've got it working on vesta.
>
> Mark
>
> On Mon, May 11, 2015 at 6:30 PM Hal Finkel <hfinkel at anl.gov> wrote:
>
>> Hi Erik,
>>
>> This has now been fixed upstream, and the r236977-20150511 nightly build
>> contains the fix. Thanks again for sending the reduced test case.
>>
>>  -Hal
>>
>> ----- Original Message -----
>> > From: "Erik Lindahl" <erik.lindahl at gmail.com>
>> > To: "Hal Finkel" <hfinkel at anl.gov>
>> > Cc: llvm-bgq-discuss at lists.alcf.anl.gov, "Mark Abraham" <
>> mark.j.abraham at gmail.com>
>> > Sent: Sunday, May 10, 2015 10:41:26 AM
>> > Subject: Re: [Llvm-bgq-discuss] New bgclang nighty builds (and other
>> updates)
>> >
>> >
>> > Oops, hit the “send” instead of “attach” button by mistake. Here we
>> > go.
>> >
>> >
>> > The output with xlc at all optimization levels, and clang at -O0 is
>> > "v: 1 2 3 4”.
>> >
>> >
>> > With clang and -O3 I get “v: 0.0078125 32 0 0”
>> >
>> >
>> > Cheers,
>> >
>> >
>> > E.
>> >
>> >
>> >
>> > From: Erik Lindahl <erik.lindahl at gmail.com>
>> > Reply: Erik Lindahl <erik.lindahl at gmail.com>>
>> > Date: 10 May 2015 at 17:40:02
>> > To: Hal Finkel <hfinkel at anl.gov>>
>> > Cc: Mark Abraham <mark.j.abraham at gmail.com>> ,
>> > llvm-bgq-discuss at lists.alcf.anl.gov
>> > <llvm-bgq-discuss at lists.alcf.anl.gov>>
>> > Subject: Re: [Llvm-bgq-discuss] New bgclang nighty builds (and other
>> > updates)
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > Hi Hal,
>> >
>> >
>> > See attachment!
>> >
>> >
>> >
>> >
>> >
>> > From: Hal Finkel <hfinkel at anl.gov>
>> > Reply: Hal Finkel <hfinkel at anl.gov>>
>> > Date: 10 May 2015 at 17:22:52
>> > To: Erik Lindahl <erik.lindahl at gmail.com>>
>> > Cc: llvm-bgq-discuss at lists.alcf.anl.gov
>> > <llvm-bgq-discuss at lists.alcf.anl.gov>> , Mark Abraham
>> > <mark.j.abraham at gmail.com>>
>> > Subject: Re: [Llvm-bgq-discuss] New bgclang nighty builds (and other
>> > updates)
>> >
>> >
>> >
>> >
>> >
>> > Hi Erik,
>> >
>> > If you could send this trivial piece of code, that would be greatly
>> > appreciated.
>> >
>> > Thanks again,
>> > Hal
>> >
>> > ----- Original Message -----
>> > > From: "Erik Lindahl" <erik.lindahl at gmail.com>
>> > > To: "Hal Finkel" <hfinkel at anl.gov>, "Mark Abraham"
>> > > <mark.j.abraham at gmail.com>
>> > > Cc: llvm-bgq-discuss at lists.alcf.anl.gov
>> > > Sent: Sunday, May 10, 2015 9:25:34 AM
>> > > Subject: Re: [Llvm-bgq-discuss] New bgclang nighty builds (and
>> > > other updates)
>> > >
>> > >
>> > > Hi,
>> > >
>> > >
>> > > Super-brief summary:
>> > >
>> > >
>> > > The bug occurs at high optimization (-O3) with the vec_ld() or
>> > > vec_st() functions when calling the (overloaded) version with
>> > > single-precision arguments (i.e., float pointers).
>> > >
>> > >
>> > > This is reproducible even with a trivial piece of code that tries
>> > > to
>> > > load from single precision memory and then write out the contents
>> > > of
>> > > the (double precision) vector4doubles by storing to a double
>> > > variable.
>> > >
>> > >
>> > > - Everything works fine with the double-precision functions,
>> > > regardless of optimization
>> > > - It works fine with clang in single precision without optimization
>> > > - It works fine with xlc.
>> > >
>> > >
>> > > Cheers,
>> > >
>> > >
>> > > Erik
>> > >
>> > >
>> > >
>> > >
>> > > From: Mark Abraham <mark.j.abraham at gmail.com>
>> > > Reply: Mark Abraham <mark.j.abraham at gmail.com>>
>> > > Date: 10 May 2015 at 16:04:51
>> > > To: Hal Finkel <hfinkel at anl.gov>>
>> > > Cc: llvm-bgq-discuss at lists.alcf.anl.gov
>> > > <llvm-bgq-discuss at lists.alcf.anl.gov>> , Erik Lindahl
>> > > <erik.lindahl at gmail.com>>
>> > > Subject: Re: [Llvm-bgq-discuss] New bgclang nighty builds (and
>> > > other
>> > > updates)
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > Hi,
>> > >
>> > > Bump. Erik Lindahl has also observed this on bgclang on JUQUEEN. Is
>> > > it helpful if I produce a small piece of code that reproduces some
>> > > of the issues on bgclang 3.6?
>> > >
>> > >
>> > >
>> > > Mark
>> > >
>> > > On Wed, Mar 25, 2015 at 4:16 PM Mark Abraham <
>> > > mark.j.abraham at gmail.com > wrote:
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > On Tue, Mar 24, 2015 at 7:29 PM, Hal Finkel < hfinkel at anl.gov >
>> > > wrote:
>> > >
>> > >
>> > > ----- Original Message -----
>> > > > From: "Mark Abraham" < mark.j.abraham at gmail.com >
>> > > > To: "Hal Finkel" < hfinkel at anl.gov >
>> > > > Cc: llvm-bgq-discuss at lists.alcf.anl.gov
>> > > > Sent: Tuesday, March 24, 2015 12:35:20 PM
>> > > > Subject: Re: [Llvm-bgq-discuss] New bgclang nighty builds (and
>> > > > other updates)
>> > > >
>> > > >
>> > > > Hi Hal,
>> > > >
>> > > >
>> > > > Thanks very much for the update & effort.
>> > > >
>> > >
>> > > You're very welcome.
>> > >
>> > > >
>> > > > I tried out the default bgclang 3.6.0 on vesta, but found a bunch
>> > > > of
>> > > > the GROMACS SIMD-layer unit tests failing. These need correct QPX
>> > > > vector intrinsics available. From memory, things worked fine with
>> > > > bgclang in ~August last year, but I no longer have those results.
>> > > > Is
>> > > > there a simple way I can compile on vesta with older bgclang to
>> > > > see
>> > > > where a problem might lie? Otherwise / depending what I learn,
>> > > > I'll
>> > > > break out a debugger.
>> > >
>> > > The old builds are still all installed. Just use the MPI wrappers
>> > > from:
>> > >
>> > > /home/projects/llvm/<whatever>/mpi/bgclang/bin -- I don't know
>> > > exactly which build you were using in August of last year,
>> > > r209570-20140527 maybe?
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > Yes, that was it, looking at some cruft in my former build script.
>> > > In
>> > > any case, the latest GROMACS SIMD single-precision unit tests pass
>> > > on that old compiler version (3.5.0), and many of them fail in a
>> > > release build on the default 3.6.0 bgclang on vesta. For some of
>> > > the
>> > > cases, it looks like some junk memory gets loaded, somehow. A few
>> > > tests pass, but no theme for passing or failing tests leaps out at
>> > > me. Double precision unit tests are OK, though.
>> > >
>> > >
>> > > Naturally, in debug mode most of the tests pass. However, the two I
>> > > looked at in ddt were fine up until they called vec_extract(x, 0)
>> > > e.g. on lines
>> > >
>> https://github.com/gromacs/gromacs/blob/master/src/gromacs/simd/impl_ibm_qpx/impl_ibm_qpx.h#L315
>> > > (where a SIMD vector of 1 2 3 1 was summed to 3, rather than 7) and
>> > >
>> https://github.com/gromacs/gromacs/blob/master/src/gromacs/simd/impl_ibm_qpx/impl_ibm_qpx.h#L462
>> > > (where a SIMD vector dot product of the first 3 lanes returns a
>> > > garbage answer). So maybe that is a productive lead?
>> > >
>> > >
>> > > I couldn't inspect the disassembly in ddt, so I'm not sure where we
>> > > can take this from here, Hal. Tarball of test results attached.
>> > >
>> > >
>> > > Thanks,
>> > >
>> > >
>> > > Mark
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > -Hal
>> > >
>> > >
>> > >
>> > > >
>> > > >
>> > > > Thanks,
>> > > >
>> > > >
>> > > > Mark
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > On Fri, Mar 20, 2015 at 12:15 AM, Hal Finkel < hfinkel at anl.gov >
>> > > > wrote:
>> > > >
>> > > >
>> > > > Hello everyone,
>> > > >
>> > > > First, let me apologize to everyone, this is a few months late...
>> > > > but, hopefully, this will never be a problem again...
>> > > >
>> > > > I now have a system setup which automatically pulls in upstream
>> > > > changes and tries to merge those with the bgclang-specific
>> > > > patches,
>> > > > and then builds the resulting suite of bgclang RPMs. When this
>> > > > succeeds, the RPMs should be posted automatically to:
>> > > >
>> > > > http://www.mcs.anl.gov/~hfinkel/bgclang/
>> > > > (note that installing a build from here now also requires both
>> > > > the
>> > > > 'stage1' and 'stage2' RPMs as well)
>> > > >
>> > > > The first such nightly build, r232720-20150319, has been posted
>> > > > to
>> > > > that page.
>> > > >
>> > > > And, for the curious, the local repositories used for version
>> > > > control
>> > > > are now mirrored to github:
>> > > >
>> > > > https://github.com/hfinkel/clang-bgq
>> > > > https://github.com/hfinkel/llvm-bgq
>> > > > https://github.com/hfinkel/bgclang-aux
>> > > > https://github.com/hfinkel/compiler-rt-bgq
>> > > > https://github.com/hfinkel/libcxx-bgq
>> > > > https://github.com/hfinkel/openmp-bgq
>> > > > https://github.com/hfinkel/sleef-bgq
>> > > >
>> > > > Compared to the latest "released" version (r220548-20141024), the
>> > > > most-recent nightly build does show some performance regressions,
>> > > > and there are a few things I've not even tested yet (LTO, ASan,
>> > > > etc.), but it also contains a number of bug fixes and
>> > > > improvements,
>> > > > so feel free to test on your applications.
>> > > >
>> > > > One particular noteworthy improvement is that our OpenMP runtime
>> > > > library now has affinity support enabled. This means that all of
>> > > > the
>> > > > OpenMP 4 affinity features should work, and also that the default
>> > > > thread<->core bindings are now sensible.
>> > > >
>> > > > The bgclang wrapper script no longer disables 'fast-isel'
>> > > > instruction
>> > > > selection at -O0, so your debug builds should now be faster too.
>> > > > Also, the automated vectorization of math functions using our
>> > > > SLEEF
>> > > > library adaptation is controlled using the new -fveclib flag (so
>> > > > the
>> > > > wrapper script contains -fveclib=SLEEF, and you can add
>> > > > -fveclib=none to turn it off if desired for whatever reason).
>> > > >
>> > > > Also, the core QPX support has been contributed upstream
>> > > > (although
>> > > > not yet the Clang-level intrinsics support); so if you're using
>> > > > LLVM
>> > > > as a library, and want to just build from upstream sources
>> > > > instead
>> > > > of depending on the bgclang builds, that is now possible.
>> > > >
>> > > > Thanks again everyone, and please let me know if you experience
>> > > > any
>> > > > difficulties,
>> > > > Hal
>> > > >
>> > > > --
>> > > > Hal Finkel
>> > > > Assistant Computational Scientist
>> > > > Leadership Computing Facility
>> > > > Argonne National Laboratory
>> > > > _______________________________________________
>> > > > llvm-bgq-discuss mailing list
>> > > > llvm-bgq-discuss at lists.alcf.anl.gov
>> > > > https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss
>> > > >
>> > > >
>> > >
>> > > --
>> > > Hal Finkel
>> > > Assistant Computational Scientist
>> > > Leadership Computing Facility
>> > > Argonne National Laboratory
>> > >
>> > >
>> > > --
>> > > Erik Lindahl < erik.lindahl at gmail.com >
>> > > Professor of Biophysics, Dept. Biochemistry & Biophysics, Stockholm
>> > > University
>> > > Professor of Theoretical biophysics, Dept. Theoretical Physics,
>> > > Royal
>> > > Inst. Technology
>> > > Science for Life Laboratory, Box 1031, 17121 Solna, Sweden
>> >
>> > --
>> > Hal Finkel
>> > Assistant Computational Scientist
>> > Leadership Computing Facility
>> > Argonne National Laboratory
>> >
>> >
>> > --
>> > Erik Lindahl < erik.lindahl at gmail.com >
>> > Professor of Biophysics, Dept. Biochemistry & Biophysics, Stockholm
>> > University
>> > Professor of Theoretical biophysics, Dept. Theoretical Physics, Royal
>> > Inst. Technology
>> > Science for Life Laboratory, Box 1031, 17121 Solna, Sweden
>> >
>> > --
>> > Erik Lindahl < erik.lindahl at gmail.com >
>> > Professor of Biophysics, Dept. Biochemistry & Biophysics, Stockholm
>> > University
>> > Professor of Theoretical biophysics, Dept. Theoretical Physics, Royal
>> > Inst. Technology
>> > Science for Life Laboratory, Box 1031, 17121 Solna, Sweden
>>
>> --
>> Hal Finkel
>> Assistant Computational Scientist
>> Leadership Computing Facility
>> Argonne National Laboratory
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alcf.anl.gov/pipermail/llvm-bgq-discuss/attachments/20150511/99918bdf/attachment-0001.html>


More information about the llvm-bgq-discuss mailing list