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

Erik Schnetter schnetter at gmail.com
Mon Sep 16 08:20:43 CDT 2013


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?

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?

-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/.



More information about the llvm-bgq-discuss mailing list