[Llvm-bgq-discuss] bgclang r190771-20130914 on vesta/mira (with OpenMP)

Hal Finkel hfinkel at anl.gov
Fri Jan 17 12:57:35 CST 2014


----- Original Message -----
> From: "Hal Finkel" <hfinkel at anl.gov>
> To: "Erik Schnetter" <schnetter at gmail.com>
> Cc: llvm-bgq-discuss at lists.alcf.anl.gov
> Sent: Monday, September 16, 2013 8:29:09 AM
> Subject: Re: [Llvm-bgq-discuss] bgclang r190771-20130914 on vesta/mira (with OpenMP)
> 
> ----- Original Message -----
> > On 2013-09-15, at 23:09 , Hal Finkel <hfinkel at anl.gov> wrote:
> > 
> > > Hello everyone,
> > > 
> > > I've updated our bgclang install on vesta and mira to
> > > r190771-20130914. Several important new features are included in
> > > this build:
> > > 
> > > 1. OpenMP support (version 3.1, with a few version 4 features).
> > > This is the product of a new (and ongoing) partnership between
> > > ALCF and Pathscale, making use of the OpenMP implementation for
> > > Clang (and runtime library) generously made available by Intel.
> > > Only minimal tuning of the runtime library for the BG/Q has been
> > > done at this time, and so you may see scaling issues above 1
> > > thread per core. Use -fopenmp when both compiling and linking.
> > > 
> > > 2. Math function autovectorization (making use of the bundled
> > > SLEEF
> > > library). The following functions can currently be autovectorized
> > > in loops: acos, acosh, asin, asinh, atan, atan2, atanh, cbrt,
> > > cos,
> > > cosh, exp, exp10, exp2, expm1, log, log10, log1p, pow, sin, sinh,
> > > tan, tanh, along with the single-precision versions. Also sqrt
> > > (and division), but only with -ffast-math. For sin, cos, tan,
> > > asin, acos, atan, atan2, log faster (but slightly less accurate)
> > > variants are used with -ffast-math. -fmath-no-errno is now the
> > > default setting.
> > 
> > 
> > Hal
> > 
> > Which version of SLEEF are you using for this (2.80?) Are you using
> > it in its source form, or did you have to modify it? Or is it
> > included converted to .ll files?
> 
> It is based on 2.80, but with a relatively large patch (among other
> things, SLEEF has some implementation assumptions about how vector
> comparisons are implemented which are not true with QPX, so almost
> all of the function implementations have modifications).
> 
> > 
> > SLEEF seems to contain some code duplication (e.g. double vs. float
> > versions), and some minor inconsistencies between these. I also
> > notice that e.g. exp() is quite efficient, whereas exp2() -- which
> > should be simpler to implement -- is much less efficient. Would it
> > be worthwhile to fork SLEEF e.g. on Bitbucket, so that there is a
> > common improved version?
> 
> The patchset is on the trac page (in the SRPMs now). I'll also upload
> the forked version to my github page so we can track it there as
> well.

I finally remembered to do this: https://github.com/hfinkel/sleef-bgq

 -Hal

> 
> Thanks again,
> Hal
> 
> > 
> > -erik
> > 
> > --
> > Erik Schnetter <schnetter at gmail.com>
> > http://www.perimeterinstitute.ca/personal/eschnetter/
> > 
> > My email is as private as my paper mail. I therefore support
> > encrypting
> > and signing email messages. Get my PGP key from
> > http://pgp.mit.edu/.
> > 
> > 
> 
> --
> 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


More information about the llvm-bgq-discuss mailing list