Skip to content

numcl/numcl-benchmarks

Repository files navigation

This repository is part of NUMCL.

Usage

./report.sh [test]

test specifies the test that needs to be rerun and displayed. It is one of:

  • 0template
  • 1access
  • 1allocation
  • 2linarg
  • 3arith
  • 4concat
  • 5math

Dependencies

numpy: pip3 install numpy benchmarker or: conda env create -f environment.yml

numcl: ros install numcl/constantfold numcl/gtype numcl/specialized-function numcl/numcl trivial-benchmark

general: awk, make, other general unix tools

Author, License, Copyright

Masataro Asai ([email protected])

Licensed under LGPL v3.

Copyright (c) 2019 IBM Corporation

Logs

2020/6/9 thinkpad T480 SBCL 2.0.5

titlenumcl@d296e3numcl@0980fcnumcl@d296e3/numcl@0980fcnumpy@numcl@0980fc/numpy@
0template/dummy/00.00400.00301.3330.89390.003356
1access/read-range/00.02000.01801.1110.000445
1access/read-range/10.02300.01401.6430.000435
1access/read-range/20.29900.13202.2650.0004330
1access/read-range/30.29600.17701.6720.0004442.5
1access/read-range/40.29000.19101.5180.0004477.5
1access/read/00.00200.002010.00036.667
1access/read/10.00100.00200.50.00045
1access/read/20.06300.04301.4650.001043
1access/read/30.06700.04701.4260.001142.73
1access/read/40.06200.04901.2650.000598
1access/write-batch/00.01700.01601.0620.000917.78
1access/write-batch/10.05200.05101.020.00885.795
1access/write-range/00.02000.02200.90910.000827.5
1access/write-range/10.02000.020010.000825
1access/write-range/20.03800.03900.97440.000943.33
1access/write-range/30.05700.04701.2130.000952.22
1access/write-range/40.05600.04801.1670.000953.33
1access/write/00.02100.021010.000370
1access/write/10.01900.019010.000823.75
1access/write/20.02400.02500.960.000735.71
1access/write/30.02700.02800.96430.000740
1access/write/40.03800.02901.310.000741.43
1allocation/arange/float320.00000.0000N/A0.00010
1allocation/arange/float640.00100.0000N/A0.00020
1allocation/arange/int160.00000.0000N/A0.00010
1allocation/arange/int320.00000.0000N/A0.00010
1allocation/arange/int640.00000.0000N/A0.00010
1allocation/arange/int80.00000.0000N/A0.00010
1allocation/copy/bool0.00400.002020.05720.03497
1allocation/copy/float320.13900.12401.1210.05542.238
1allocation/copy/float640.30100.28401.060.05165.504
1allocation/copy/int160.05500.055010.05271.044
1allocation/copy/int320.14200.12501.1360.05262.376
1allocation/copy/int640.35200.28801.2220.05415.323
1allocation/copy/int80.02800.028010.05170.5416
1allocation/empty/bool0.00200.0000N/A0.00010
1allocation/empty/float320.05200.04801.0830.0001480
1allocation/empty/float640.10400.08901.1690.0002445
1allocation/empty/int160.02600.02201.1820.0001220
1allocation/empty/int320.05200.04501.1560.0001450
1allocation/empty/int640.10700.08801.2160.0002440
1allocation/empty/int80.01300.01201.0830.0001120
1allocation/ones/bool0.00900.009010.00452
1allocation/ones/float320.11200.10201.0980.02613.908
1allocation/ones/float640.22100.20501.0780.08312.467
1allocation/ones/int160.10200.10700.95330.01208.917
1allocation/ones/int320.19300.21500.89770.04534.746
1allocation/ones/int640.28900.25601.1290.08642.963
1allocation/ones/int80.06800.07100.95770.003321.52
1allocation/zeros/bool0.00200.00300.66670.00380.7895
1allocation/zeros/float320.10000.10600.94340.02144.953
1allocation/zeros/float640.21400.19301.1090.06842.822
1allocation/zeros/int160.05300.04901.0820.00786.282
1allocation/zeros/int320.10500.09801.0710.02454
1allocation/zeros/int640.22100.20001.1050.06563.049
1allocation/zeros/int80.02000.02200.90910.00356.286
2linarg/diag/builtin0.00600.00800.750.000810
2linarg/diag/einsum0.00700.00501.40.000412.5
2linarg/eye/builtin0.00000.0000N/A0.00130
2linarg/eye/naive0.17600.16901.0410.003943.33
2linarg/gemm-large/builtin133.707097.68101.3692.314742.2
2linarg/gemm-large/einsum143.922094.34601.52530.36433.107
2linarg/gemm/builtin0.14800.07601.9470.01206.333
2linarg/gemm/einsum0.14100.08701.6210.04112.117
2linarg/inner/builtin0.00600.006010.000415
2linarg/inner/einsum0.00500.00800.6250.00098.889
2linarg/outer/builtin0.00800.00900.88890.00412.195
2linarg/outer/einsum0.00700.01000.70.00313.226
2linarg/tri/builtin0.01700.01800.94440.00692.609
2linarg/tril/builtin0.02300.02700.85190.00823.293
2linarg/triu/builtin0.02500.02700.92590.00813.333
2linarg/vander/builtin0.06200.06300.98410.00976.495
2linarg/vdot/builtin0.00600.00700.85710.000417.5
2linarg/vdot/einsum0.00600.00800.750.00136.154
3arith/add_cd_cdN/AN/AN/A0.0015N/A
3arith/add_cs_csN/AN/AN/A0.0017N/A
3arith/add_d_d0.02900.01801.6110.000725.71
3arith/add_d_i320.02900.02001.450.001414.29
3arith/add_i16_i160.02600.01901.3680.000363.33
3arith/add_i1_i10.03900.02801.3930.0002140
3arith/add_i32_i320.03000.02001.50.000366.67
3arith/add_i64_i640.03300.01901.7370.000631.67
3arith/add_i8_i80.03200.01701.8820.000285
3arith/add_s_d0.03000.01901.5790.001413.57
3arith/add_s_i320.02600.01701.5290.00198.947
3arith/add_s_s0.02700.01801.50.000360
3arith/fma_cd_cd_cdN/AN/AN/A0.0043N/A
3arith/fma_cs_cs_csN/AN/AN/A0.0040N/A
3arith/fma_d_d_d0.06400.03501.8290.001229.17
3arith/fma_d_i32_d0.06600.03601.8330.002117.14
3arith/fma_i16_i16_i160.07600.03901.9490.000497.5
3arith/fma_i1_i1_i10.07800.05001.560.0003166.7
3arith/fma_i32_i32_i320.09000.04601.9570.000676.67
3arith/fma_i64_i64_i640.07400.03801.9470.001329.23
3arith/fma_i8_i8_i80.07200.03901.8460.0003130
3arith/fma_s_i32_dN/AN/AN/A0.0027N/A
3arith/fma_s_i32_s0.06000.03701.6220.003410.88
3arith/fma_s_s_s0.06200.03301.8790.000655
3arith/mul_cd_cdN/AN/AN/A0.0022N/A
3arith/mul_cs_csN/AN/AN/A0.0022N/A
3arith/mul_d_d0.05600.02002.80.000540
3arith/mul_d_i320.03100.01601.9380.001411.43
3arith/mul_i16_i160.02800.02201.2730.0002110
3arith/mul_i1_i10.03900.02101.8570.0001210
3arith/mul_i32_i320.03300.01602.0620.000353.33
3arith/mul_i64_i640.03300.01602.0620.000722.86
3arith/mul_i8_i80.02500.01901.3160.000295
3arith/mul_s_d0.05600.01304.3080.00149.286
3arith/mul_s_i320.02900.01501.9330.00207.5
3arith/mul_s_s0.03200.01402.2860.000346.67
4concat/concatenate/00.00400.00500.80.000316.67
4concat/concatenate/10.00500.00900.55560.000330
4concat/concatenate/20.02700.03600.750.000490
4concat/stack/00.00300.00500.60.00095.556
4concat/stack/10.00500.00700.71430.00097.778
4concat/stack/20.03000.04000.750.001040
5math/acos/01.54801.56700.98790.51403.049
5math/asin/01.82501.85500.98380.46613.98
5math/atan/01.17101.21800.96140.73771.651
5math/cos/00.86201.15500.74630.44012.624
5math/cosh/00.73800.77100.95720.54961.403
5math/exp/01.23200.99501.2380.84451.178
5math/log/01.14802.45000.46860.70653.468
5math/sin/01.18901.12901.0530.66031.71
5math/sinh/01.04500.96901.0780.75701.28
5math/tan/01.04801.24200.84380.63511.956
5math/tanh/00.64000.53301.2010.46631.143

2020/2/26 thinkpad T480

titlenumcl@0980fcnumcl@202820numcl@0980fc/numcl@202820numpynumcl@202820/numpy
(old master)(new master)(old/new)
0template/dummy/00.00400.00301.3331.31150.002287
1access/read/00.00200.002010.00036.667
1access/read/10.00200.002010.00036.667
1access/read/20.05200.052010.0004130
1access/read/30.04600.05300.86790.0004132.5
1access/read/40.04600.05000.920.0004125
1access/read-range/00.01700.01800.94440.000445
1access/read-range/10.01800.018010.000445
1access/read-range/20.13900.16300.85280.0004407.5
1access/read-range/30.17500.17001.0290.0005340
1access/read-range/40.16200.15701.0320.0004392.5
1access/write/00.02100.021010.0002105
1access/write/10.02000.01701.1760.000724.29
1access/write/20.02500.02301.0870.000732.86
1access/write/30.02700.02900.9310.000741.43
1access/write/40.03100.03001.0330.000837.5
1access/write-batch/00.01300.01001.30.000812.5
1access/write-batch/10.04600.04101.1220.00805.125
1access/write-range/00.02500.02001.250.000728.57
1access/write-range/10.02600.02001.30.000825
1access/write-range/20.04900.04001.2250.000944.44
1access/write-range/30.04900.04501.0890.000950
1access/write-range/40.05200.05400.9630.000960
1allocation/arange/float320.00200.00400.50.000220
1allocation/arange/float640.00400.00301.3330.000215
1allocation/arange/int160.00100.0000N/A0.00010
1allocation/arange/int320.00300.00201.50.000120
1allocation/arange/int640.00500.005010.000150
1allocation/arange/int80.00000.0000N/A0.00010
1allocation/copy/bool0.00300.003010.07060.04249
1allocation/copy/float320.09400.10000.940.05751.739
1allocation/copy/float640.26600.27100.98150.06064.472
1allocation/copy/int160.03800.04500.84440.08000.5625
1allocation/copy/int320.10100.10200.99020.07111.435
1allocation/copy/int640.26700.27200.98160.06074.481
1allocation/copy/int80.01800.018010.07460.2413
1allocation/empty/bool0.00100.001010.000110
1allocation/empty/float320.03900.03701.0540.0001370
1allocation/empty/float640.07900.07801.0130.0002390
1allocation/empty/int160.01900.019010.0001190
1allocation/empty/int320.03700.037010.0001370
1allocation/empty/int640.07800.07701.0130.0002385
1allocation/empty/int80.01000.00901.1110.000190
1allocation/ones/bool0.00300.00201.50.00350.5714
1allocation/ones/float320.07200.06701.0750.13560.4941
1allocation/ones/float640.19200.19600.97960.12141.614
1allocation/ones/int160.05800.06000.96670.00847.143
1allocation/ones/int320.12400.12301.0080.02774.44
1allocation/ones/int640.24400.23201.0520.12381.874
1allocation/ones/int80.04400.04101.0730.002715.19
1allocation/zeros/bool0.00200.002010.00430.4651
1allocation/zeros/float320.06900.10000.690.02943.401
1allocation/zeros/float640.19700.19201.0260.09412.04
1allocation/zeros/int160.03000.030010.01062.83
1allocation/zeros/int320.07300.07201.0140.03152.286
1allocation/zeros/int640.20900.21500.97210.08102.654
1allocation/zeros/int80.01600.01900.84210.00385
2linarg/diag/builtin0.00500.005010.000412.5
2linarg/diag/einsum0.00500.005010.000225
2linarg/eye/builtin0.00000.0000N/A0.00070
2linarg/eye/naive0.17900.19000.94210.0019100
2linarg/gemm/builtin0.07200.13100.54960.012410.56
2linarg/gemm/einsum0.07500.13400.55970.04572.932
2linarg/gemm-large/builtin63.9760124.48600.51392.009161.96
2linarg/gemm-large/einsum64.4450122.96700.524128.48684.317
2linarg/inner/builtin0.00400.004010.000410
2linarg/inner/einsum0.00400.004010.00123.333
2linarg/outer/builtin0.00700.007010.00451.556
2linarg/outer/einsum0.00900.00501.80.00301.667
2linarg/tri/builtin0.01300.013010.00771.688
2linarg/tril/builtin0.02100.021010.00832.53
2linarg/triu/builtin0.02200.02101.0480.00812.593
2linarg/vander/builtin0.05100.04901.0410.00915.385
2linarg/vdot/builtin0.00700.00501.40.000412.5
2linarg/vdot/einsum0.00700.00401.750.00133.077
3arith/add_cd_cdN/AN/AN/A0.0016N/A
3arith/add_cs_csN/AN/AN/A0.0012N/A
3arith/add_d_d0.01200.01101.0910.000427.5
3arith/add_d_i320.01300.01500.86670.001113.64
3arith/add_i16_i160.01200.01300.92310.000265
3arith/add_i1_i10.01700.01900.89470.0001190
3arith/add_i32_i320.01500.01401.0710.000346.67
3arith/add_i64_i640.01100.01700.64710.000628.33
3arith/add_i8_i80.01100.01400.78570.0001140
3arith/add_s_d0.01300.01201.0830.001210
3arith/add_s_i320.01300.01101.1820.00176.471
3arith/add_s_s0.01100.01300.84620.000265
3arith/fma_cd_cd_cdN/AN/AN/A0.0085N/A
3arith/fma_cs_cs_csN/AN/AN/A0.0024N/A
3arith/fma_d_d_d0.02300.023010.000925.56
3arith/fma_d_i32_d0.02300.02500.920.001417.86
3arith/fma_i16_i16_i160.02800.028010.000393.33
3arith/fma_i1_i1_i10.03800.04000.950.0002200
3arith/fma_i32_i32_i320.02700.02900.9310.000558
3arith/fma_i64_i64_i640.02900.03100.93550.001031
3arith/fma_i8_i8_i80.02300.02700.85190.0002135
3arith/fma_s_i32_dN/AN/AN/A0.0019N/A
3arith/fma_s_i32_s0.02200.02400.91670.002410
3arith/fma_s_s_s0.02900.02401.2080.000460
3arith/mul_cd_cdN/AN/AN/A0.0018N/A
3arith/mul_cs_csN/AN/AN/A0.0017N/A
3arith/mul_d_d0.01300.01201.0830.000524
3arith/mul_d_i320.01200.01300.92310.001013
3arith/mul_i16_i160.01200.012010.000260
3arith/mul_i1_i10.01700.01900.89470.0001190
3arith/mul_i32_i320.01100.01500.73330.000350
3arith/mul_i64_i640.01100.01300.84620.000718.57
3arith/mul_i8_i80.01300.01101.1820.000255
3arith/mul_s_d0.01200.012010.001110.91
3arith/mul_s_i320.01300.01201.0830.00158
3arith/mul_s_s0.01200.01300.92310.000343.33
4concat/concatenate/00.00200.002010.00045
4concat/concatenate/10.00500.00600.83330.000320
4concat/concatenate/20.02900.02501.160.000462.5
4concat/stack/00.00400.004010.00104
4concat/stack/10.00600.006010.00106
4concat/stack/20.03000.03200.93750.001129.09
5math/acos/01.06101.19600.88710.44522.686
5math/asin/01.02401.16600.87820.46212.523
5math/atan/00.77900.85700.9090.67431.271
5math/cos/00.73900.67401.0960.42781.576
5math/cosh/00.57300.74100.77330.52461.413
5math/exp/00.79000.89900.87880.76681.172
5math/log/01.55301.81400.85610.66832.714
5math/sin/00.78800.81200.97040.82150.9884
5math/sinh/00.77601.16400.66670.70411.653
5math/tan/00.95500.88801.0750.57311.549
5math/tanh/00.45000.60400.7450.51011.184

2019/12/08 RYZEN1700

titlenumcl @ 9602407numpy 1.14.2cl/py
0template/dummy/00.00300.83370.003598
1access/read-range/00.01900.000447.5
1access/read-range/10.01900.000447.5
1access/read-range/20.18400.0004460
1access/read-range/30.22500.0004562.5
1access/read-range/40.22300.0005446
1access/read/00.00200.000210
1access/read/10.00300.000310
1access/read/20.06100.0003203.3
1access/read/30.05200.0004130
1access/read/40.05500.0003183.3
1access/write-batch/00.01400.001014
1access/write-batch/10.05800.00896.517
1access/write-range/00.02200.000827.5
1access/write-range/10.02000.001216.67
1access/write-range/20.03900.001135.45
1access/write-range/30.04200.001235
1access/write-range/40.04600.001238.33
1access/write/00.01800.000290
1access/write/10.01800.000822.5
1access/write/20.02500.000831.25
1access/write/30.02800.000740
1access/write/40.03100.000744.29
1allocation/arange/float320.00400.000140
1allocation/arange/float640.00400.000140
1allocation/arange/int160.00200.000120
1allocation/arange/int320.00200.000120
1allocation/arange/int640.00400.000140
1allocation/arange/int80.00000.00010
1allocation/copy/bool0.00400.06280.06369
1allocation/copy/float320.12600.05832.161
1allocation/copy/float640.32000.06464.954
1allocation/copy/int160.05100.05720.8916
1allocation/copy/int320.12600.06361.981
1allocation/copy/int640.34500.05516.261
1allocation/copy/int80.02600.05820.4467
1allocation/empty/bool0.00300.000130
1allocation/empty/float320.07000.0001700
1allocation/empty/float640.14200.00011420
1allocation/empty/int160.04000.0001400
1allocation/empty/int320.06800.0001680
1allocation/empty/int640.14300.00011430
1allocation/empty/int80.01900.0001190
1allocation/ones/bool0.00300.00301
1allocation/ones/float320.12100.02764.384
1allocation/ones/float640.27200.11372.392
1allocation/ones/int160.04600.00607.667
1allocation/ones/int320.14500.03903.718
1allocation/ones/int640.28000.13282.108
1allocation/ones/int80.02300.00249.583
1allocation/zeros/bool0.00300.00251.2
1allocation/zeros/float320.11700.02804.179
1allocation/zeros/float640.27900.12772.185
1allocation/zeros/int160.05200.004910.61
1allocation/zeros/int320.12200.02385.126
1allocation/zeros/int640.29800.12592.367
1allocation/zeros/int80.02600.002211.82
2linarg/diag/builtin0.00500.00086.25
2linarg/diag/einsum0.00500.000316.67
2linarg/eye/builtin0.00000.00100
2linarg/eye/naive0.17400.003549.71
2linarg/gemm-large/builtin44.32802.350818.86
2linarg/gemm-large/einsum46.389023.82431.947
2linarg/gemm/builtin0.04900.02591.892
2linarg/gemm/einsum0.04800.06200.7742
2linarg/inner/builtin0.00500.000150
2linarg/inner/einsum0.00500.000316.67
2linarg/outer/builtin0.00600.00222.727
2linarg/outer/einsum0.00800.00136.154
2linarg/tri/builtin0.01400.00363.889
2linarg/tril/builtin0.02000.00365.556
2linarg/triu/builtin0.01900.00355.429
2linarg/vander/builtin0.05400.00687.941
2linarg/vdot/builtin0.00700.000170
2linarg/vdot/einsum0.00700.000417.5
3arith/add_cd_cdN/A0.0013N/A
3arith/add_cs_csN/A0.0010N/A
3arith/add_d_d0.01400.000346.67
3arith/add_d_i320.01400.001112.73
3arith/add_i16_i160.01300.000265
3arith/add_i1_i10.01400.0001140
3arith/add_i32_i320.01600.000353.33
3arith/add_i64_i640.01500.000530
3arith/add_i8_i80.01200.000260
3arith/add_s_d0.01400.000915.56
3arith/add_s_i320.01300.00168.125
3arith/add_s_s0.01200.000260
3arith/fma_cd_cd_cdN/A0.0028N/A
3arith/fma_cs_cs_csN/A0.0024N/A
3arith/fma_d_d_d0.02500.000831.25
3arith/fma_d_i32_d0.02500.001516.67
3arith/fma_i16_i16_i160.02600.000465
3arith/fma_i1_i1_i10.02700.000390
3arith/fma_i32_i32_i320.02600.000737.14
3arith/fma_i64_i64_i640.02600.001418.57
3arith/fma_i8_i8_i80.02500.000383.33
3arith/fma_s_i32_dN/A0.0018N/A
3arith/fma_s_i32_s0.02400.002210.91
3arith/fma_s_s_s0.02300.000546
3arith/mul_cd_cdN/A0.0018N/A
3arith/mul_cs_csN/A0.0016N/A
3arith/mul_d_d0.01400.000528
3arith/mul_d_i320.01300.000914.44
3arith/mul_i16_i160.01300.000265
3arith/mul_i1_i10.01300.000265
3arith/mul_i32_i320.01500.000437.5
3arith/mul_i64_i640.01400.000915.56
3arith/mul_i8_i80.01200.000260
3arith/mul_s_d0.01400.000915.56
3arith/mul_s_i320.01300.001310
3arith/mul_s_s0.01200.000340
4concat/concatenate/00.00300.000310
4concat/concatenate/10.00500.000316.67
4concat/concatenate/20.02900.000472.5
4concat/stack/00.00300.00083.75
4concat/stack/10.00600.00078.571
4concat/stack/20.03500.000938.89
5math/acos/01.00100.51641.938
5math/asin/00.95300.42432.246
5math/atan/00.97500.83581.167
5math/cos/01.26200.79171.594
5math/cosh/00.46000.41401.111
5math/exp/00.97100.84941.143
5math/log/01.45900.45353.217
5math/sin/01.15800.88321.311
5math/sinh/00.58900.48341.218
5math/tan/01.22200.79111.545
5math/tanh/00.38600.34711.112

About

benchmarks against numpy, julia

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published