Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
MIGraphX
Commits
f6b08c2a
Unverified
Commit
f6b08c2a
authored
Sep 29, 2023
by
Brian Pickrell
Committed by
GitHub
Sep 29, 2023
Browse files
Merge branch 'develop' into threads_register_target
parents
d8f1ebbc
4188c38e
Changes
169
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
504 additions
and
502 deletions
+504
-502
test/ref/broadcast.cpp
test/ref/broadcast.cpp
+2
-2
test/ref/ceil.cpp
test/ref/ceil.cpp
+2
-2
test/ref/clip.cpp
test/ref/clip.cpp
+2
-2
test/ref/concat.cpp
test/ref/concat.cpp
+23
-23
test/ref/contiguous.cpp
test/ref/contiguous.cpp
+3
-3
test/ref/convolution.cpp
test/ref/convolution.cpp
+230
-232
test/ref/convolution_backwards.cpp
test/ref/convolution_backwards.cpp
+9
-9
test/ref/cos.cpp
test/ref/cos.cpp
+2
-2
test/ref/cosh.cpp
test/ref/cosh.cpp
+2
-2
test/ref/dimensions_of.cpp
test/ref/dimensions_of.cpp
+2
-2
test/ref/div.cpp
test/ref/div.cpp
+2
-2
test/ref/dot_op.cpp
test/ref/dot_op.cpp
+190
-186
test/ref/elu.cpp
test/ref/elu.cpp
+2
-2
test/ref/erf.cpp
test/ref/erf.cpp
+2
-2
test/ref/exp.cpp
test/ref/exp.cpp
+2
-2
test/ref/fill.cpp
test/ref/fill.cpp
+3
-3
test/ref/floor.cpp
test/ref/floor.cpp
+2
-2
test/ref/fmod.cpp
test/ref/fmod.cpp
+3
-3
test/ref/gather.cpp
test/ref/gather.cpp
+10
-10
test/ref/gathernd.cpp
test/ref/gathernd.cpp
+11
-11
No files found.
test/ref/broadcast.cpp
View file @
f6b08c2a
...
...
@@ -114,6 +114,6 @@ TEST_CASE(isnan_broadcast_test)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
correct
=
{
0
,
0
,
0
,
0
,
1
,
1
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
correct
));
std
::
vector
<
float
>
gold
=
{
0
,
0
,
0
,
0
,
1
,
1
};
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/ceil.cpp
View file @
f6b08c2a
...
...
@@ -45,7 +45,7 @@ TEST_CASE(ceil_test)
std
::
vector
<
float
>
gold
=
data
;
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
std
::
ceil
(
n
);
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
ceil_dyn_test
)
...
...
@@ -68,5 +68,5 @@ TEST_CASE(ceil_dyn_test)
std
::
vector
<
float
>
gold
=
input_data
;
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
std
::
ceil
(
n
);
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/clip.cpp
View file @
f6b08c2a
...
...
@@ -48,7 +48,7 @@ TEST_CASE(clip_test)
std
::
vector
<
float
>
results_vector
(
3
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
=
{
0.0
,
0.0
,
6.0
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
clip_dyn_test
)
...
...
@@ -73,5 +73,5 @@ TEST_CASE(clip_dyn_test)
std
::
vector
<
float
>
results_vector
(
3
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
=
{
0.0
,
0.0
,
6.0
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/concat.cpp
View file @
f6b08c2a
...
...
@@ -50,11 +50,11 @@ TEST_CASE(concat_test_1)
std
::
vector
<
int
>
gold
=
{
0
,
1
,
2
,
3
,
4
,
10
,
5
,
6
,
7
,
8
,
9
,
20
};
std
::
vector
<
int
>
results_vector
(
2
*
6
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
2
,
6
})));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
strides
(),
std
::
vector
<
std
::
size_t
>
({
6
,
1
})));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
2
,
6
})));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
strides
(),
std
::
vector
<
std
::
size_t
>
({
6
,
1
})));
}
TEST_CASE
(
concat_test_2
)
...
...
@@ -77,11 +77,11 @@ TEST_CASE(concat_test_2)
std
::
vector
<
int
>
gold
=
{
0
,
1
,
2
,
3
,
4
,
10
,
5
,
6
,
7
,
8
,
9
,
20
};
std
::
vector
<
int
>
results_vector
(
2
*
6
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
2
,
6
})));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
strides
(),
std
::
vector
<
std
::
size_t
>
({
6
,
1
})));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
2
,
6
})));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
strides
(),
std
::
vector
<
std
::
size_t
>
({
6
,
1
})));
}
TEST_CASE
(
concat_test_3
)
...
...
@@ -104,11 +104,11 @@ TEST_CASE(concat_test_3)
std
::
vector
<
int
>
gold
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
};
std
::
vector
<
int
>
results_vector
(
6
*
2
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
6
,
2
})));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
strides
(),
std
::
vector
<
std
::
size_t
>
({
2
,
1
})));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
6
,
2
})));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
strides
(),
std
::
vector
<
std
::
size_t
>
({
2
,
1
})));
}
TEST_CASE
(
concat_test_4
)
...
...
@@ -131,11 +131,11 @@ TEST_CASE(concat_test_4)
std
::
vector
<
int
>
gold
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
};
std
::
vector
<
int
>
results_vector
(
6
*
2
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
6
,
2
})));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
strides
(),
std
::
vector
<
std
::
size_t
>
({
2
,
1
})));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
6
,
2
})));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
strides
(),
std
::
vector
<
std
::
size_t
>
({
2
,
1
})));
}
TEST_CASE
(
concat_dyn_test
)
...
...
@@ -169,7 +169,7 @@ TEST_CASE(concat_dyn_test)
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
6
,
2
})));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
6
,
2
})));
}
test/ref/contiguous.cpp
View file @
f6b08c2a
...
...
@@ -50,7 +50,7 @@ TEST_CASE(contiguous_test)
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
contiguous_param_test
)
...
...
@@ -74,7 +74,7 @@ TEST_CASE(contiguous_param_test)
std
::
vector
<
float
>
results_vector
(
12
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
=
{
0
,
3
,
6
,
9
,
1
,
4
,
7
,
10
,
2
,
5
,
8
,
11
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
contiguous_dyn_test
)
...
...
@@ -100,5 +100,5 @@ TEST_CASE(contiguous_dyn_test)
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
=
{
0
,
3
,
6
,
9
,
1
,
4
,
7
,
10
,
2
,
5
,
8
,
11
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/convolution.cpp
View file @
f6b08c2a
...
...
@@ -78,23 +78,6 @@ TEST_CASE(conv_dyn_batch_test)
-
0.06269585
,
0.18658121
,
-
0.03944227
,
0.0111798
,
-
0.17731084
,
0.11789055
,
-
0.09982193
,
0.08142821
,
0.0729029
,
0.11303909
,
0.12735154
,
0.03885292
};
std
::
vector
<
float
>
sol
=
{
-
0.20817225
,
0.87965256
,
0.14958936
,
-
1.24887264
,
-
0.06540672
,
0.20778663
,
0.40456355
,
-
0.99900877
,
0.4917807
,
0.1994698
,
0.64205718
,
0.37798831
,
-
0.25315839
,
0.44276932
,
-
0.16138598
,
0.79344082
};
migraphx
::
shape
input_fixed_shape0
{
migraphx
::
shape
::
float_type
,
{
2
,
3
,
4
,
4
}};
migraphx
::
parameter_map
params0
;
...
...
@@ -104,8 +87,23 @@ TEST_CASE(conv_dyn_batch_test)
auto
result
=
p
.
eval
(
params0
).
back
();
std
::
vector
<
float
>
results_vector
(
64
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
sol
));
std
::
vector
<
float
>
gold
=
{
-
0.20817225
,
0.87965256
,
0.14958936
,
-
1.24887264
,
-
0.06540672
,
0.20778663
,
0.40456355
,
-
0.99900877
,
0.4917807
,
0.1994698
,
0.64205718
,
0.37798831
,
-
0.25315839
,
0.44276932
,
-
0.16138598
,
0.79344082
};
EXPECT
(
migraphx
::
verify
::
verify_rms_range
(
results_vector
,
gold
));
}
TEST_CASE
(
conv_dyn_img_shape_test
)
...
...
@@ -139,8 +137,6 @@ TEST_CASE(conv_dyn_img_shape_test)
0.15479768
,
0.46534674
,
0.16970931
,
0.49704618
,
0.07062198
,
0.01678321
,
0.53150934
,
0.39244495
,
0.9963813
};
std
::
vector
<
float
>
sol
=
{
6.1329393
,
4.3199925
,
5.448438
,
3.8497565
};
migraphx
::
shape
input_fixed_shape0
{
migraphx
::
shape
::
float_type
,
{
1
,
3
,
4
,
4
}};
migraphx
::
parameter_map
params0
;
...
...
@@ -151,7 +147,9 @@ TEST_CASE(conv_dyn_img_shape_test)
std
::
vector
<
float
>
results_vector
(
72
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
sol
));
std
::
vector
<
float
>
gold
=
{
6.1329393
,
4.3199925
,
5.448438
,
3.8497565
};
EXPECT
(
migraphx
::
verify
::
verify_rms_range
(
results_vector
,
gold
));
a
=
{
0.95600171
,
0.20768181
,
0.82844489
,
0.14928212
,
0.51280462
,
0.1359196
,
0.68903648
,
0.84174772
,
0.425509
,
0.956926
,
0.82533291
,
0.33821531
,
0.57576055
,
0.75330186
,
...
...
@@ -172,18 +170,18 @@ TEST_CASE(conv_dyn_img_shape_test)
0.14407301
,
0.80968594
,
0.38216188
,
0.35692557
,
0.2568538
,
0.83587388
,
0.43654904
,
0.04974508
,
0.80375029
,
0.25350374
,
0.1820275
,
0.23369029
,
0.54358755
};
s
ol
=
{
6.305986
,
5.564665
,
6.122996
,
5.7262855
,
5.5546584
,
5.779489
,
5.798161
,
5.160476
,
6.702436
,
5.4851074
,
6.227567
,
5.2016754
};
g
ol
d
=
{
6.305986
,
5.564665
,
6.122996
,
5.7262855
,
5.5546584
,
5.779489
,
5.798161
,
5.160476
,
6.702436
,
5.4851074
,
6.227567
,
5.2016754
};
migraphx
::
shape
input_fixed_shape1
{
migraphx
::
shape
::
float_type
,
{
1
,
3
,
6
,
5
}};
migraphx
::
parameter_map
params1
;
...
...
@@ -193,7 +191,7 @@ TEST_CASE(conv_dyn_img_shape_test)
result
=
p
.
eval
(
params1
).
back
();
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
s
ol
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
g
ol
d
));
}
TEST_CASE
(
conv_dyn_weights_shape_test
)
...
...
@@ -221,27 +219,18 @@ TEST_CASE(conv_dyn_weights_shape_test)
0.77388606
,
0.1752363
,
0.74631394
,
0.24604889
,
0.53600244
,
0.22116457
,
0.81217463
,
0.10789447
,
0.43083784
,
0.63371852
,
0.69742316
,
0.09536905
};
std
::
vector
<
float
>
c
=
{
0.98411968
,
0.2899219
,
0.44638833
,
0.30390816
,
0.03989896
,
0.2445332
,
0.32700131
,
0.57517075
,
0.06956476
,
0.93079306
,
0.19882314
,
0.52940601
};
std
::
vector
<
float
>
sol
=
{
1.9939406
,
2.2703054
,
1.8896171
,
2.062202
,
2.3035214
,
1.629366
,
2.1606991
,
2.1917608
,
1.6797699
};
std
::
vector
<
float
>
c
=
{
0.98411968
,
0.2899219
,
0.44638833
,
0.30390816
,
0.03989896
,
0.2445332
,
0.32700131
,
0.57517075
,
0.06956476
,
0.93079306
,
0.19882314
,
0.52940601
};
migraphx
::
shape
weight_fixed_shape0
{
migraphx
::
shape
::
float_type
,
{
1
,
3
,
2
,
2
}};
...
...
@@ -252,14 +241,23 @@ TEST_CASE(conv_dyn_weights_shape_test)
auto
result
=
p
.
eval
(
params0
).
back
();
std
::
vector
<
float
>
results_vector
(
72
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
sol
));
c
=
{
0.98411968
,
0.2899219
,
0.44638833
,
0.30390816
,
0.03989896
,
0.2445332
,
0.32700131
,
0.57517075
,
0.06956476
,
0.93079306
,
0.19882314
,
0.52940601
,
0.35624753
,
0.35938406
,
0.9111428
,
0.88923574
,
0.61040283
,
0.2797513
,
0.15479768
,
0.46534674
,
0.16970931
,
0.49704618
,
0.07062198
,
0.01678321
,
0.53150934
,
0.39244495
,
0.9963813
};
sol
=
{
6.1329393
,
4.3199925
,
5.448438
,
3.8497565
};
std
::
vector
<
float
>
gold
=
{
1.9939406
,
2.2703054
,
1.8896171
,
2.062202
,
2.3035214
,
1.629366
,
2.1606991
,
2.1917608
,
1.6797699
};
EXPECT
(
migraphx
::
verify
::
verify_rms_range
(
results_vector
,
gold
));
c
=
{
0.98411968
,
0.2899219
,
0.44638833
,
0.30390816
,
0.03989896
,
0.2445332
,
0.32700131
,
0.57517075
,
0.06956476
,
0.93079306
,
0.19882314
,
0.52940601
,
0.35624753
,
0.35938406
,
0.9111428
,
0.88923574
,
0.61040283
,
0.2797513
,
0.15479768
,
0.46534674
,
0.16970931
,
0.49704618
,
0.07062198
,
0.01678321
,
0.53150934
,
0.39244495
,
0.9963813
};
gold
=
{
6.1329393
,
4.3199925
,
5.448438
,
3.8497565
};
migraphx
::
shape
weights_fixed_shape1
{
migraphx
::
shape
::
float_type
,
{
1
,
3
,
3
,
3
}};
migraphx
::
parameter_map
params1
;
...
...
@@ -269,7 +267,7 @@ TEST_CASE(conv_dyn_weights_shape_test)
result
=
p
.
eval
(
params1
).
back
();
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
s
ol
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
g
ol
d
));
}
TEST_CASE
(
conv_dyn_img_same_upper_test
)
...
...
@@ -313,23 +311,6 @@ TEST_CASE(conv_dyn_img_same_upper_test)
7.9253986e-02
,
7.3943835e-01
,
1.7813577e-01
,
1.0780835e-01
,
4.2304707e-01
,
4.0084350e-01
,
1.1114500e-01
,
4.4846520e-01
,
5.0109702e-01
};
std
::
vector
<
float
>
sol
=
{
3.013387
,
3.7111127
,
4.2946506
,
3.579301
,
4.5306826
,
6.1262493
,
6.332169
,
4.495293
,
4.46013
,
6.0938954
,
5.848162
,
4.514299
,
2.9587686
,
4.117671
,
3.5187216
,
2.3236327
};
migraphx
::
shape
input_fixed_shape0
{
migraphx
::
shape
::
float_type
,
{
1
,
3
,
4
,
4
}};
migraphx
::
parameter_map
params0
;
...
...
@@ -339,7 +320,23 @@ TEST_CASE(conv_dyn_img_same_upper_test)
auto
result
=
p
.
eval
(
params0
).
back
();
std
::
vector
<
float
>
results_vector
(
16
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
sol
));
std
::
vector
<
float
>
gold
=
{
3.013387
,
3.7111127
,
4.2946506
,
3.579301
,
4.5306826
,
6.1262493
,
6.332169
,
4.495293
,
4.46013
,
6.0938954
,
5.848162
,
4.514299
,
2.9587686
,
4.117671
,
3.5187216
,
2.3236327
};
EXPECT
(
migraphx
::
verify
::
verify_rms_range
(
results_vector
,
gold
));
}
TEST_CASE
(
conv_dyn_kernel_same_upper_test
)
...
...
@@ -361,47 +358,31 @@ TEST_CASE(conv_dyn_kernel_same_upper_test)
p
.
compile
(
migraphx
::
make_target
(
"ref"
));
std
::
vector
<
float
>
a
=
{
0.63321185
,
0.6466339
,
0.8515352
,
0.44240063
,
0.5018913
,
0.5068494
,
0.75330657
,
0.7383877
,
0.15870683
,
0.8171611
,
0.56118083
,
0.87004256
,
0.24401724
,
0.8815178
,
0.4222333
,
0.27191755
,
0.41633207
,
0.2460619
,
0.32004243
,
0.6962248
,
0.12284133
,
0.2620491
,
0.96931046
,
0.6030955
,
0.7623861
,
0.2395751
,
0.61440414
,
0.577285
,
0.80087787
,
0.12776066
,
0.26566318
,
0.46569306
,
0.96701574
,
0.3850145
,
0.14165345
,
0.5887347
,
0.7152134
,
0.5295342
,
0.6303507
,
0.4037548
,
0.18556239
,
0.79416305
,
0.29107493
,
0.18770285
,
0.6870904
,
0.30701008
,
0.314684
,
0.91075855
};
std
::
vector
<
float
>
c
=
{
2.8150102e-01
,
3.3198616e-01
,
9.5149356e-01
,
7.4039467e-02
,
9.6555042e-01
,
2.8815505e-01
,
2.5100240e-01
,
5.2186239e-01
,
2.3850012e-01
,
8.2963020e-01
,
3.0763101e-04
,
6.7026985e-01
};
std
::
vector
<
float
>
sol
=
{
2.453681
,
2.536207
,
3.0187201
,
1.7912633
,
2.1738236
,
2.9695358
,
3.2319589
,
1.859269
,
2.5953722
,
2.50734
,
2.7736917
,
1.2229807
,
1.5900216
,
0.9225286
,
1.43048
,
0.74341124
};
std
::
vector
<
float
>
a
=
{
0.63321185
,
0.6466339
,
0.8515352
,
0.44240063
,
0.5018913
,
0.5068494
,
0.75330657
,
0.7383877
,
0.15870683
,
0.8171611
,
0.56118083
,
0.87004256
,
0.24401724
,
0.8815178
,
0.4222333
,
0.27191755
,
0.41633207
,
0.2460619
,
0.32004243
,
0.6962248
,
0.12284133
,
0.2620491
,
0.96931046
,
0.6030955
,
0.7623861
,
0.2395751
,
0.61440414
,
0.577285
,
0.80087787
,
0.12776066
,
0.26566318
,
0.46569306
,
0.96701574
,
0.3850145
,
0.14165345
,
0.5887347
,
0.7152134
,
0.5295342
,
0.6303507
,
0.4037548
,
0.18556239
,
0.79416305
,
0.29107493
,
0.18770285
,
0.6870904
,
0.30701008
,
0.314684
,
0.91075855
};
std
::
vector
<
float
>
c
=
{
2.8150102e-01
,
3.3198616e-01
,
9.5149356e-01
,
7.4039467e-02
,
9.6555042e-01
,
2.8815505e-01
,
2.5100240e-01
,
5.2186239e-01
,
2.3850012e-01
,
8.2963020e-01
,
3.0763101e-04
,
6.7026985e-01
};
migraphx
::
shape
weight_fixed_shape0
{
migraphx
::
shape
::
float_type
,
{
1
,
3
,
2
,
2
}};
...
...
@@ -412,7 +393,23 @@ TEST_CASE(conv_dyn_kernel_same_upper_test)
auto
result
=
p
.
eval
(
params0
).
back
();
std
::
vector
<
float
>
results_vector
(
16
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
sol
));
std
::
vector
<
float
>
gold
=
{
2.453681
,
2.536207
,
3.0187201
,
1.7912633
,
2.1738236
,
2.9695358
,
3.2319589
,
1.859269
,
2.5953722
,
2.50734
,
2.7736917
,
1.2229807
,
1.5900216
,
0.9225286
,
1.43048
,
0.74341124
};
EXPECT
(
migraphx
::
verify
::
verify_rms_range
(
results_vector
,
gold
));
}
TEST_CASE
(
conv_dyn_kernel_same_lower_test
)
...
...
@@ -434,47 +431,31 @@ TEST_CASE(conv_dyn_kernel_same_lower_test)
p
.
compile
(
migraphx
::
make_target
(
"ref"
));
std
::
vector
<
float
>
a
=
{
0.63321185
,
0.6466339
,
0.8515352
,
0.44240063
,
0.5018913
,
0.5068494
,
0.75330657
,
0.7383877
,
0.15870683
,
0.8171611
,
0.56118083
,
0.87004256
,
0.24401724
,
0.8815178
,
0.4222333
,
0.27191755
,
0.41633207
,
0.2460619
,
0.32004243
,
0.6962248
,
0.12284133
,
0.2620491
,
0.96931046
,
0.6030955
,
0.7623861
,
0.2395751
,
0.61440414
,
0.577285
,
0.80087787
,
0.12776066
,
0.26566318
,
0.46569306
,
0.96701574
,
0.3850145
,
0.14165345
,
0.5887347
,
0.7152134
,
0.5295342
,
0.6303507
,
0.4037548
,
0.18556239
,
0.79416305
,
0.29107493
,
0.18770285
,
0.6870904
,
0.30701008
,
0.314684
,
0.91075855
};
std
::
vector
<
float
>
c
=
{
2.8150102e-01
,
3.3198616e-01
,
9.5149356e-01
,
7.4039467e-02
,
9.6555042e-01
,
2.8815505e-01
,
2.5100240e-01
,
5.2186239e-01
,
2.3850012e-01
,
8.2963020e-01
,
3.0763101e-04
,
6.7026985e-01
};
std
::
vector
<
float
>
sol
=
{
0.91231215
,
1.1416453
,
1.00216
,
1.6813052
,
1.7131033
,
2.453681
,
2.536207
,
3.0187201
,
1.3293691
,
2.1738236
,
2.9695358
,
3.2319589
,
1.3228729
,
2.5953722
,
2.50734
,
2.7736917
};
std
::
vector
<
float
>
a
=
{
0.63321185
,
0.6466339
,
0.8515352
,
0.44240063
,
0.5018913
,
0.5068494
,
0.75330657
,
0.7383877
,
0.15870683
,
0.8171611
,
0.56118083
,
0.87004256
,
0.24401724
,
0.8815178
,
0.4222333
,
0.27191755
,
0.41633207
,
0.2460619
,
0.32004243
,
0.6962248
,
0.12284133
,
0.2620491
,
0.96931046
,
0.6030955
,
0.7623861
,
0.2395751
,
0.61440414
,
0.577285
,
0.80087787
,
0.12776066
,
0.26566318
,
0.46569306
,
0.96701574
,
0.3850145
,
0.14165345
,
0.5887347
,
0.7152134
,
0.5295342
,
0.6303507
,
0.4037548
,
0.18556239
,
0.79416305
,
0.29107493
,
0.18770285
,
0.6870904
,
0.30701008
,
0.314684
,
0.91075855
};
std
::
vector
<
float
>
c
=
{
2.8150102e-01
,
3.3198616e-01
,
9.5149356e-01
,
7.4039467e-02
,
9.6555042e-01
,
2.8815505e-01
,
2.5100240e-01
,
5.2186239e-01
,
2.3850012e-01
,
8.2963020e-01
,
3.0763101e-04
,
6.7026985e-01
};
migraphx
::
shape
weight_fixed_shape0
{
migraphx
::
shape
::
float_type
,
{
1
,
3
,
2
,
2
}};
...
...
@@ -485,7 +466,24 @@ TEST_CASE(conv_dyn_kernel_same_lower_test)
auto
result
=
p
.
eval
(
params0
).
back
();
std
::
vector
<
float
>
results_vector
(
16
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
sol
));
std
::
vector
<
float
>
gold
=
{
0.91231215
,
1.1416453
,
1.00216
,
1.6813052
,
1.7131033
,
2.453681
,
2.536207
,
3.0187201
,
1.3293691
,
2.1738236
,
2.9695358
,
3.2319589
,
1.3228729
,
2.5953722
,
2.50734
,
2.7736917
};
EXPECT
(
migraphx
::
verify
::
verify_rms_range
(
results_vector
,
gold
));
}
TEST_CASE
(
conv2d_padding_stride_test
)
...
...
@@ -518,23 +516,6 @@ TEST_CASE(conv2d_padding_stride_test)
-
0.06269585
,
0.18658121
,
-
0.03944227
,
0.0111798
,
-
0.17731084
,
0.11789055
,
-
0.09982193
,
0.08142821
,
0.0729029
,
0.11303909
,
0.12735154
,
0.03885292
};
std
::
vector
<
float
>
s
=
{
-
0.20817225
,
0.87965256
,
0.14958936
,
-
1.24887264
,
-
0.06540672
,
0.20778663
,
0.40456355
,
-
0.99900877
,
0.4917807
,
0.1994698
,
0.64205718
,
0.37798831
,
-
0.25315839
,
0.44276932
,
-
0.16138598
,
0.79344082
};
migraphx
::
shape
a_shape
{
migraphx
::
shape
::
float_type
,
{
2
,
3
,
4
,
4
}};
auto
al
=
mm
->
add_literal
(
migraphx
::
literal
{
a_shape
,
a
});
...
...
@@ -548,7 +529,24 @@ TEST_CASE(conv2d_padding_stride_test)
std
::
vector
<
float
>
results_vector
(
16
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
s
));
std
::
vector
<
float
>
gold
=
{
-
0.20817225
,
0.87965256
,
0.14958936
,
-
1.24887264
,
-
0.06540672
,
0.20778663
,
0.40456355
,
-
0.99900877
,
0.4917807
,
0.1994698
,
0.64205718
,
0.37798831
,
-
0.25315839
,
0.44276932
,
-
0.16138598
,
0.79344082
};
EXPECT
(
migraphx
::
verify
::
verify_rms_range
(
results_vector
,
gold
));
}
TEST_CASE
(
conv2d_padding_test
)
...
...
@@ -581,18 +579,6 @@ TEST_CASE(conv2d_padding_test)
0.14747436
,
-
0.06199479
,
-
0.01166052
,
-
0.12432006
,
-
0.04494537
,
-
0.17581205
,
0.09475745
,
0.1149437
,
-
0.1014564
,
0.0274073
,
-
0.01323579
,
-
0.11092556
};
std
::
vector
<
float
>
s
=
{
-
0.0201216
,
0.40407312
,
-
0.39005592
,
-
0.0631946
,
0.37963012
,
-
0.64611685
,
0.1349397
,
-
0.54113752
,
0.28533003
,
0.27667275
,
-
0.16442731
,
-
0.181494
,
0.30564839
,
0.58744538
,
0.32015014
,
0.24969585
,
-
0.27367792
,
-
0.53308117
,
0.41236052
,
0.26136363
,
-
0.01489828
,
0.57652152
,
-
0.38506854
,
0.119615
,
0.0437076
,
0.04779706
,
0.57887721
,
0.23126155
,
0.05695833
,
-
0.68200272
,
0.02063358
,
-
0.10267162
,
0.8062973
,
-
0.38149622
,
-
0.40134856
,
-
0.03353126
,
0.38991132
,
-
0.3478111
,
0.03661491
,
0.25783631
,
0.62772679
,
-
0.1961118
,
0.76423508
,
-
0.36241418
,
-
0.20994355
,
-
0.12368261
,
-
0.9406727
,
0.02340185
,
-
0.08793129
,
-
0.02471633
,
-
0.58163726
,
-
0.02211772
,
-
0.42014724
,
0.77525634
,
0.504951
,
-
0.20537445
,
-
0.20369984
,
-
0.83037728
,
-
1.40423918
,
-
0.46160448
,
-
0.22944322
,
0.36074194
,
0.49579027
,
0.46527559
};
migraphx
::
shape
a_shape
{
migraphx
::
shape
::
float_type
,
{
2
,
3
,
4
,
4
}};
auto
al
=
mm
->
add_literal
(
migraphx
::
literal
{
a_shape
,
a
});
...
...
@@ -606,7 +592,18 @@ TEST_CASE(conv2d_padding_test)
std
::
vector
<
float
>
results_vector
(
64
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
s
));
std
::
vector
<
float
>
gold
=
{
-
0.0201216
,
0.40407312
,
-
0.39005592
,
-
0.0631946
,
0.37963012
,
-
0.64611685
,
0.1349397
,
-
0.54113752
,
0.28533003
,
0.27667275
,
-
0.16442731
,
-
0.181494
,
0.30564839
,
0.58744538
,
0.32015014
,
0.24969585
,
-
0.27367792
,
-
0.53308117
,
0.41236052
,
0.26136363
,
-
0.01489828
,
0.57652152
,
-
0.38506854
,
0.119615
,
0.0437076
,
0.04779706
,
0.57887721
,
0.23126155
,
0.05695833
,
-
0.68200272
,
0.02063358
,
-
0.10267162
,
0.8062973
,
-
0.38149622
,
-
0.40134856
,
-
0.03353126
,
0.38991132
,
-
0.3478111
,
0.03661491
,
0.25783631
,
0.62772679
,
-
0.1961118
,
0.76423508
,
-
0.36241418
,
-
0.20994355
,
-
0.12368261
,
-
0.9406727
,
0.02340185
,
-
0.08793129
,
-
0.02471633
,
-
0.58163726
,
-
0.02211772
,
-
0.42014724
,
0.77525634
,
0.504951
,
-
0.20537445
,
-
0.20369984
,
-
0.83037728
,
-
1.40423918
,
-
0.46160448
,
-
0.22944322
,
0.36074194
,
0.49579027
,
0.46527559
};
EXPECT
(
migraphx
::
verify
::
verify_rms_range
(
results_vector
,
gold
));
}
TEST_CASE
(
conv2d_test
)
...
...
@@ -642,22 +639,6 @@ TEST_CASE(conv2d_test)
1.61106288e-02
,
-
1.35080189e-01
,
1.49512306e-01
,
3.86456847e-02
,
1.29330024e-01
,
-
3.22975963e-02
,
-
5.60784787e-02
,
-
5.41997552e-02
,
4.78562862e-02
};
std
::
vector
<
float
>
s
=
{
0.27039781
,
0.19105849
,
-
0.06339942
,
-
0.65087199
,
0.40867025
,
0.05063812
,
-
0.14907975
,
0.49018705
,
-
0.49197209
,
0.33236548
,
-
0.39374301
,
0.16012701
,
0.06574871
,
0.71606487
,
-
0.55201721
,
-
0.46427044
};
migraphx
::
shape
a_shape
{
migraphx
::
shape
::
float_type
,
{
2
,
3
,
4
,
4
}};
auto
al
=
mm
->
add_literal
(
migraphx
::
literal
{
a_shape
,
a
});
...
...
@@ -670,7 +651,24 @@ TEST_CASE(conv2d_test)
std
::
vector
<
float
>
results_vector
(
16
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
s
));
std
::
vector
<
float
>
gold
=
{
0.27039781
,
0.19105849
,
-
0.06339942
,
-
0.65087199
,
0.40867025
,
0.05063812
,
-
0.14907975
,
0.49018705
,
-
0.49197209
,
0.33236548
,
-
0.39374301
,
0.16012701
,
0.06574871
,
0.71606487
,
-
0.55201721
,
-
0.46427044
};
EXPECT
(
migraphx
::
verify
::
verify_rms_range
(
results_vector
,
gold
));
}
TEST_CASE
(
conv3d_test
)
...
...
@@ -706,22 +704,6 @@ TEST_CASE(conv3d_test)
1.61106288e-02
,
-
1.35080189e-01
,
1.49512306e-01
,
3.86456847e-02
,
1.29330024e-01
,
-
3.22975963e-02
,
-
5.60784787e-02
,
-
5.41997552e-02
,
4.78562862e-02
};
std
::
vector
<
float
>
s
=
{
0.27039781
,
0.19105849
,
-
0.06339942
,
-
0.65087199
,
0.40867025
,
0.05063812
,
-
0.14907975
,
0.49018705
,
-
0.49197209
,
0.33236548
,
-
0.39374301
,
0.16012701
,
0.06574871
,
0.71606487
,
-
0.55201721
,
-
0.46427044
};
migraphx
::
shape
a_shape
{
migraphx
::
shape
::
float_type
,
{
2
,
3
,
4
,
4
,
1
}};
auto
al
=
mm
->
add_literal
(
migraphx
::
literal
{
a_shape
,
a
});
...
...
@@ -738,5 +720,21 @@ TEST_CASE(conv3d_test)
std
::
vector
<
float
>
results_vector
(
16
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
s
));
std
::
vector
<
float
>
gold
=
{
0.27039781
,
0.19105849
,
-
0.06339942
,
-
0.65087199
,
0.40867025
,
0.05063812
,
-
0.14907975
,
0.49018705
,
-
0.49197209
,
0.33236548
,
-
0.39374301
,
0.16012701
,
0.06574871
,
0.71606487
,
-
0.55201721
,
-
0.46427044
};
EXPECT
(
migraphx
::
verify
::
verify_rms_range
(
results_vector
,
gold
));
}
test/ref/convolution_backwards.cpp
View file @
f6b08c2a
...
...
@@ -52,7 +52,7 @@ TEST_CASE(convolution_backwards_1d)
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
convolution_backwards_2d
)
...
...
@@ -75,7 +75,7 @@ TEST_CASE(convolution_backwards_2d)
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
convolution_backwards_3d
)
...
...
@@ -113,7 +113,7 @@ TEST_CASE(convolution_backwards_3d)
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
convolution_backwards_padding1
)
...
...
@@ -139,7 +139,7 @@ TEST_CASE(convolution_backwards_padding1)
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
convolution_backwards_padding2
)
...
...
@@ -165,7 +165,7 @@ TEST_CASE(convolution_backwards_padding2)
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
convolution_backwards_2stride
)
...
...
@@ -192,7 +192,7 @@ TEST_CASE(convolution_backwards_2stride)
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
convolution_backwards_2dilation
)
...
...
@@ -219,7 +219,7 @@ TEST_CASE(convolution_backwards_2dilation)
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
convolution_backwards_dyn_batch1
)
...
...
@@ -247,7 +247,7 @@ TEST_CASE(convolution_backwards_dyn_batch1)
27
,
15
,
9
,
20
,
33
,
24
,
13
,
6
,
13
,
21
,
15
,
8
};
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
convolution_backwards_dyn_batch2
)
...
...
@@ -288,5 +288,5 @@ TEST_CASE(convolution_backwards_dyn_batch2)
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/cos.cpp
View file @
f6b08c2a
...
...
@@ -45,7 +45,7 @@ TEST_CASE(cos_test)
std
::
vector
<
float
>
gold
=
data
;
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
cosf
(
n
);
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
cos_dyn_test
)
...
...
@@ -68,5 +68,5 @@ TEST_CASE(cos_dyn_test)
std
::
vector
<
float
>
gold
=
input_data
;
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
cosf
(
n
);
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/cosh.cpp
View file @
f6b08c2a
...
...
@@ -45,7 +45,7 @@ TEST_CASE(cosh_test)
std
::
vector
<
float
>
gold
=
data
;
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
coshf
(
n
);
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
cosh_dyn_test
)
...
...
@@ -68,5 +68,5 @@ TEST_CASE(cosh_dyn_test)
std
::
vector
<
float
>
gold
=
input_data
;
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
coshf
(
n
);
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/dimensions_of.cpp
View file @
f6b08c2a
...
...
@@ -47,7 +47,7 @@ TEST_CASE(dimensions_of_test0)
std
::
vector
<
int64_t
>
results_vector
(
3
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
int64_t
>
gold
=
{
2
,
3
,
4
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
dimensions_of_test1
)
...
...
@@ -67,5 +67,5 @@ TEST_CASE(dimensions_of_test1)
std
::
vector
<
int64_t
>
results_vector
(
2
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
int64_t
>
gold
=
{
4
,
4
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/div.cpp
View file @
f6b08c2a
...
...
@@ -46,7 +46,7 @@ TEST_CASE(div_test)
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
(
data1
.
size
());
std
::
transform
(
data1
.
begin
(),
data1
.
end
(),
data2
.
begin
(),
gold
.
begin
(),
std
::
divides
<
float
>
());
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
div_dyn_test
)
...
...
@@ -72,5 +72,5 @@ TEST_CASE(div_dyn_test)
std
::
vector
<
float
>
gold
(
x_data
.
size
());
std
::
transform
(
x_data
.
begin
(),
x_data
.
end
(),
y_data
.
begin
(),
gold
.
begin
(),
std
::
divides
<
float
>
());
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/dot_op.cpp
View file @
f6b08c2a
...
...
@@ -36,38 +36,27 @@ void dot_2d_test()
{
migraphx
::
program
p
;
auto
*
mm
=
p
.
get_main_module
();
std
::
vector
<
T
>
a
=
{
-
0.00925222
,
0.56250403
,
0.70107397
,
0.75402161
,
-
0.505885
,
1.33628943
,
-
0.11413
,
-
0.31270559
,
1.59336732
,
-
0.19361027
,
-
0.91620867
,
0.40108416
,
-
0.06969921
,
0.68483471
,
-
0.39906632
,
-
1.66423624
,
0.69040076
,
-
1.31490171
,
-
0.11282616
,
-
0.79391814
};
std
::
vector
<
float
>
b
=
{
6.09568541e-01
,
-
6.10527007e-01
,
3.66646462e-01
,
1.18951101e-01
,
5.58777432e-01
,
-
3.21296298e-01
,
-
5.95997198e-01
,
-
5.01425721e-01
,
-
2.84606807e-01
,
-
5.73673557e-01
,
-
8.99430260e-01
,
-
4.25103093e-01
,
1.53027987e+00
,
-
3.81407415e-04
,
-
3.29650255e-01
};
std
::
vector
<
float
>
c
=
{
-
1.56327541e+00
,
-
7.09570140e-01
,
-
5.37424982e-01
,
-
2.22994831e-01
,
-
2.15586437e+00
,
2.09177941e-03
,
-
1.47279677e+00
,
2.02627040e-01
,
-
6.04527691e-01
,
-
1.29885596e+00
,
2.16294914e+00
,
-
1.48101497e-01
};
auto
*
mm
=
p
.
get_main_module
();
std
::
vector
<
T
>
a
=
{
-
0.00925222
,
0.56250403
,
0.70107397
,
0.75402161
,
-
0.505885
,
1.33628943
,
-
0.11413
,
-
0.31270559
,
1.59336732
,
-
0.19361027
,
-
0.91620867
,
0.40108416
,
-
0.06969921
,
0.68483471
,
-
0.39906632
,
-
1.66423624
,
0.69040076
,
-
1.31490171
,
-
0.11282616
,
-
0.79391814
};
std
::
vector
<
T
>
b
=
{
6.09568541e-01
,
-
6.10527007e-01
,
3.66646462e-01
,
1.18951101e-01
,
5.58777432e-01
,
-
3.21296298e-01
,
-
5.95997198e-01
,
-
5.01425721e-01
,
-
2.84606807e-01
,
-
5.73673557e-01
,
-
8.99430260e-01
,
-
4.25103093e-01
,
1.53027987e+00
,
-
3.81407415e-04
,
-
3.29650255e-01
};
migraphx
::
shape
a_shape
{
migraphx
::
shape
::
get_type
<
T
>
{},
{
4
,
5
}};
auto
al
=
mm
->
add_literal
(
migraphx
::
literal
{
a_shape
,
a
});
migraphx
::
shape
b_shape
{
migraphx
::
shape
::
get_type
<
T
>
{},
{
5
,
3
}};
...
...
@@ -77,7 +66,20 @@ void dot_2d_test()
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
T
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
c
,
results_vector
));
std
::
vector
<
T
>
gold
=
{
-
1.56327541e+00
,
-
7.09570140e-01
,
-
5.37424982e-01
,
-
2.22994831e-01
,
-
2.15586437e+00
,
2.09177941e-03
,
-
1.47279677e+00
,
2.02627040e-01
,
-
6.04527691e-01
,
-
1.29885596e+00
,
2.16294914e+00
,
-
1.48101497e-01
};
EXPECT
(
migraphx
::
verify
::
verify_range_with_tolerance
(
results_vector
,
migraphx
::
verify
::
expected
{
gold
},
migraphx
::
verify
::
tolerance
{
9e-6
}));
}
TEST_CASE_REGISTER
(
dot_2d_test
<
float
>
)
TEST_CASE_REGISTER
(
dot_2d_test
<
double
>
)
...
...
@@ -87,38 +89,38 @@ void dot_4d_test()
{
migraphx
::
program
p
;
auto
*
mm
=
p
.
get_main_module
();
std
::
vector
<
T
>
a
=
{
-
0.00925222
,
0.56250403
,
0.70107397
,
0.75402161
,
-
0.505885
,
1.33628943
,
-
0.11413
,
-
0.31270559
,
1.59336732
,
-
0.19361027
,
-
0.91620867
,
0.40108416
,
-
0.06969921
,
0.68483471
,
-
0.39906632
,
-
1.66423624
,
0.69040076
,
-
1.31490171
,
-
0.11282616
,
-
0.79391814
};
std
::
vector
<
float
>
b
=
{
6.09568541e-01
,
-
6.10527007e-01
,
3.66646462e-01
,
1.18951101e-01
,
5.58777432e-01
,
-
3.21296298e-01
,
-
5.95997198e-01
,
-
5.01425721e-01
,
-
2.84606807e-01
,
-
5.73673557e-01
,
-
8.99430260e-01
,
-
4.25103093e-01
,
1.53027987e+00
,
-
3.81407415e-04
,
-
3.29650255e-01
};
std
::
vector
<
float
>
c
=
{
-
1.56327541e+00
,
-
7.09570140e-01
,
-
5.37424982e-01
,
-
2.22994831e-01
,
-
2.15586437e+00
,
2.09177941e-03
,
-
1.47279677e+00
,
2.02627040e-01
,
-
6.04527691e-01
,
-
1.29885596e+00
,
2.16294914e+00
,
-
1.48101497e-01
};
auto
*
mm
=
p
.
get_main_module
();
std
::
vector
<
T
>
a
=
{
-
0.00925222
,
0.56250403
,
0.70107397
,
0.75402161
,
-
0.505885
,
1.33628943
,
-
0.11413
,
-
0.31270559
,
1.59336732
,
-
0.19361027
,
-
0.91620867
,
0.40108416
,
-
0.06969921
,
0.68483471
,
-
0.39906632
,
-
1.66423624
,
0.69040076
,
-
1.31490171
,
-
0.11282616
,
-
0.79391814
};
std
::
vector
<
T
>
b
=
{
6.09568541e-01
,
-
6.10527007e-01
,
3.66646462e-01
,
1.18951101e-01
,
5.58777432e-01
,
-
3.21296298e-01
,
-
5.95997198e-01
,
-
5.01425721e-01
,
-
2.84606807e-01
,
-
5.73673557e-01
,
-
8.99430260e-01
,
-
4.25103093e-01
,
1.53027987e+00
,
-
3.81407415e-04
,
-
3.29650255e-01
};
std
::
vector
<
T
>
gold
=
{
-
1.56327541e+00
,
-
7.09570140e-01
,
-
5.37424982e-01
,
-
2.22994831e-01
,
-
2.15586437e+00
,
2.09177941e-03
,
-
1.47279677e+00
,
2.02627040e-01
,
-
6.04527691e-01
,
-
1.29885596e+00
,
2.16294914e+00
,
-
1.48101497e-01
};
migraphx
::
shape
a_shape
{
migraphx
::
shape
::
get_type
<
T
>
{},
{
1
,
1
,
4
,
5
}};
auto
al
=
mm
->
add_literal
(
migraphx
::
literal
{
a_shape
,
a
});
migraphx
::
shape
b_shape
{
migraphx
::
shape
::
get_type
<
T
>
{},
{
1
,
1
,
5
,
3
}};
...
...
@@ -128,8 +130,10 @@ void dot_4d_test()
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
T
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
c
,
results_vector
));
EXPECT
(
migraphx
::
verify
::
verify_range_with_tolerance
(
results_vector
,
migraphx
::
verify
::
expected
{
gold
},
migraphx
::
verify
::
tolerance
{
9e-6
}));
}
TEST_CASE_REGISTER
(
dot_4d_test
<
float
>
)
TEST_CASE_REGISTER
(
dot_4d_test
<
double
>
)
...
...
@@ -166,24 +170,24 @@ TEST_CASE(dot_3D_test)
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
m_res
=
{
0.18208394
,
-
0.49276402
,
0.87189133
,
0.75150114
,
-
0.55909610
,
1.00521735
,
-
0.95536130
,
2.27996211
,
0.06239879
,
0.74700068
,
-
0.01570983
,
-
0.85920856
,
-
0.59070835
,
-
1.70729902
,
0.40245487
,
1.80182751
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
m_res
));
std
::
vector
<
float
>
gold
=
{
0.18208394
,
-
0.49276402
,
0.87189133
,
0.75150114
,
-
0.55909610
,
1.00521735
,
-
0.95536130
,
2.27996211
,
0.06239879
,
0.74700068
,
-
0.01570983
,
-
0.85920856
,
-
0.59070835
,
-
1.70729902
,
0.40245487
,
1.80182751
};
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_3D_C_test0
)
...
...
@@ -242,24 +246,24 @@ TEST_CASE(dot_3D_C_test0)
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
m_res
=
{
0.18208394
,
-
0.49276402
,
0.87189133
,
0.75150114
,
-
0.55909610
,
1.00521735
,
-
0.95536130
,
2.27996211
,
0.06239879
,
0.74700068
,
-
0.01570983
,
-
0.85920856
,
-
0.59070835
,
-
1.70729902
,
0.40245487
,
1.80182751
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
m_res
));
std
::
vector
<
float
>
gold
=
{
0.18208394
,
-
0.49276402
,
0.87189133
,
0.75150114
,
-
0.55909610
,
1.00521735
,
-
0.95536130
,
2.27996211
,
0.06239879
,
0.74700068
,
-
0.01570983
,
-
0.85920856
,
-
0.59070835
,
-
1.70729902
,
0.40245487
,
1.80182751
};
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_3D_C_test1
)
...
...
@@ -309,16 +313,16 @@ TEST_CASE(dot_3D_C_test1)
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
m_res
=
{
0.18208394
,
-
0.49276402
,
0.87189133
,
0.75150114
,
-
0.55909610
,
1.00521735
,
-
0.95536130
,
2.27996211
};
std
::
vector
<
float
>
gold
=
{
0.18208394
,
-
0.49276402
,
0.87189133
,
0.75150114
,
-
0.55909610
,
1.00521735
,
-
0.95536130
,
2.27996211
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
m_res
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_4D_test1
)
...
...
@@ -351,13 +355,13 @@ TEST_CASE(dot_4D_test1)
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
m_res
=
{
0.26735861
,
-
4.30770895
,
1.05257728
,
-
1.19954265
,
0.50493170
,
-
0.18729756
,
1.09137941
,
-
1.09298312
,
3.42956915
,
-
0.41681939
,
0.17833257
,
0.26040336
,
0.15351280
,
1.87632715
,
-
0.63545406
,
-
0.95467340
,
-
1.74728628
,
-
2.42477030
,
0.76262372
,
0.15539164
,
3.32281958
,
0.96769613
,
0.43727545
,
2.43019906
};
std
::
vector
<
float
>
gold
=
{
0.26735861
,
-
4.30770895
,
1.05257728
,
-
1.19954265
,
0.50493170
,
-
0.18729756
,
1.09137941
,
-
1.09298312
,
3.42956915
,
-
0.41681939
,
0.17833257
,
0.26040336
,
0.15351280
,
1.87632715
,
-
0.63545406
,
-
0.95467340
,
-
1.74728628
,
-
2.42477030
,
0.76262372
,
0.15539164
,
3.32281958
,
0.96769613
,
0.43727545
,
2.43019906
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
m_res
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_4D_alpha_beta_test
)
...
...
@@ -405,13 +409,13 @@ TEST_CASE(dot_4D_alpha_beta_test)
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
m_res
=
{
-
0.91147203
,
0.47540785
,
-
0.30313587
,
0.43325099
,
-
0.43711586
,
0.50928632
,
0.06919868
,
-
0.80382802
,
-
0.05125718
,
-
0.06685650
,
-
0.06972163
,
0.32407764
,
0.45677396
,
0.25909489
,
0.56911252
,
-
0.17183724
,
0.10858734
,
0.39406289
,
0.04662959
,
1.07979824
,
0.40355016
,
0.52410648
,
-
0.31728447
,
1.09550845
};
std
::
vector
<
float
>
gold
=
{
-
0.91147203
,
0.47540785
,
-
0.30313587
,
0.43325099
,
-
0.43711586
,
0.50928632
,
0.06919868
,
-
0.80382802
,
-
0.05125718
,
-
0.06685650
,
-
0.06972163
,
0.32407764
,
0.45677396
,
0.25909489
,
0.56911252
,
-
0.17183724
,
0.10858734
,
0.39406289
,
0.04662959
,
1.07979824
,
0.40355016
,
0.52410648
,
-
0.31728447
,
1.09550845
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
m_res
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_4D_alpha_beta_C_test
)
...
...
@@ -457,13 +461,13 @@ TEST_CASE(dot_4D_alpha_beta_C_test)
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
m_res
=
{
-
0.91147203
,
0.47540785
,
-
0.30313587
,
0.43325099
,
-
0.43711586
,
0.50928632
,
0.06919868
,
-
0.80382802
,
-
0.05125718
,
-
0.06685650
,
-
0.06972163
,
0.32407764
,
0.45677396
,
0.25909489
,
0.56911252
,
-
0.17183724
,
0.10858734
,
0.39406289
,
0.04662959
,
1.07979824
,
0.40355016
,
0.52410648
,
-
0.31728447
,
1.09550845
};
std
::
vector
<
float
>
gold
=
{
-
0.91147203
,
0.47540785
,
-
0.30313587
,
0.43325099
,
-
0.43711586
,
0.50928632
,
0.06919868
,
-
0.80382802
,
-
0.05125718
,
-
0.06685650
,
-
0.06972163
,
0.32407764
,
0.45677396
,
0.25909489
,
0.56911252
,
-
0.17183724
,
0.10858734
,
0.39406289
,
0.04662959
,
1.07979824
,
0.40355016
,
0.52410648
,
-
0.31728447
,
1.09550845
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
m_res
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_2D_C_test0
)
...
...
@@ -519,7 +523,7 @@ TEST_CASE(dot_2D_C_test0)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_vv_inner_product_1
)
...
...
@@ -555,7 +559,7 @@ TEST_CASE(dot_vv_inner_product_1)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_vv_inner_product_2
)
...
...
@@ -593,7 +597,7 @@ TEST_CASE(dot_vv_inner_product_2)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_vm_1
)
...
...
@@ -628,7 +632,7 @@ TEST_CASE(dot_vm_1)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_vm_2
)
...
...
@@ -665,7 +669,7 @@ TEST_CASE(dot_vm_2)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_vm_3
)
...
...
@@ -711,7 +715,7 @@ TEST_CASE(dot_vm_3)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_vm_4
)
...
...
@@ -758,7 +762,7 @@ TEST_CASE(dot_vm_4)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_mv_1
)
...
...
@@ -795,7 +799,7 @@ TEST_CASE(dot_mv_1)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_mv_2
)
...
...
@@ -834,7 +838,7 @@ TEST_CASE(dot_mv_2)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_mv_3
)
...
...
@@ -878,7 +882,7 @@ TEST_CASE(dot_mv_3)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_mm1_1
)
...
...
@@ -929,7 +933,7 @@ TEST_CASE(dot_mm1_1)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_mm1_2
)
...
...
@@ -982,7 +986,7 @@ TEST_CASE(dot_mm1_2)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_mm2_1
)
...
...
@@ -1024,7 +1028,7 @@ TEST_CASE(dot_mm2_1)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_mm2_2
)
...
...
@@ -1067,7 +1071,7 @@ TEST_CASE(dot_mm2_2)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_mm2_3
)
...
...
@@ -1116,7 +1120,7 @@ TEST_CASE(dot_mm2_3)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_mm2_4
)
...
...
@@ -1162,7 +1166,7 @@ TEST_CASE(dot_mm2_4)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
dot_dyn_2D_test
)
...
...
@@ -1202,19 +1206,19 @@ TEST_CASE(dot_dyn_2D_test)
auto
result
=
p
.
eval
(
params
).
back
();
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
c
=
{
-
1.56327541e+00
,
-
7.09570140e-01
,
-
5.37424982e-01
,
-
2.22994831e-01
,
-
2.15586437e+00
,
2.09177941e-03
,
-
1.47279677e+00
,
2.02627040e-01
,
-
6.04527691e-01
,
-
1.29885596e+00
,
2.16294914e+00
,
-
1.48101497e-01
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
c
,
results_vector
));
std
::
vector
<
float
>
gold
=
{
-
1.56327541e+00
,
-
7.09570140e-01
,
-
5.37424982e-01
,
-
2.22994831e-01
,
-
2.15586437e+00
,
2.09177941e-03
,
-
1.47279677e+00
,
2.02627040e-01
,
-
6.04527691e-01
,
-
1.29885596e+00
,
2.16294914e+00
,
-
1.48101497e-01
};
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
dot_dyn_4D_test
)
...
...
@@ -1256,19 +1260,19 @@ TEST_CASE(dot_dyn_4D_test)
auto
result
=
p
.
eval
(
params
).
back
();
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
c
=
{
-
1.56327541e+00
,
-
7.09570140e-01
,
-
5.37424982e-01
,
-
2.22994831e-01
,
-
2.15586437e+00
,
2.09177941e-03
,
-
1.47279677e+00
,
2.02627040e-01
,
-
6.04527691e-01
,
-
1.29885596e+00
,
2.16294914e+00
,
-
1.48101497e-01
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
c
,
results_vector
));
std
::
vector
<
float
>
gold
=
{
-
1.56327541e+00
,
-
7.09570140e-01
,
-
5.37424982e-01
,
-
2.22994831e-01
,
-
2.15586437e+00
,
2.09177941e-03
,
-
1.47279677e+00
,
2.02627040e-01
,
-
6.04527691e-01
,
-
1.29885596e+00
,
2.16294914e+00
,
-
1.48101497e-01
};
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
quant_dot_2args_multi4_1
)
...
...
@@ -1295,7 +1299,7 @@ TEST_CASE(quant_dot_2args_multi4_1)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_2args_multi4_2
)
...
...
@@ -1323,7 +1327,7 @@ TEST_CASE(quant_dot_2args_multi4_2)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_2args_multi4_3
)
...
...
@@ -1351,7 +1355,7 @@ TEST_CASE(quant_dot_2args_multi4_3)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_2args_multi4_4
)
...
...
@@ -1380,7 +1384,7 @@ TEST_CASE(quant_dot_2args_multi4_4)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_2args_general_1
)
...
...
@@ -1405,7 +1409,7 @@ TEST_CASE(quant_dot_2args_general_1)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_2args_general_2
)
...
...
@@ -1432,7 +1436,7 @@ TEST_CASE(quant_dot_2args_general_2)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_2args_general_3
)
...
...
@@ -1460,7 +1464,7 @@ TEST_CASE(quant_dot_2args_general_3)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_2args_general_4
)
...
...
@@ -1488,7 +1492,7 @@ TEST_CASE(quant_dot_2args_general_4)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_3args_general_1
)
...
...
@@ -1518,7 +1522,7 @@ TEST_CASE(quant_dot_3args_general_1)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_3args_general_2
)
...
...
@@ -1546,7 +1550,7 @@ TEST_CASE(quant_dot_3args_general_2)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_3args_general_3
)
...
...
@@ -1577,7 +1581,7 @@ TEST_CASE(quant_dot_3args_general_3)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_3args_general_4
)
...
...
@@ -1608,7 +1612,7 @@ TEST_CASE(quant_dot_3args_general_4)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_3args_general_5
)
...
...
@@ -1640,7 +1644,7 @@ TEST_CASE(quant_dot_3args_general_5)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_3args_batch_1
)
...
...
@@ -1674,7 +1678,7 @@ TEST_CASE(quant_dot_3args_batch_1)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
TEST_CASE
(
quant_dot_3args_batch_2
)
...
...
@@ -1713,5 +1717,5 @@ TEST_CASE(quant_dot_3args_batch_2)
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
float
>
m
;
result
.
visit
([
&
](
auto
output
)
{
m
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
m
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
m
,
gold
));
}
test/ref/elu.cpp
View file @
f6b08c2a
...
...
@@ -45,7 +45,7 @@ TEST_CASE(elu_test)
std
::
vector
<
float
>
results_vector
(
4
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
{
elu
(
alpha
,
-
1
),
elu
(
alpha
,
2
),
elu
(
alpha
,
-
3
),
elu
(
alpha
,
4
)};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
elu_dyn_test
)
...
...
@@ -67,5 +67,5 @@ TEST_CASE(elu_dyn_test)
std
::
vector
<
float
>
results_vector
(
4
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
{
elu
(
alpha
,
-
1
),
elu
(
alpha
,
2
),
elu
(
alpha
,
-
3
),
elu
(
alpha
,
4
)};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/erf.cpp
View file @
f6b08c2a
...
...
@@ -45,7 +45,7 @@ TEST_CASE(erf_test)
std
::
vector
<
float
>
gold
=
data
;
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
erff
(
n
);
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
erf_dyn_test
)
...
...
@@ -68,5 +68,5 @@ TEST_CASE(erf_dyn_test)
std
::
vector
<
float
>
gold
=
input_data
;
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
erff
(
n
);
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/exp.cpp
View file @
f6b08c2a
...
...
@@ -45,7 +45,7 @@ TEST_CASE(exp_test)
std
::
vector
<
float
>
gold
=
data
;
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
expf
(
n
);
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
exp_dyn_test
)
...
...
@@ -68,5 +68,5 @@ TEST_CASE(exp_dyn_test)
std
::
vector
<
float
>
gold
=
input_data
;
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
expf
(
n
);
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/fill.cpp
View file @
f6b08c2a
...
...
@@ -51,7 +51,7 @@ TEST_CASE(fill_static_int)
std
::
vector
<
int64_t
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
int64_t
>
gold
(
48
,
3
);
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
fill_dyn_float
)
...
...
@@ -75,7 +75,7 @@ TEST_CASE(fill_dyn_float)
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
(
72
,
7.36
);
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
fill_var_default_value
)
...
...
@@ -98,5 +98,5 @@ TEST_CASE(fill_var_default_value)
std
::
vector
<
int64_t
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
int64_t
>
gold
(
48
,
2
);
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/floor.cpp
View file @
f6b08c2a
...
...
@@ -45,7 +45,7 @@ TEST_CASE(floor_test)
std
::
vector
<
float
>
gold
=
data
;
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
floor
(
n
);
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
floor_dyn_test
)
...
...
@@ -68,5 +68,5 @@ TEST_CASE(floor_dyn_test)
std
::
vector
<
float
>
gold
=
input_data
;
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
floor
(
n
);
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/fmod.cpp
View file @
f6b08c2a
...
...
@@ -45,7 +45,7 @@ TEST_CASE(fmod_test)
std
::
vector
<
float
>
results_vector
(
4
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
{
-
1
,
0
,
-
3
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
fmod_dyn_test
)
...
...
@@ -73,7 +73,7 @@ TEST_CASE(fmod_dyn_test)
std
::
vector
<
float
>
results_vector
(
4
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
{
-
1
,
0
,
-
3
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
TEST_CASE
(
fmod_float_test
)
...
...
@@ -92,5 +92,5 @@ TEST_CASE(fmod_float_test)
std
::
vector
<
float
>
results_vector
(
4
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
{
-
1.2
f
,
0.5
f
,
-
3.3
f
};
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
test/ref/gather.cpp
View file @
f6b08c2a
...
...
@@ -52,7 +52,7 @@ TEST_CASE(gather_non_std_test)
0.5
f
,
1.5
f
,
2.5
f
,
6.5
f
,
7.5
f
,
8.5
f
,
0.5
f
,
1.5
f
,
2.5
f
,
6.5
f
,
7.5
f
,
8.5
f
};
std
::
vector
<
float
>
res_data
;
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
golden
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
golden
));
}
}
...
...
@@ -75,7 +75,7 @@ TEST_CASE(gather_test_1)
std
::
vector
<
float
>
res_data
(
4
*
5
);
std
::
vector
<
float
>
golden
=
{
0.5
f
,
1.5
f
,
2.5
f
,
6.5
f
,
7.5
f
,
8.5
f
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
golden
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
golden
));
}
TEST_CASE
(
gather_test_2
)
...
...
@@ -97,7 +97,7 @@ TEST_CASE(gather_test_2)
std
::
vector
<
float
>
res_data
(
4
*
5
);
std
::
vector
<
float
>
golden
=
{
0.5
f
,
1.5
f
,
2.5
f
,
6.5
f
,
7.5
f
,
8.5
f
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
golden
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
golden
));
}
TEST_CASE
(
gather_test_3
)
...
...
@@ -119,7 +119,7 @@ TEST_CASE(gather_test_3)
std
::
vector
<
float
>
res_data
(
4
*
5
);
std
::
vector
<
float
>
golden
=
{
0.5
f
,
2.5
f
,
3.5
f
,
5.5
f
,
6.5
f
,
8.5
f
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
golden
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
golden
));
}
TEST_CASE
(
gather_test_4
)
...
...
@@ -141,7 +141,7 @@ TEST_CASE(gather_test_4)
std
::
vector
<
float
>
res_data
(
4
*
5
);
std
::
vector
<
float
>
golden
=
{
0.5
f
,
2.5
f
,
3.5
f
,
5.5
f
,
6.5
f
,
8.5
f
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
golden
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
golden
));
}
TEST_CASE
(
gather_test_5
)
...
...
@@ -164,7 +164,7 @@ TEST_CASE(gather_test_5)
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
golden
=
{
0.5
f
,
3.5
f
,
6.5
f
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
golden
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
golden
));
}
TEST_CASE
(
gather_test_6
)
...
...
@@ -187,7 +187,7 @@ TEST_CASE(gather_test_6)
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
golden
=
{
0.5
f
,
3.5
f
,
6.5
f
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
golden
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
golden
));
}
TEST_CASE
(
gather_test_7
)
...
...
@@ -210,7 +210,7 @@ TEST_CASE(gather_test_7)
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
golden
=
{
0.5
f
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
golden
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
golden
));
}
TEST_CASE
(
gather_dyn_test0
)
...
...
@@ -243,7 +243,7 @@ TEST_CASE(gather_dyn_test0)
std
::
vector
<
int
>
gold
=
{
1
,
2
,
4
,
5
};
std
::
vector
<
int
>
results_vector
(
2
*
1
*
2
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
migraphx
::
shape
sfinal
{
migraphx
::
shape
::
int32_type
,
{
2
,
1
,
2
}};
EXPECT
(
result
.
get_shape
()
==
sfinal
);
}
...
...
@@ -280,7 +280,7 @@ TEST_CASE(gather_dyn_test1)
std
::
vector
<
int
>
results_vector
(
1
*
2
*
4
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
migraphx
::
shape
sfinal
{
migraphx
::
shape
::
int32_type
,
{
1
,
2
,
4
}};
EXPECT
(
result
.
get_shape
()
==
sfinal
);
}
test/ref/gathernd.cpp
View file @
f6b08c2a
...
...
@@ -52,7 +52,7 @@ TEST_CASE(gathernd_test_1)
std
::
vector
<
float
>
gold
{
0
,
3
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
gold
));
}
TEST_CASE
(
gathernd_test_2
)
...
...
@@ -77,7 +77,7 @@ TEST_CASE(gathernd_test_2)
std
::
vector
<
float
>
gold
{
2
,
3
,
0
,
1
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
gold
));
}
TEST_CASE
(
gathernd_test_3
)
...
...
@@ -102,7 +102,7 @@ TEST_CASE(gathernd_test_3)
std
::
vector
<
float
>
gold
{
3
,
4
,
5
,
0
,
1
,
2
,
0
,
1
,
2
,
3
,
4
,
5
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
gold
));
}
TEST_CASE
(
gathernd_test_4
)
...
...
@@ -128,7 +128,7 @@ TEST_CASE(gathernd_test_4)
std
::
vector
<
float
>
gold
{
0
,
1
,
2
,
3
,
4
,
5
,
18
,
19
,
20
,
21
,
22
,
23
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
gold
));
}
TEST_CASE
(
gathernd_test_5
)
...
...
@@ -155,7 +155,7 @@ TEST_CASE(gathernd_test_5)
std
::
vector
<
float
>
gold
{
0
,
4
,
8
,
11
,
13
,
15
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
gold
));
}
TEST_CASE
(
gathernd_test_6
)
...
...
@@ -215,7 +215,7 @@ TEST_CASE(gathernd_dynamic0)
std
::
vector
<
float
>
gold
{
3
,
4
,
5
,
0
,
1
,
2
,
0
,
1
,
2
,
3
,
4
,
5
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
gold
));
}
TEST_CASE
(
gathernd_dynamic1
)
...
...
@@ -251,7 +251,7 @@ TEST_CASE(gathernd_dynamic1)
std
::
vector
<
float
>
gold
{
3
,
4
,
5
,
0
,
1
,
2
,
0
,
1
,
2
,
3
,
4
,
5
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
gold
));
}
TEST_CASE
(
gathernd_dynamic2
)
...
...
@@ -287,7 +287,7 @@ TEST_CASE(gathernd_dynamic2)
std
::
vector
<
float
>
gold
{
3
,
4
,
5
,
0
,
1
,
2
,
0
,
1
,
2
,
3
,
4
,
5
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
gold
));
}
TEST_CASE
(
gathernd_dynamic3
)
...
...
@@ -323,7 +323,7 @@ TEST_CASE(gathernd_dynamic3)
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
gold
{
1
,
0
,
3
,
4
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
gold
));
}
TEST_CASE
(
gathernd_dynamic4
)
...
...
@@ -358,7 +358,7 @@ TEST_CASE(gathernd_dynamic4)
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
gold
{
5
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
gold
));
}
TEST_CASE
(
gathernd_negative_index_test_1
)
...
...
@@ -383,7 +383,7 @@ TEST_CASE(gathernd_negative_index_test_1)
std
::
vector
<
float
>
gold
{
2
,
3
,
0
,
1
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
res_data
,
gold
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
res_data
,
gold
));
}
TEST_CASE
(
gathernd_negative_index_test_2
)
...
...
Prev
1
2
3
4
5
6
7
8
9
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment