I welcome the chance to improve users' important programs. The i.-family speedups were important for some programs we know about, but not all. If anyone has an application where more speed would be important to them, I encourage them to (1) use the Performance Monitor to find the slow parts of the J code and improve them, and only then (2) send me a standalone program that I can analyze to see what can be improved.

Henry Rich



On 4/24/2017 10:02 PM, Igor Zhuravlov wrote:
Last mt addon's version (0.10.0) got benchmarking capability, too. I've tried
it for J805 vs J806 comparison.

Host: CPU: Intel i7-4790, RAM: 16 Gb

J805 version: j805/j64/linux/release/commercial/www.jsoftware.com/
2016-12-11T08:02:52

J806 version: j64avx/linux/beta-1/commercial/www.jsoftware.com/
2017-03-09T10:14:43

Overall benchmark:
   matrix size  speed-up ratio
   100          0.98x
   150          0.97x
   200          0.99x
   300          0.98x
   400          0.98x
   500          1.03x
So overall performance remains essentially unchanged.

Per-verb one-to-one speed-up ratios reveals a performance redistribution
inside each overall benchmark. Say, speed-up ratios for n=500 are varying from
0.25x to 3.89x, has average 1.24x and forms 3 clusters:
centroid value  verbs in cluster
0.28x            12 of 235 ( 5%)
0.96x           170 of 235 (72%)
2.35x            53 of 235 (23%)

Most speed-ups are noted in gq/q, mq/q, pow, qf/q and tri verb groups. Which
are heavily based on matrix product, are mainly row-wise and has minimal
housekeeping work.

Most slow-downs are noted in gq/z, mq/z, qf/z verb groups.

Result from brand J benchmark:

    'i7-4790_J806avx' show_tests 'i7-4790_J805'
intsr  intbr  char   float  float0 test
   1.49   2.42   4.23   1.08   3.09 a i. a
  14.87  14.97  25.37   2.06  21.23 a i. b
   3.61   8.03   8.37   5.28  10.92 b i. a
   3.89   9.32   8.26   5.52  13.17 a e. b
   7.81  14.46  23.59   2.04  21.41 b e. a
   4.01   9.13   8.28   5.40  12.45 a (+/@:e.) b
   3.35   6.85   8.18  38.22  13.13 a (e. i. 1:) b
   2.18   2.44   3.67   1.05   1.05 ~.a
   2.31   2.48   3.93   1.06   1.05 ~:a
   2.92   5.00   1.43   1.07   1.07 /:a
   1.81   1.34   1.39   1.06   1.07 /:~a
intsr intbr char float float0 test
   1.63   3.66   4.77   1.20   5.33 a i. a
   3.46   4.90   8.29   3.19   8.33 a i. b
   4.10   8.67   8.13   5.52  12.28 b i. a
   4.29   9.08   8.12   5.25  12.90 a e. b
   3.13   4.97   8.04   3.18   8.26 b e. a
   4.03   9.59   8.26   5.17  12.89 a (+/@:e.) b
   1.06   3.65   7.08  17.05  13.05 a (e. i. 1:) b
   1.47   3.50   4.05   1.19   1.18 ~.a
   1.37   3.54   4.87   1.26   1.24 ~:a
   1.14   1.13   1.33   1.14   1.12 /:a
   1.53   1.16   1.37   1.14   1.11 /:~a

matrix multiply  4.33

--
WBR
Igor

On Mar 12, 2017, at 4:35 PM, Eric Iverson <[email protected]> wrote:
...
If you report an avx benchmark, please indicate the processor, as this
gives useful perspective.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm


---
This email has been checked for viruses by AVG.
http://www.avg.com

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to