Skip to content

cmd/compile: BLAS DdotSmall and Idamax regressions #14917

Closed
@btracey

Description

@btracey

Idamax and Ddot small are showing regressions between 1.6 and gotip.

brendan:~/Documents/mygo/src/github.com/gonum/blas/native$ go version
go version devel +7177cb9 Tue Mar 22 17:30:30 2016 +0000 darwin/amd64

Reproducing:

go get github.com/gonum/blas
go get github.com/gonum/floats
cd $GOPATH/src/github.com/gonum/blas/native
go test -bench DdotSmall -tags=noasm
go test -bench Ida -tags=noasm

While the Ddot regressions look small, there had been improvements as of the resolution of #14511 , so it's a significant regression since then. Ddot shows improvement between 1.6 and tip for the benchmarks with larger vector sizes (slices of size 100+ instead of 10).

DdotSmallBothUnitary-8    17.9ns ± 2%  18.9ns ± 1%   +6.04%  (p=0.000 n=10+10)
DdotSmallIncUni-8         22.1ns ± 1%  23.1ns ± 1%   +4.87%   (p=0.000 n=10+9)
DdotSmallUniInc-8         21.6ns ± 1%  21.6ns ± 1%     ~      (p=0.455 n=10+9)
DdotSmallBothInc-8        21.6ns ± 1%  22.1ns ± 1%   +2.73%    (p=0.000 n=8+8)
IdamaxSmallUnitaryInc-8   31.6ns ±10%  36.5ns ± 4%  +15.46%   (p=0.000 n=10+8)
IdamaxSmallPosInc-8       27.5ns ±19%  44.0ns ±11%  +59.75%  (p=0.000 n=10+10)
IdamaxMediumUnitaryInc-8  1.59µs ± 4%  1.92µs ± 5%  +20.81%  (p=0.000 n=10+10)
IdamaxMediumPosInc-8      1.83µs ± 1%  2.17µs ± 2%  +18.58%   (p=0.000 n=9+10)
IdamaxLargeUnitaryInc-8    145µs ± 2%   192µs ± 2%  +32.64%  (p=0.000 n=10+10)
IdamaxLargePosInc-8        195µs ± 2%   218µs ± 2%  +12.06%  (p=0.000 n=10+10)
IdamaxHugeUnitaryInc-8    14.8ms ± 1%  19.8ms ± 1%  +33.49%  (p=0.000 n=10+10)
IdamaxHugePosInc-8        26.9ms ± 3%  27.9ms ± 1%   +3.62%   (p=0.000 n=10+9)

/cc @randall77 @tzneal @dr2chase @josharian @brtzsnr

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions