Opteron speed

Kevin Ryde user42 at zip.com.au
Sat Nov 15 09:12:07 CET 2003

gmp-list at daedalus-solutions.co.uk (John Edward Scott) writes:
> I did some profiling of my app

You can --enable-profiling=gprof on the gmp build to find where the
time goes within gmp.

>  20.53     20.19    20.19 341823446     0.00     0.00  mpfr_mul

A high-half multiply might help there, we haven't got around to doing
that yet.

>  19.78     39.64    19.45 550784802     0.00     0.00  mpfr_round_raw_generic

That's a disturbingly large fraction, I suppose it's the block copies
within that routine.

>  10.85     50.31    10.67 120318096     0.00     0.00  mpfr_sub1

Bit hairy that function.  Maybe it can sometimes get away with one
shift instead of 2, or perhaps that ends up happening already.

> So, given that my app has a runtime of *months*...any Opteron
> optimisation in mpfr_mul or mpfr_round_raw_generic would *greatly*
> help.

The mpfr list is the place for mpfr development.  Here or gmp-devel
for the underlying gmp routines.

> I know a *little* of Assembler, but I really don't want to re-invent
> the wheel if some work is currently going on in this area.

Torbjorn has been working on some of the primitives.

More information about the gmp-discuss mailing list