qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 00/22] re-factor softfloat and add fp16 funct


From: Emilio G. Cota
Subject: Re: [Qemu-devel] [PATCH v3 00/22] re-factor softfloat and add fp16 functions
Date: Sun, 28 Jan 2018 15:41:51 -0500
User-agent: Mutt/1.5.24 (2015-08-30)

On Thu, Jan 25, 2018 at 12:59:56 +0000, Alex Bennée wrote:
> Howard Spoelstra <address@hidden> writes:
(snip)
> > Recent tcg optimisations had improved processor and floating point
> > performance considerably, but that gain seems to be more than lost for
> > the floating point performance.
> >
> > Any idea what is causing this?
> 
> Well we expected a little degradation but it's a bit more than I
> expected.

It's pretty bad (almost a 2X mean slowdown) for the three FP workloads
in dbt-bench:

[FWIW before is 52483b067cce, after is 00fc0c00ca9fa26]

                        NBench score; higher is better                         
                Host: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz                 
                                                                               
  6 +-+-----------+-------------+--------------+-------------+-----------+-+   
    |                       *****                                          |   
    |                       *   *                 softfloat-before         |   
  5 +-+.....................*...*.........******...softfloat-after.......+-+   
    |                       *   *         *    *        ******             |   
    |                       *   *         *    *        *    *             |   
  4 +-+.....................*...*.........*....*........*....*...........+-+   
    |                       *   *         *    *        *    *             |   
  3 +-+......******.........*...*.........*....*........*....*...........+-+   
    |        *    *         *   *#####    *    *####    *    *             |   
    |        *    *         *   *    #    *    *   #    *    *#####        |   
  2 +-+......*....*.........*...*....#....*....*...#....*....*....#......+-+   
    |        *    *         *   *    #    *    *   #    *    *    #        |   
    |        *    *#####    *   *    #    *    *   #    *    *    #        |   
  1 +-+......*....*....#....*...*....#....*....*...#....*....*....#......+-+   
    |        *    *    #    *   *    #    *    *   #    *    *    #        |   
    |        *    *    #    *   *    #    *    *   #    *    *    #        |   
  0 +-+------******#####----*****#####----******####----******#####------+-+   
               FOURIER     NEURAL NET  LU DECOMPOSITION    gmean               


You can obtain the above on your machine (assuming /tmp/softfloat-$branch
corresponds to the before/after x86_64-linux-user binaries) with:

$ time for branch in before after; do cd $DBT_BENCH/nbench && \
        taskset -c 0 /tmp/softfloat-$branch \
        $DBT_BENCH/nbench/nbench -V -C$DBT_BENCH/nbench/FP.DAT \
        | tee $DBT_BENCH/softfloat-$branch.nbench || break && cd -; \
        done

And then plot the results with:
$ ./breakdown.pl --suite=fp --barchart softfloat-before.nbench 
softfloat-after.nbench \
        | $BARCHART/barchart.pl --extra-gnuplot='set term dumb 80' \
        --extra-gnuplot='set title "NBench score; higher is better\nHost: 
Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz"' \
        --extra-gnuplot="set yrange [0:]" --extra="=norotate" | gnuplot

You'll need both dbt-bench and barchart:
  https://github.com/cota/dbt-bench (clone with --recursive and build nbench 
first.
    You can also use CROSS_COMPILE there to benchmark other linux-user targets)
  https://github.com/cota/barchart

Hope that helps,

                Emilio




reply via email to

[Prev in Thread] Current Thread [Next in Thread]