mbox series

[v4,0/5] Add vector math functions to microbenchmark

Message ID 20211123174009.229783-1-skpgkp2@gmail.com
Headers show
Series Add vector math functions to microbenchmark | expand

Message

Sunil K Pandey Nov. 23, 2021, 5:40 p.m. UTC
Add vector math function cos, cosf, exp, expf, log, logf, pow, powf
sin and sinf to libmvec microbenchmark.

Input data set generated as follows.

libmvec-cos-inputs:
  90% Normal random distribution
  range: (-DBL_MAX, DBL_MAX)
  mean: 0.0
  sigma: 5.0
  10% uniform random distribution in range (-1000.0, 1000.0)

libmvec-cosf-inputs:
  90% Normal random distribution
  range: (-FLT_MAX, FLT_MAX)
  mean: 0.0f
  sigma: 5.0f
  10% uniform random distribution in range (-1000.0f, 1000.0f)

libmvec-exp-inputs:
  90% Normal random distribution
  range: (-708.0, 709.0)
  mean: 0.0
  sigma: 16.0
  10% uniform random distribution in range (-500.0, 500.0)

libmvec-expf-inputs:
  90% Normal random distribution
  range: (-87.0f, 88.0f)
  mean: 0.0f
  sigma: 8.0f
  10% uniform random distribution in range (-50.0f, 50.0f)

libmvec-log-inputs:
  70% Normal random distribution
  range: (0.0, DBL_MAX)
  mean: 1.0
  sigma: 50.0
  30% uniform random distribution in range (0.0, DBL_MAX)

libmvec-logf-inputs:
  70% Normal random distribution
  range: (0.0f, FLT_MAX)
  mean: 1.0f
  sigma: 50.0f
  30% uniform random distribution in range (0.0f, FLT_MAX)

libmvec-pow-inputs:
  arg1:
    90% Normal random distribution
    range: (0.0, 256.0)
    mean: 0.0
    sigma: 32.0
    10% uniform random distribution in range (0.0, 256.0)
  arg2:
    90% Normal random distribution
    range: (-127.0, 127.0)
    mean: 0.0
    sigma: 16.0
    10% uniform random distribution in range (-127.0, 127.0)

libmvec-powf-inputs:
  arg1:
    90% Normal random distribution
    range: (0.0f, 100.0f)
    mean: 0.0f
    sigma: 16.0f
    10% uniform random distribution in range (0.0f, 100.0f)
  arg2:
    90% Normal random distribution
    range: (-10.0f, 10.0f)
    mean: 0.0f
    sigma: 8.0f
    10% uniform random distribution in range (-10.0f, 10.0f)

libmvec-sin-inputs:
  90% Normal random distribution
  range: (-DBL_MAX, DBL_MAX)
  mean: 0.0
  sigma: 5.0
  10% uniform random distribution in range (-1000.0, 1000.0)

libmvec-sinf-inputs:
  90% Normal random distribution
  range: (-FLT_MAX, FLT_MAX)
  mean: 0.0f
  sigma: 5.0f
  10% uniform random distribution in range (-1000.0f, 1000.0f)


Sunil K Pandey (5):
  x86-64: Add vector cos/cosf to libmvec microbenchmark
  x86-64: Add vector exp/expf to libmvec microbenchmark
  x86-64: Add vector log/logf to libmvec microbenchmark
  x86-64: Add vector pow/powf to libmvec microbenchmark
  x86-64: Add vector sin/sinf to libmvec microbenchmark

 sysdeps/x86_64/fpu/Makeconfig          |    5 +
 sysdeps/x86_64/fpu/libmvec-cos-inputs  | 4100 ++++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-cosf-inputs | 4100 ++++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-exp-inputs  | 4100 ++++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-expf-inputs | 4100 ++++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-log-inputs  | 4100 ++++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-logf-inputs | 4100 ++++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-pow-inputs  | 4100 ++++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-powf-inputs | 4100 ++++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-sin-inputs  | 4100 ++++++++++++++++++++++++
 sysdeps/x86_64/fpu/libmvec-sinf-inputs | 4100 ++++++++++++++++++++++++
 11 files changed, 41005 insertions(+)
 create mode 100644 sysdeps/x86_64/fpu/libmvec-cos-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-cosf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-exp-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-expf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-log-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-logf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-pow-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-powf-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-sin-inputs
 create mode 100644 sysdeps/x86_64/fpu/libmvec-sinf-inputs