[gmx-developers] mknb doesn't work on BlueGene with --enable-ppc-sqrt in single precision

Roland Schulz roland at utk.edu
Thu Sep 3 02:03:23 CEST 2009


on an email thread started by me on March 11 subject "Bluegene Kernel" (see
below) Mathias said that the generic kernel should not be slower than the
double hummer so this problem shouldn't matter.

(Not saying that we shouldn't fix it just that is might not be important)


---------- Forwarded message ----------
From: Erik Lindahl <lindahl at cbr.su.se>
Date: Fri, Mar 13, 2009 at 8:58 AM
Subject: Re: Bluegene Kernel
To: Mathias PUETZ <mpuetz at de.ibm.com>
Cc: Roland Schulz <roland at utk.edu>, "mark.abraham" <mark.abraham at anu.edu.au>,
roland at rschulz.eu


With the new kernel structure in the head branch it will be quite fine to
have separate kernel sets for


As long as you

1) Tell me exactly what options should we use for each architecture
2) Help test that it works :-)

One question - since we now try to avoid generating kernels at build time
(lots of reasons, coding simplicity being one of them), can you say in
general whether xlf or xlc is faster?



On Mar 13, 2009, at 1:28 PM, Mathias PUETZ wrote:

 Hi Roland,
> each of the BlueGene "double hummer" kernels shouldn't be slower than the
> generic ones,
> so I think it's a more academic issue for the pair-force kernels. I had
> checked the performance
> of each kernel. I think the worst case was, that one or two double hummer
> kernels ran 5% slower
> than the generated ones.
> However, enable-ppc-sqrt=1 also affects all other SQRT calculations in the
> rest of the code,
> that has not been specifically optimized, so you might get a minor
> performance hit there,
> if you can no longer specify --enable-ppc-sqrt=1.
> I don't quite understand, why PPC5 would be required regarding the SQRT
> calculations.
> FRSQRTE instructions is available since PPC4, but only Power6 (or higher)
> and BlueGene offer enough
> bits of precision to use just a single Newton-Raphson iteration to bring it
> up to single precision.
> Viele Grüsse / Best regards,
> Dr. Mathias Pütz
> IT Specialist for Application Performance
> Deep Computing - Strategic Growth Business
> IBM Systems & Technology Group
> e-mail:  mpuetz at de.ibm.com
> mobile: + 49-(0)160-7120602
> fax:         + 49-(0)6131-84-6660
> Anschrift:
>  IBM Deutschland GmbH
>  Department B513
>  Hechtsheimer Str. 2 / Building 12
>  55131 Mainz
>  Germany
> IBM Deutschland GmbH
> Vorsitzender des Aufsichtsrats: Erich Clementi
> Geschäftsführung: Martin Jetter (Vorsitzender), Reinhard Reschke, Christoph
> Grandpierre, Matthias Hartmann, Thomas Fell, Michael Diemer
> Sitz der Gesellschaft: Stuttgart
> Registergericht: Amtsgericht Stuttgart, HRB 14562 WEEE-Reg.-Nr. DE 99369940
>            Roland Schulz
>            <roland at utk.edu>
>            Sent by:                                                   To
>            roland at rschulz.eu         "mark.abraham"
>                                      <mark.abraham at anu.edu.au>, Mathias
>                                      PUETZ/Germany/IBM at IBMDE
>            03/11/2009 10:03                                           cc
>            PM
>                                                                  Subject
>                                      Bluegene Kernel
> Hi Mark, Hi Matthias,
> I'm writing you because you have both edited the "Gromacs Bluegene"
> wiki page and both recommend to use
>              --enable-ppc-sqrt[=1] --enable-fortran --enable-bluegene
> I'm asking because the ppc-sqrt does not work on Bluegene anymore,
> because Erik changed the single/double conversion so that it requires
> PPC5. Should we add another option to the mknb to be PPC4 backward
> compatible? Or is this not necssarry because Matthias' instrinsic
> kernel is always faster?
> So my question:
> Did you compare the performance of the intrinsic kernel with the
> fortran and C kernel on Bluegene? Do you think the C/Fortran kernel
> are thus needed on Bluegene? Or should we just change the compile
> recommendation to not use -enable-ppc-sqrt so that it compiles again?
> If the C/Fortran Kernel are not used anyhow this would not make a
> difference, I think.
> Thanks
> Roland
> --
> ORNL/UT Center for Molecular Biophysics cmb.ornl.gov
> 865-241-1537, ORNL PO BOX 2008 MS6309
Erik Lindahl   <lindahl at cbr.su.se>  Backup: <erik.lindahl at gmail.com>
Associate Professor, Computational Structural Biology
Center for Biomembrane Research, Dept. Biochemistry & Biophysics
Stockholm University, SE-106 91 Stockholm, Sweden
Tel: +46(0)8164675  Mobile: +46(0)703844534  Fax: mail a PDF instead

ORNL/UT Center for Molecular Biophysics cmb.ornl.gov
865-241-1537, ORNL PO BOX 2008 MS6309

On Wed, Sep 2, 2009 at 7:24 PM, Mark Abraham <Mark.Abraham at anu.edu.au>wrote:

> Hi,
> After "./configure --enable-ppc-sqrt" on BlueGene, mknb is called with
> -ppc_sqrt. In ppc_invsqrt(), mknb_innerloop.c generates code to call to
> __frsqrtes. That might be sound on other PPC architectures, but BlueGene
> doesn't do single-precision arithmetic, so this built-in does not exist.
> To work-around, do not specify --enable-ppc-sqrt in single precision on
> BlueGene.
> To fix, we would still prefer to use the PPC inverse square root in all
> cases. We need to call a double-precision version on BlueGene, and not on
> others. That suggests mknb_innerloop.c needs to #include <config.h> (which
> is on the search path) and use #ifdef GMX_BLUEGENE.
> (If Bugzilla was working, I'd have filed this and various others of my
> reports on Bugzilla. How do we make sure these get dealt with for any 4.0.6
> release?)
> Mark
> _______________________________________________
> gmx-developers mailing list
> gmx-developers at gromacs.org
> http://lists.gromacs.org/mailman/listinfo/gmx-developers
> Please don't post (un)subscribe requests to the list. Use the www interface
> or send it to gmx-developers-request at gromacs.org.

ORNL/UT Center for Molecular Biophysics cmb.ornl.gov
865-241-1537, ORNL PO BOX 2008 MS6309
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20090902/937375e5/attachment.html>

More information about the gromacs.org_gmx-developers mailing list