Source code

Revision control

Copy as Markdown

Other Tools

{
"tests": [
{
"name": "gemm two float32 2D tensors (b is non-constant) default options",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32"
}
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8161.14697265625,
14025.82421875,
14607.5009765625,
14048.5322265625,
18757.09765625,
11892.5107421875,
14659.9755859375,
19125.74609375,
15034.27734375,
18273.080078125,
5516.6904296875,
9259.267578125,
9167.3916015625,
6347.330078125,
10868.6025390625
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors default options",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8161.14697265625,
14025.82421875,
14607.5009765625,
14048.5322265625,
18757.09765625,
11892.5107421875,
14659.9755859375,
19125.74609375,
15034.27734375,
18273.080078125,
5516.6904296875,
9259.267578125,
9167.3916015625,
6347.330078125,
10868.6025390625
],
"type": "float32"
}
},
// options.c
{
"name": "gemm two float32 2D constant tensors options.c",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32",
"constant": true
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [3, 5],
"data": [
82.77202028708963,
91.38520749770859,
12.651897708721549,
20.12200327935334,
68.51224585053419,
35.2024171023056,
13.33466578964102,
50.785469741049205,
88.61195160882922,
30.577471042677097,
69.47062151883239,
7.166217909076766,
28.337108113083744,
90.69412588106762,
71.23025762837965
],
"type": "float32",
"constant": true
}
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8243.9189453125,
14117.208984375,
14620.15234375,
14068.654296875,
18825.609375,
11927.712890625,
14673.310546875,
19176.533203125,
15122.8896484375,
18303.658203125,
5586.16064453125,
9266.43359375,
9195.7294921875,
6438.0244140625,
10939.8330078125
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors options.c",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [3, 5],
"data": [
82.77202028708963,
91.38520749770859,
12.651897708721549,
20.12200327935334,
68.51224585053419,
35.2024171023056,
13.33466578964102,
50.785469741049205,
88.61195160882922,
30.577471042677097,
69.47062151883239,
7.166217909076766,
28.337108113083744,
90.69412588106762,
71.23025762837965
],
"type": "float32"
}
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8243.9189453125,
14117.208984375,
14620.15234375,
14068.654296875,
18825.609375,
11927.712890625,
14673.310546875,
19176.533203125,
15122.8896484375,
18303.658203125,
5586.16064453125,
9266.43359375,
9195.7294921875,
6438.0244140625,
10939.8330078125
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors broadcast options.c [1, 5] => [3, 5]",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [1, 5],
"data": [
85.90813142403118,
39.375354775876346,
50.94260262706696,
31.87430758223413,
31.210525151769097
],
"type": "float32"
}
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8247.0546875,
14065.19921875,
14658.443359375,
14080.40625,
18788.30859375,
11978.4189453125,
14699.3505859375,
19176.689453125,
15066.1513671875,
18304.291015625,
5602.5986328125,
9298.642578125,
9218.3349609375,
6379.20458984375,
10899.8125
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors broadcast options.c [3, 1] => [3, 5]",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [3, 1],
"data": [
6.2025197606838445,
81.40642123187278,
73.00516839070796
],
"type": "float32"
}
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8167.349609375,
14032.0263671875,
14613.703125,
14054.734375,
18763.30078125,
11973.9169921875,
14741.3818359375,
19207.154296875,
15115.68359375,
18354.486328125,
5589.6953125,
9332.2724609375,
9240.3974609375,
6420.33544921875,
10941.607421875
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors broadcast options.c [1, 1] => [3, 5]",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [1, 1],
"data": [18.78192846614879],
"type": "float32"
}
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8179.9287109375,
14044.6064453125,
14626.2822265625,
14067.314453125,
18775.87890625,
11911.29296875,
14678.7578125,
19144.529296875,
15053.0595703125,
18291.86328125,
5535.47216796875,
9278.048828125,
9186.173828125,
6366.1123046875,
10887.384765625
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors broadcast options.c [5] => [3, 5]",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [5],
"data": [
85.90813142403118,
39.375354775876346,
50.94260262706696,
31.87430758223413,
31.210525151769097
],
"type": "float32"
}
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8247.0546875,
14065.19921875,
14658.443359375,
14080.40625,
18788.30859375,
11978.4189453125,
14699.3505859375,
19176.689453125,
15066.1513671875,
18304.291015625,
5602.5986328125,
9298.642578125,
9218.3349609375,
6379.20458984375,
10899.8125
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors broadcast options.c [1] => [3, 5]",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [1],
"data": [18.78192846614879],
"type": "float32"
}
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8179.9287109375,
14044.6064453125,
14626.2822265625,
14067.314453125,
18775.87890625,
11911.29296875,
14678.7578125,
19144.529296875,
15053.0595703125,
18291.86328125,
5535.47216796875,
9278.048828125,
9186.173828125,
6366.1123046875,
10887.384765625
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors scalar options.c",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": 18.78192846614879
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8179.9287109375,
14044.6064453125,
14626.2822265625,
14067.314453125,
18775.87890625,
11911.29296875,
14678.7578125,
19144.529296875,
15053.0595703125,
18291.86328125,
5535.47216796875,
9278.048828125,
9186.173828125,
6366.1123046875,
10887.384765625
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors options.alpha",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"alpha": 74.43204170482103
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
607450.875,
1043970.75,
1087266.125,
1045661,
1396129.125,
885183.875,
1091172,
1423568.5,
1119032,
1360102.75,
410618.53125,
689186.1875,
682347.75,
472444.78125,
808972.3125
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors options.beta",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"beta": 62.01828598608989
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8161.14697265625,
14025.82421875,
14607.5009765625,
14048.5322265625,
18757.09765625,
11892.5107421875,
14659.9755859375,
19125.74609375,
15034.27734375,
18273.080078125,
5516.6904296875,
9259.267578125,
9167.3916015625,
6347.330078125,
10868.6025390625
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors options.c and options.beta",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [3, 5],
"data": [
82.77202028708963,
91.38520749770859,
12.651897708721549,
20.12200327935334,
68.51224585053419,
35.2024171023056,
13.33466578964102,
50.785469741049205,
88.61195160882922,
30.577471042677097,
69.47062151883239,
7.166217909076766,
28.337108113083744,
90.69412588106762,
71.23025762837965
],
"type": "float32"
},
"beta": 62.01828598608989
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
13294.525390625,
19693.37890625,
15392.1494140625,
15296.4638671875,
23006.109375,
14075.7041015625,
15486.96875,
22275.375,
20529.83984375,
20169.443359375,
9825.138671875,
9703.7041015625,
10924.810546875,
11972.0244140625,
15286.1806640625
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors options.aTranspose being true",
"inputs": {
"a": {
"shape": [4, 3],
"data": [
82.98884511142329,
18.96485038946509,
50.51683887619669,
90.51641254722982,
43.89479290862091,
40.45679629199866,
59.6385201162642,
98.89487912764056,
50.76741460760452,
36.27187180381433,
91.46013741088626,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"aTranspose": true
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8161.14697265625,
14025.82421875,
14607.5009765625,
14048.5322265625,
18757.09765625,
11892.5107421875,
14659.9755859375,
19125.74609375,
15034.27734375,
18273.080078125,
5516.6904296875,
9259.267578125,
9167.3916015625,
6347.330078125,
10868.6025390625
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors options.aTranspose being explicit false",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"aTranspose": false
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8161.14697265625,
14025.82421875,
14607.5009765625,
14048.5322265625,
18757.09765625,
11892.5107421875,
14659.9755859375,
19125.74609375,
15034.27734375,
18273.080078125,
5516.6904296875,
9259.267578125,
9167.3916015625,
6347.330078125,
10868.6025390625
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors options.bTranspose being true",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [5, 4],
"data": [
25.14739246484985,
0.003725653326558387,
75.74880854000601,
42.90679144336773,
66.69238549579231,
16.499146388625483,
96.6068806977233,
34.08055187293266,
63.29909902139696,
3.0366680571384252,
99.10042039275365,
87.37654561544477,
10.629964783998469,
93.14021782678614,
23.243775283337477,
92.34209530787089,
61.32737573972831,
70.08265680040718,
86.1185682132947,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"bTranspose": true
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8161.14697265625,
14025.82421875,
14607.5009765625,
14048.5322265625,
18757.09765625,
11892.5107421875,
14659.9755859375,
19125.74609375,
15034.27734375,
18273.080078125,
5516.6904296875,
9259.267578125,
9167.3916015625,
6347.330078125,
10868.6025390625
],
"type": "float32"
}
},
{
"name": "gemm two float32 2D tensors options.bTranspose being explicit false",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"bTranspose": false
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8161.14697265625,
14025.82421875,
14607.5009765625,
14048.5322265625,
18757.09765625,
11892.5107421875,
14659.9755859375,
19125.74609375,
15034.27734375,
18273.080078125,
5516.6904296875,
9259.267578125,
9167.3916015625,
6347.330078125,
10868.6025390625
],
"type": "float32"
}
},
// alpha * A x B + beta * C
{
"name": "gemm two float32 2D tensors all options", // All alpha, A, B, beta and C are positive
"inputs": {
"a": {
"shape": [4, 3],
"data": [
82.98884511142329,
18.96485038946509,
50.51683887619669,
90.51641254722982,
43.89479290862091,
40.45679629199866,
59.6385201162642,
98.89487912764056,
50.76741460760452,
36.27187180381433,
91.46013741088626,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [5, 4],
"data": [
25.14739246484985,
0.003725653326558387,
75.74880854000601,
42.90679144336773,
66.69238549579231,
16.499146388625483,
96.6068806977233,
34.08055187293266,
63.29909902139696,
3.0366680571384252,
99.10042039275365,
87.37654561544477,
10.629964783998469,
93.14021782678614,
23.243775283337477,
92.34209530787089,
61.32737573972831,
70.08265680040718,
86.1185682132947,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [3, 5],
"data": [
82.77202028708963,
91.38520749770859,
12.651897708721549,
20.12200327935334,
68.51224585053419,
35.2024171023056,
13.33466578964102,
50.785469741049205,
88.61195160882922,
30.577471042677097,
69.47062151883239,
7.166217909076766,
28.337108113083744,
90.69412588106762,
71.23025762837965
],
"type": "float32"
},
"alpha": 74.43204170482103,
"beta": 62.01828598608989,
"aTranspose": true,
"bTranspose": true
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
612584.25,
1049638.375,
1088050.75,
1046908.875,
1400378.125,
887367.0625,
1091999,
1426718.125,
1124527.625,
1361999.125,
414927,
689630.625,
684105.1875,
478069.46875,
813389.875
],
"type": "float32"
}
},
{
"name": "gemm both negative options.alpha and 1st float32 input tensor",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
-87.94973451710236,
-14.765121645895519,
-80.86310680534218,
-59.27638399609938,
-28.748250806066665,
-9.038779559502402,
-76.04662906780386,
-83.94807592959552,
-95.02689722012639,
-47.897331378960686,
-69.01161938187514,
-86.66899315604435
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [3, 5],
"data": [
82.77202028708963,
91.38520749770859,
12.651897708721549,
20.12200327935334,
68.51224585053419,
35.2024171023056,
13.33466578964102,
50.785469741049205,
88.61195160882922,
30.577471042677097,
69.47062151883239,
7.166217909076766,
28.337108113083744,
90.69412588106762,
71.23025762837965
],
"type": "float32"
},
"alpha": -22.611149749186296
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
246101.234375,
360542.34375,
425213.25,
218520.65625,
383734.40625,
228076.8125,
277543.625,
378076,
241282.15625,
316800.71875,
256391.5625,
378711.34375,
465195.8125,
341034.875,
460338.3125
],
"type": "float32"
}
},
{
"name": "gemm both negative options.alpha and 2nd float32 input tensor",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
-64.35197380859643,
-87.64981186480712,
-96.04495397065658,
-31.07155980709375,
-6.548066933465876,
-64.64146348646094,
-14.020616857474465,
-88.93306726614543,
-24.17941082566574,
-97.31866304932058,
-93.46081221136554,
-39.49039520100528,
-94.37982420323672,
-75.8333604154835,
-11.403324388031308,
-26.28259194817595,
-56.237981538646295,
-46.474048229320665,
-89.20683997562287,
-53.49532488423292
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [3, 5],
"data": [
82.77202028708963,
91.38520749770859,
12.651897708721549,
20.12200327935334,
68.51224585053419,
35.2024171023056,
13.33466578964102,
50.785469741049205,
88.61195160882922,
30.577471042677097,
69.47062151883239,
7.166217909076766,
28.337108113083744,
90.69412588106762,
71.23025762837965
],
"type": "float32"
},
"alpha": -22.611149749186296
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
400725.03125,
292635.75,
527642.375,
283236.40625,
270787.40625,
355130.96875,
256121.421875,
436658.0625,
391465.40625,
235557.03125,
245540.5625,
170154.125,
309239.4375,
163583.015625,
120958.7578125
],
"type": "float32"
}
},
{
"name": "gemm both negative options.beta and 3rd float32 input tensor (options.c)",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [3, 5],
"data": [
-42.66268253622787,
-93.66379731044412,
-40.7084931979834,
-45.060979792171786,
-87.90339205403255,
-71.16189172949525,
-85.56422647952868,
-10.049133962829984,
-46.105405162474256,
-66.76168168609703,
-25.392492019110875,
-65.6298788225413,
-40.50155350367264,
-81.5303936185148,
-41.396294482178405
],
"type": "float32"
},
"beta": -11.68521964935509
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
8659.669921875,
15120.3056640625,
15083.1884765625,
14575.0791015625,
19784.267578125,
12724.052734375,
15659.8125,
19243.173828125,
15573.029296875,
19053.205078125,
5813.4072265625,
10026.1669921875,
9640.6611328125,
7300.03076171875,
11352.3271484375
],
"type": "float32"
}
},
{
"name": "gemm both negative options.alpha and options.beta",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [3, 5],
"data": [
82.77202028708963,
91.38520749770859,
12.651897708721549,
20.12200327935334,
68.51224585053419,
35.2024171023056,
13.33466578964102,
50.785469741049205,
88.61195160882922,
30.577471042677097,
69.47062151883239,
7.166217909076766,
28.337108113083744,
90.69412588106762,
71.23025762837965
],
"type": "float32"
},
"alpha": -22.611149749186296,
"beta": -11.68521964935509
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
-185500.109375,
-318207.84375,
-330440.21875,
-317888.59375,
-424920.125,
-269314.6875,
-331634.71875,
-433048.5625,
-340977.71875,
-413532.65625,
-125550.484375,
-209446.40625,
-207616.390625,
-144580.21875,
-246583.921875
],
"type": "float32"
}
},
{
"name": "gemm both negative options.alpha and 3rd float32 input tensor (options.c)",
"inputs": {
"a": {
"shape": [3, 4],
"data": [
82.98884511142329,
90.51641254722982,
59.6385201162642,
36.27187180381433,
18.96485038946509,
43.89479290862091,
98.89487912764056,
91.46013741088626,
50.51683887619669,
40.45679629199866,
50.76741460760452,
9.336554329198155
],
"type": "float32"
},
"b": {
"shape": [4, 5],
"data": [
25.14739246484985,
66.69238549579231,
63.29909902139696,
10.629964783998469,
61.32737573972831,
0.003725653326558387,
16.499146388625483,
3.0366680571384252,
93.14021782678614,
70.08265680040718,
75.74880854000601,
96.6068806977233,
99.10042039275365,
23.243775283337477,
86.1185682132947,
42.90679144336773,
34.08055187293266,
87.37654561544477,
92.34209530787089,
60.32208994273669
],
"type": "float32",
"constant": true
}
},
"options": {
"c": {
"shape": [3, 5],
"data": [
-42.66268253622787,
-93.66379731044412,
-40.7084931979834,
-45.060979792171786,
-87.90339205403255,
-71.16189172949525,
-85.56422647952868,
-10.049133962829984,
-46.105405162474256,
-66.76168168609703,
-25.392492019110875,
-65.6298788225413,
-40.50155350367264,
-81.5303936185148,
-41.396294482178405
],
"type": "float32"
},
"alpha": -22.611149749186296
},
"expected": {
"name": "output",
"shape": [3, 5],
"data": [
-184575.5625,
-317233.65625,
-330333.09375,
-317698.5,
-424207.4375,
-268974.5,
-331564.4375,
-432465.15625,
-339988.375,
-413242.09375,
-124764.09375,
-209428.296875,
-207325.765625,
-143601.96875,
-245792.984375
],
"type": "float32"
}
}
]
}