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
0b2bcf2c
Unverified
Commit
0b2bcf2c
authored
Sep 28, 2023
by
Ted Themistokleous
Committed by
GitHub
Sep 28, 2023
Browse files
Merge branch 'develop' into add_parity_check_ci
parents
fbacefca
dcc7b0a5
Changes
169
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
520 additions
and
518 deletions
+520
-518
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
test/ref/im2col.cpp
test/ref/im2col.cpp
+18
-18
No files found.
test/ref/ceil.cpp
View file @
0b2bcf2c
...
@@ -45,7 +45,7 @@ TEST_CASE(ceil_test)
...
@@ -45,7 +45,7 @@ TEST_CASE(ceil_test)
std
::
vector
<
float
>
gold
=
data
;
std
::
vector
<
float
>
gold
=
data
;
std
::
transform
(
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
std
::
ceil
(
n
);
});
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
)
TEST_CASE
(
ceil_dyn_test
)
...
@@ -68,5 +68,5 @@ TEST_CASE(ceil_dyn_test)
...
@@ -68,5 +68,5 @@ TEST_CASE(ceil_dyn_test)
std
::
vector
<
float
>
gold
=
input_data
;
std
::
vector
<
float
>
gold
=
input_data
;
std
::
transform
(
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
std
::
ceil
(
n
);
});
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 @
0b2bcf2c
...
@@ -48,7 +48,7 @@ TEST_CASE(clip_test)
...
@@ -48,7 +48,7 @@ TEST_CASE(clip_test)
std
::
vector
<
float
>
results_vector
(
3
);
std
::
vector
<
float
>
results_vector
(
3
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
=
{
0.0
,
0.0
,
6.0
};
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
)
TEST_CASE
(
clip_dyn_test
)
...
@@ -73,5 +73,5 @@ TEST_CASE(clip_dyn_test)
...
@@ -73,5 +73,5 @@ TEST_CASE(clip_dyn_test)
std
::
vector
<
float
>
results_vector
(
3
);
std
::
vector
<
float
>
results_vector
(
3
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
=
{
0.0
,
0.0
,
6.0
};
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 @
0b2bcf2c
...
@@ -50,11 +50,11 @@ TEST_CASE(concat_test_1)
...
@@ -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
>
gold
=
{
0
,
1
,
2
,
3
,
4
,
10
,
5
,
6
,
7
,
8
,
9
,
20
};
std
::
vector
<
int
>
results_vector
(
2
*
6
);
std
::
vector
<
int
>
results_vector
(
2
*
6
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
lens
(),
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
2
,
6
})));
std
::
vector
<
std
::
size_t
>
({
2
,
6
})));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
strides
(),
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
strides
(),
std
::
vector
<
std
::
size_t
>
({
6
,
1
})));
std
::
vector
<
std
::
size_t
>
({
6
,
1
})));
}
}
TEST_CASE
(
concat_test_2
)
TEST_CASE
(
concat_test_2
)
...
@@ -77,11 +77,11 @@ 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
>
gold
=
{
0
,
1
,
2
,
3
,
4
,
10
,
5
,
6
,
7
,
8
,
9
,
20
};
std
::
vector
<
int
>
results_vector
(
2
*
6
);
std
::
vector
<
int
>
results_vector
(
2
*
6
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
lens
(),
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
2
,
6
})));
std
::
vector
<
std
::
size_t
>
({
2
,
6
})));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
strides
(),
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
strides
(),
std
::
vector
<
std
::
size_t
>
({
6
,
1
})));
std
::
vector
<
std
::
size_t
>
({
6
,
1
})));
}
}
TEST_CASE
(
concat_test_3
)
TEST_CASE
(
concat_test_3
)
...
@@ -104,11 +104,11 @@ 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
>
gold
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
};
std
::
vector
<
int
>
results_vector
(
6
*
2
);
std
::
vector
<
int
>
results_vector
(
6
*
2
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
lens
(),
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
6
,
2
})));
std
::
vector
<
std
::
size_t
>
({
6
,
2
})));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
strides
(),
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
strides
(),
std
::
vector
<
std
::
size_t
>
({
2
,
1
})));
std
::
vector
<
std
::
size_t
>
({
2
,
1
})));
}
}
TEST_CASE
(
concat_test_4
)
TEST_CASE
(
concat_test_4
)
...
@@ -131,11 +131,11 @@ 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
>
gold
=
{
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
};
std
::
vector
<
int
>
results_vector
(
6
*
2
);
std
::
vector
<
int
>
results_vector
(
6
*
2
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
lens
(),
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
6
,
2
})));
std
::
vector
<
std
::
size_t
>
({
6
,
2
})));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
strides
(),
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
strides
(),
std
::
vector
<
std
::
size_t
>
({
2
,
1
})));
std
::
vector
<
std
::
size_t
>
({
2
,
1
})));
}
}
TEST_CASE
(
concat_dyn_test
)
TEST_CASE
(
concat_dyn_test
)
...
@@ -169,7 +169,7 @@ 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
());
});
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
};
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
));
EXPECT
(
migraphx
::
verify
::
verify_range
(
result
.
get_shape
().
lens
(),
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
result
.
get_shape
().
lens
(),
std
::
vector
<
std
::
size_t
>
({
6
,
2
})));
std
::
vector
<
std
::
size_t
>
({
6
,
2
})));
}
}
test/ref/contiguous.cpp
View file @
0b2bcf2c
...
@@ -50,7 +50,7 @@ TEST_CASE(contiguous_test)
...
@@ -50,7 +50,7 @@ TEST_CASE(contiguous_test)
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
};
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
)
TEST_CASE
(
contiguous_param_test
)
...
@@ -74,7 +74,7 @@ TEST_CASE(contiguous_param_test)
...
@@ -74,7 +74,7 @@ TEST_CASE(contiguous_param_test)
std
::
vector
<
float
>
results_vector
(
12
);
std
::
vector
<
float
>
results_vector
(
12
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
};
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
)
TEST_CASE
(
contiguous_dyn_test
)
...
@@ -100,5 +100,5 @@ 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
());
});
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
};
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 @
0b2bcf2c
This diff is collapsed.
Click to expand it.
test/ref/convolution_backwards.cpp
View file @
0b2bcf2c
...
@@ -52,7 +52,7 @@ TEST_CASE(convolution_backwards_1d)
...
@@ -52,7 +52,7 @@ TEST_CASE(convolution_backwards_1d)
std
::
vector
<
float
>
results_vector
;
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
convolution_backwards_2d
)
...
@@ -75,7 +75,7 @@ TEST_CASE(convolution_backwards_2d)
...
@@ -75,7 +75,7 @@ TEST_CASE(convolution_backwards_2d)
std
::
vector
<
float
>
results_vector
;
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
convolution_backwards_3d
)
...
@@ -113,7 +113,7 @@ TEST_CASE(convolution_backwards_3d)
...
@@ -113,7 +113,7 @@ TEST_CASE(convolution_backwards_3d)
std
::
vector
<
float
>
results_vector
;
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
convolution_backwards_padding1
)
...
@@ -139,7 +139,7 @@ TEST_CASE(convolution_backwards_padding1)
...
@@ -139,7 +139,7 @@ TEST_CASE(convolution_backwards_padding1)
std
::
vector
<
float
>
results_vector
;
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
convolution_backwards_padding2
)
...
@@ -165,7 +165,7 @@ TEST_CASE(convolution_backwards_padding2)
...
@@ -165,7 +165,7 @@ TEST_CASE(convolution_backwards_padding2)
std
::
vector
<
float
>
results_vector
;
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
convolution_backwards_2stride
)
...
@@ -192,7 +192,7 @@ TEST_CASE(convolution_backwards_2stride)
...
@@ -192,7 +192,7 @@ TEST_CASE(convolution_backwards_2stride)
std
::
vector
<
float
>
results_vector
;
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
convolution_backwards_2dilation
)
...
@@ -219,7 +219,7 @@ TEST_CASE(convolution_backwards_2dilation)
...
@@ -219,7 +219,7 @@ TEST_CASE(convolution_backwards_2dilation)
std
::
vector
<
float
>
results_vector
;
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
convolution_backwards_dyn_batch1
)
...
@@ -247,7 +247,7 @@ 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
};
27
,
15
,
9
,
20
,
33
,
24
,
13
,
6
,
13
,
21
,
15
,
8
};
std
::
vector
<
float
>
results_vector
;
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
convolution_backwards_dyn_batch2
)
...
@@ -288,5 +288,5 @@ TEST_CASE(convolution_backwards_dyn_batch2)
...
@@ -288,5 +288,5 @@ TEST_CASE(convolution_backwards_dyn_batch2)
std
::
vector
<
float
>
results_vector
;
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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 @
0b2bcf2c
...
@@ -45,7 +45,7 @@ TEST_CASE(cos_test)
...
@@ -45,7 +45,7 @@ TEST_CASE(cos_test)
std
::
vector
<
float
>
gold
=
data
;
std
::
vector
<
float
>
gold
=
data
;
std
::
transform
(
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
cosf
(
n
);
});
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
)
TEST_CASE
(
cos_dyn_test
)
...
@@ -68,5 +68,5 @@ TEST_CASE(cos_dyn_test)
...
@@ -68,5 +68,5 @@ TEST_CASE(cos_dyn_test)
std
::
vector
<
float
>
gold
=
input_data
;
std
::
vector
<
float
>
gold
=
input_data
;
std
::
transform
(
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
cosf
(
n
);
});
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 @
0b2bcf2c
...
@@ -45,7 +45,7 @@ TEST_CASE(cosh_test)
...
@@ -45,7 +45,7 @@ TEST_CASE(cosh_test)
std
::
vector
<
float
>
gold
=
data
;
std
::
vector
<
float
>
gold
=
data
;
std
::
transform
(
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
coshf
(
n
);
});
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
)
TEST_CASE
(
cosh_dyn_test
)
...
@@ -68,5 +68,5 @@ TEST_CASE(cosh_dyn_test)
...
@@ -68,5 +68,5 @@ TEST_CASE(cosh_dyn_test)
std
::
vector
<
float
>
gold
=
input_data
;
std
::
vector
<
float
>
gold
=
input_data
;
std
::
transform
(
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
coshf
(
n
);
});
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 @
0b2bcf2c
...
@@ -47,7 +47,7 @@ TEST_CASE(dimensions_of_test0)
...
@@ -47,7 +47,7 @@ TEST_CASE(dimensions_of_test0)
std
::
vector
<
int64_t
>
results_vector
(
3
);
std
::
vector
<
int64_t
>
results_vector
(
3
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
int64_t
>
gold
=
{
2
,
3
,
4
};
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
)
TEST_CASE
(
dimensions_of_test1
)
...
@@ -67,5 +67,5 @@ TEST_CASE(dimensions_of_test1)
...
@@ -67,5 +67,5 @@ TEST_CASE(dimensions_of_test1)
std
::
vector
<
int64_t
>
results_vector
(
2
);
std
::
vector
<
int64_t
>
results_vector
(
2
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
int64_t
>
gold
=
{
4
,
4
};
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 @
0b2bcf2c
...
@@ -46,7 +46,7 @@ TEST_CASE(div_test)
...
@@ -46,7 +46,7 @@ TEST_CASE(div_test)
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
(
data1
.
size
());
std
::
vector
<
float
>
gold
(
data1
.
size
());
std
::
transform
(
data1
.
begin
(),
data1
.
end
(),
data2
.
begin
(),
gold
.
begin
(),
std
::
divides
<
float
>
());
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
)
TEST_CASE
(
div_dyn_test
)
...
@@ -72,5 +72,5 @@ TEST_CASE(div_dyn_test)
...
@@ -72,5 +72,5 @@ TEST_CASE(div_dyn_test)
std
::
vector
<
float
>
gold
(
x_data
.
size
());
std
::
vector
<
float
>
gold
(
x_data
.
size
());
std
::
transform
(
std
::
transform
(
x_data
.
begin
(),
x_data
.
end
(),
y_data
.
begin
(),
gold
.
begin
(),
std
::
divides
<
float
>
());
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 @
0b2bcf2c
This diff is collapsed.
Click to expand it.
test/ref/elu.cpp
View file @
0b2bcf2c
...
@@ -45,7 +45,7 @@ TEST_CASE(elu_test)
...
@@ -45,7 +45,7 @@ TEST_CASE(elu_test)
std
::
vector
<
float
>
results_vector
(
4
);
std
::
vector
<
float
>
results_vector
(
4
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)};
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
)
TEST_CASE
(
elu_dyn_test
)
...
@@ -67,5 +67,5 @@ TEST_CASE(elu_dyn_test)
...
@@ -67,5 +67,5 @@ TEST_CASE(elu_dyn_test)
std
::
vector
<
float
>
results_vector
(
4
);
std
::
vector
<
float
>
results_vector
(
4
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)};
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 @
0b2bcf2c
...
@@ -45,7 +45,7 @@ TEST_CASE(erf_test)
...
@@ -45,7 +45,7 @@ TEST_CASE(erf_test)
std
::
vector
<
float
>
gold
=
data
;
std
::
vector
<
float
>
gold
=
data
;
std
::
transform
(
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
erff
(
n
);
});
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
)
TEST_CASE
(
erf_dyn_test
)
...
@@ -68,5 +68,5 @@ TEST_CASE(erf_dyn_test)
...
@@ -68,5 +68,5 @@ TEST_CASE(erf_dyn_test)
std
::
vector
<
float
>
gold
=
input_data
;
std
::
vector
<
float
>
gold
=
input_data
;
std
::
transform
(
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
erff
(
n
);
});
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 @
0b2bcf2c
...
@@ -45,7 +45,7 @@ TEST_CASE(exp_test)
...
@@ -45,7 +45,7 @@ TEST_CASE(exp_test)
std
::
vector
<
float
>
gold
=
data
;
std
::
vector
<
float
>
gold
=
data
;
std
::
transform
(
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
expf
(
n
);
});
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
)
TEST_CASE
(
exp_dyn_test
)
...
@@ -68,5 +68,5 @@ TEST_CASE(exp_dyn_test)
...
@@ -68,5 +68,5 @@ TEST_CASE(exp_dyn_test)
std
::
vector
<
float
>
gold
=
input_data
;
std
::
vector
<
float
>
gold
=
input_data
;
std
::
transform
(
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
expf
(
n
);
});
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 @
0b2bcf2c
...
@@ -51,7 +51,7 @@ TEST_CASE(fill_static_int)
...
@@ -51,7 +51,7 @@ TEST_CASE(fill_static_int)
std
::
vector
<
int64_t
>
results_vector
;
std
::
vector
<
int64_t
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
int64_t
>
gold
(
48
,
3
);
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
)
TEST_CASE
(
fill_dyn_float
)
...
@@ -75,7 +75,7 @@ TEST_CASE(fill_dyn_float)
...
@@ -75,7 +75,7 @@ TEST_CASE(fill_dyn_float)
std
::
vector
<
float
>
results_vector
;
std
::
vector
<
float
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
(
72
,
7.36
);
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
)
TEST_CASE
(
fill_var_default_value
)
...
@@ -98,5 +98,5 @@ TEST_CASE(fill_var_default_value)
...
@@ -98,5 +98,5 @@ TEST_CASE(fill_var_default_value)
std
::
vector
<
int64_t
>
results_vector
;
std
::
vector
<
int64_t
>
results_vector
;
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
int64_t
>
gold
(
48
,
2
);
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 @
0b2bcf2c
...
@@ -45,7 +45,7 @@ TEST_CASE(floor_test)
...
@@ -45,7 +45,7 @@ TEST_CASE(floor_test)
std
::
vector
<
float
>
gold
=
data
;
std
::
vector
<
float
>
gold
=
data
;
std
::
transform
(
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
floor
(
n
);
});
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
)
TEST_CASE
(
floor_dyn_test
)
...
@@ -68,5 +68,5 @@ TEST_CASE(floor_dyn_test)
...
@@ -68,5 +68,5 @@ TEST_CASE(floor_dyn_test)
std
::
vector
<
float
>
gold
=
input_data
;
std
::
vector
<
float
>
gold
=
input_data
;
std
::
transform
(
std
::
transform
(
gold
.
begin
(),
gold
.
end
(),
gold
.
begin
(),
[](
float
n
)
->
float
{
return
floor
(
n
);
});
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 @
0b2bcf2c
...
@@ -45,7 +45,7 @@ TEST_CASE(fmod_test)
...
@@ -45,7 +45,7 @@ TEST_CASE(fmod_test)
std
::
vector
<
float
>
results_vector
(
4
);
std
::
vector
<
float
>
results_vector
(
4
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
{
-
1
,
0
,
-
3
};
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
)
TEST_CASE
(
fmod_dyn_test
)
...
@@ -73,7 +73,7 @@ TEST_CASE(fmod_dyn_test)
...
@@ -73,7 +73,7 @@ TEST_CASE(fmod_dyn_test)
std
::
vector
<
float
>
results_vector
(
4
);
std
::
vector
<
float
>
results_vector
(
4
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
{
-
1
,
0
,
-
3
};
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
)
TEST_CASE
(
fmod_float_test
)
...
@@ -92,5 +92,5 @@ TEST_CASE(fmod_float_test)
...
@@ -92,5 +92,5 @@ TEST_CASE(fmod_float_test)
std
::
vector
<
float
>
results_vector
(
4
);
std
::
vector
<
float
>
results_vector
(
4
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
std
::
vector
<
float
>
gold
{
-
1.2
f
,
0.5
f
,
-
3.3
f
};
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 @
0b2bcf2c
...
@@ -52,7 +52,7 @@ TEST_CASE(gather_non_std_test)
...
@@ -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
};
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
;
std
::
vector
<
float
>
res_data
;
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
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)
...
@@ -75,7 +75,7 @@ TEST_CASE(gather_test_1)
std
::
vector
<
float
>
res_data
(
4
*
5
);
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
};
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
());
});
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
)
TEST_CASE
(
gather_test_2
)
...
@@ -97,7 +97,7 @@ TEST_CASE(gather_test_2)
...
@@ -97,7 +97,7 @@ TEST_CASE(gather_test_2)
std
::
vector
<
float
>
res_data
(
4
*
5
);
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
};
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
());
});
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
)
TEST_CASE
(
gather_test_3
)
...
@@ -119,7 +119,7 @@ TEST_CASE(gather_test_3)
...
@@ -119,7 +119,7 @@ TEST_CASE(gather_test_3)
std
::
vector
<
float
>
res_data
(
4
*
5
);
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
};
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
());
});
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
)
TEST_CASE
(
gather_test_4
)
...
@@ -141,7 +141,7 @@ TEST_CASE(gather_test_4)
...
@@ -141,7 +141,7 @@ TEST_CASE(gather_test_4)
std
::
vector
<
float
>
res_data
(
4
*
5
);
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
};
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
());
});
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
)
TEST_CASE
(
gather_test_5
)
...
@@ -164,7 +164,7 @@ TEST_CASE(gather_test_5)
...
@@ -164,7 +164,7 @@ TEST_CASE(gather_test_5)
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
golden
=
{
0.5
f
,
3.5
f
,
6.5
f
};
std
::
vector
<
float
>
golden
=
{
0.5
f
,
3.5
f
,
6.5
f
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
gather_test_6
)
...
@@ -187,7 +187,7 @@ TEST_CASE(gather_test_6)
...
@@ -187,7 +187,7 @@ TEST_CASE(gather_test_6)
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
golden
=
{
0.5
f
,
3.5
f
,
6.5
f
};
std
::
vector
<
float
>
golden
=
{
0.5
f
,
3.5
f
,
6.5
f
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
gather_test_7
)
...
@@ -210,7 +210,7 @@ TEST_CASE(gather_test_7)
...
@@ -210,7 +210,7 @@ TEST_CASE(gather_test_7)
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
golden
=
{
0.5
f
};
std
::
vector
<
float
>
golden
=
{
0.5
f
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
gather_dyn_test0
)
...
@@ -243,7 +243,7 @@ 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
>
gold
=
{
1
,
2
,
4
,
5
};
std
::
vector
<
int
>
results_vector
(
2
*
1
*
2
);
std
::
vector
<
int
>
results_vector
(
2
*
1
*
2
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
}};
migraphx
::
shape
sfinal
{
migraphx
::
shape
::
int32_type
,
{
2
,
1
,
2
}};
EXPECT
(
result
.
get_shape
()
==
sfinal
);
EXPECT
(
result
.
get_shape
()
==
sfinal
);
}
}
...
@@ -280,7 +280,7 @@ TEST_CASE(gather_dyn_test1)
...
@@ -280,7 +280,7 @@ TEST_CASE(gather_dyn_test1)
std
::
vector
<
int
>
results_vector
(
1
*
2
*
4
);
std
::
vector
<
int
>
results_vector
(
1
*
2
*
4
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
}};
migraphx
::
shape
sfinal
{
migraphx
::
shape
::
int32_type
,
{
1
,
2
,
4
}};
EXPECT
(
result
.
get_shape
()
==
sfinal
);
EXPECT
(
result
.
get_shape
()
==
sfinal
);
}
}
test/ref/gathernd.cpp
View file @
0b2bcf2c
...
@@ -52,7 +52,7 @@ TEST_CASE(gathernd_test_1)
...
@@ -52,7 +52,7 @@ TEST_CASE(gathernd_test_1)
std
::
vector
<
float
>
gold
{
0
,
3
};
std
::
vector
<
float
>
gold
{
0
,
3
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
gathernd_test_2
)
...
@@ -77,7 +77,7 @@ TEST_CASE(gathernd_test_2)
...
@@ -77,7 +77,7 @@ TEST_CASE(gathernd_test_2)
std
::
vector
<
float
>
gold
{
2
,
3
,
0
,
1
};
std
::
vector
<
float
>
gold
{
2
,
3
,
0
,
1
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
gathernd_test_3
)
...
@@ -102,7 +102,7 @@ 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
};
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
());
});
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
)
TEST_CASE
(
gathernd_test_4
)
...
@@ -128,7 +128,7 @@ 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
};
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
());
});
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
)
TEST_CASE
(
gathernd_test_5
)
...
@@ -155,7 +155,7 @@ TEST_CASE(gathernd_test_5)
...
@@ -155,7 +155,7 @@ TEST_CASE(gathernd_test_5)
std
::
vector
<
float
>
gold
{
0
,
4
,
8
,
11
,
13
,
15
};
std
::
vector
<
float
>
gold
{
0
,
4
,
8
,
11
,
13
,
15
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
gathernd_test_6
)
...
@@ -215,7 +215,7 @@ TEST_CASE(gathernd_dynamic0)
...
@@ -215,7 +215,7 @@ TEST_CASE(gathernd_dynamic0)
std
::
vector
<
float
>
gold
{
3
,
4
,
5
,
0
,
1
,
2
,
0
,
1
,
2
,
3
,
4
,
5
};
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
());
});
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
)
TEST_CASE
(
gathernd_dynamic1
)
...
@@ -251,7 +251,7 @@ 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
};
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
());
});
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
)
TEST_CASE
(
gathernd_dynamic2
)
...
@@ -287,7 +287,7 @@ 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
};
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
());
});
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
)
TEST_CASE
(
gathernd_dynamic3
)
...
@@ -323,7 +323,7 @@ TEST_CASE(gathernd_dynamic3)
...
@@ -323,7 +323,7 @@ TEST_CASE(gathernd_dynamic3)
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
gold
{
1
,
0
,
3
,
4
};
std
::
vector
<
float
>
gold
{
1
,
0
,
3
,
4
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
gathernd_dynamic4
)
...
@@ -358,7 +358,7 @@ TEST_CASE(gathernd_dynamic4)
...
@@ -358,7 +358,7 @@ TEST_CASE(gathernd_dynamic4)
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
res_data
{};
std
::
vector
<
float
>
gold
{
5
};
std
::
vector
<
float
>
gold
{
5
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
gathernd_negative_index_test_1
)
...
@@ -383,7 +383,7 @@ 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
};
std
::
vector
<
float
>
gold
{
2
,
3
,
0
,
1
};
result
.
visit
([
&
](
auto
output
)
{
res_data
.
assign
(
output
.
begin
(),
output
.
end
());
});
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
)
TEST_CASE
(
gathernd_negative_index_test_2
)
...
...
test/ref/im2col.cpp
View file @
0b2bcf2c
...
@@ -40,14 +40,14 @@ TEST_CASE(im2col_3x3_no_pad_identity_test)
...
@@ -40,14 +40,14 @@ TEST_CASE(im2col_3x3_no_pad_identity_test)
std
::
size_t
channels
=
1
;
std
::
size_t
channels
=
1
;
std
::
vector
<
int32_t
>
weights
(
channels
*
f
[
0
]
*
f
[
1
]);
std
::
vector
<
int32_t
>
weights
(
channels
*
f
[
0
]
*
f
[
1
]);
std
::
vector
<
int32_t
>
input
(
channels
*
size
[
0
]
*
size
[
1
]);
std
::
vector
<
int32_t
>
gold
(
channels
*
size
[
0
]
*
size
[
1
]);
std
::
iota
(
input
.
begin
(),
input
.
end
(),
0
);
std
::
iota
(
gold
.
begin
(),
gold
.
end
(),
0
);
migraphx
::
program
p
;
migraphx
::
program
p
;
auto
*
mm
=
p
.
get_main_module
();
auto
*
mm
=
p
.
get_main_module
();
migraphx
::
shape
s_image
{
migraphx
::
shape
::
int32_type
,
{
1
,
channels
,
size
[
0
],
size
[
1
]}};
migraphx
::
shape
s_image
{
migraphx
::
shape
::
int32_type
,
{
1
,
channels
,
size
[
0
],
size
[
1
]}};
migraphx
::
shape
s_weights
{
migraphx
::
shape
::
int32_type
,
{
1
,
channels
,
f
[
0
],
f
[
1
]}};
migraphx
::
shape
s_weights
{
migraphx
::
shape
::
int32_type
,
{
1
,
channels
,
f
[
0
],
f
[
1
]}};
auto
l_image
=
mm
->
add_literal
(
migraphx
::
literal
{
s_image
,
input
});
auto
l_image
=
mm
->
add_literal
(
migraphx
::
literal
{
s_image
,
gold
});
auto
l_weights
=
mm
->
add_literal
(
migraphx
::
literal
{
s_weights
,
weights
});
auto
l_weights
=
mm
->
add_literal
(
migraphx
::
literal
{
s_weights
,
weights
});
mm
->
add_instruction
(
mm
->
add_instruction
(
migraphx
::
make_op
(
"im2col"
,
migraphx
::
make_op
(
"im2col"
,
...
@@ -61,7 +61,7 @@ TEST_CASE(im2col_3x3_no_pad_identity_test)
...
@@ -61,7 +61,7 @@ TEST_CASE(im2col_3x3_no_pad_identity_test)
std
::
size_t
col_width
=
(
size
[
1
]
-
f
[
1
]
+
2
*
padding
[
1
])
/
stride
[
1
]
+
1
;
std
::
size_t
col_width
=
(
size
[
1
]
-
f
[
1
]
+
2
*
padding
[
1
])
/
stride
[
1
]
+
1
;
std
::
vector
<
float
>
results_vector
(
channels
*
f
[
0
]
*
f
[
1
]
*
col_height
*
col_width
);
std
::
vector
<
float
>
results_vector
(
channels
*
f
[
0
]
*
f
[
1
]
*
col_height
*
col_width
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
input
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
}
TEST_CASE
(
im2col_3x3_no_pad_test
)
TEST_CASE
(
im2col_3x3_no_pad_test
)
...
@@ -91,14 +91,14 @@ TEST_CASE(im2col_3x3_no_pad_test)
...
@@ -91,14 +91,14 @@ TEST_CASE(im2col_3x3_no_pad_test)
p
.
compile
(
migraphx
::
make_target
(
"ref"
));
p
.
compile
(
migraphx
::
make_target
(
"ref"
));
auto
result
=
p
.
eval
({}).
back
();
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
int
>
correct
=
{
0
,
1
,
2
,
4
,
5
,
6
,
8
,
9
,
10
,
1
,
2
,
3
,
5
,
6
,
7
,
9
,
10
,
11
,
std
::
vector
<
int
>
gold
=
{
0
,
1
,
2
,
4
,
5
,
6
,
8
,
9
,
10
,
1
,
2
,
3
,
5
,
6
,
7
,
9
,
10
,
11
,
4
,
5
,
6
,
8
,
9
,
10
,
12
,
13
,
14
,
5
,
6
,
7
,
9
,
10
,
11
,
13
,
14
,
15
};
4
,
5
,
6
,
8
,
9
,
10
,
12
,
13
,
14
,
5
,
6
,
7
,
9
,
10
,
11
,
13
,
14
,
15
};
std
::
size_t
col_height
=
(
size
[
0
]
-
f
[
0
]
+
2
*
padding
[
0
])
/
stride
[
0
]
+
1
;
std
::
size_t
col_height
=
(
size
[
0
]
-
f
[
0
]
+
2
*
padding
[
0
])
/
stride
[
0
]
+
1
;
std
::
size_t
col_width
=
(
size
[
1
]
-
f
[
1
]
+
2
*
padding
[
1
])
/
stride
[
1
]
+
1
;
std
::
size_t
col_width
=
(
size
[
1
]
-
f
[
1
]
+
2
*
padding
[
1
])
/
stride
[
1
]
+
1
;
std
::
vector
<
float
>
results_vector
(
channels
*
f
[
0
]
*
f
[
1
]
*
col_height
*
col_width
);
std
::
vector
<
float
>
results_vector
(
channels
*
f
[
0
]
*
f
[
1
]
*
col_height
*
col_width
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
correct
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
}
TEST_CASE
(
im2col_3x3_stride_2_no_pad_test
)
TEST_CASE
(
im2col_3x3_stride_2_no_pad_test
)
...
@@ -128,15 +128,15 @@ TEST_CASE(im2col_3x3_stride_2_no_pad_test)
...
@@ -128,15 +128,15 @@ TEST_CASE(im2col_3x3_stride_2_no_pad_test)
p
.
compile
(
migraphx
::
make_target
(
"ref"
));
p
.
compile
(
migraphx
::
make_target
(
"ref"
));
auto
result
=
p
.
eval
({}).
back
();
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
int
>
correct
=
{
0
,
1
,
2
,
6
,
7
,
8
,
12
,
13
,
14
,
2
,
3
,
4
,
std
::
vector
<
int
>
gold
=
{
0
,
1
,
2
,
6
,
7
,
8
,
12
,
13
,
14
,
2
,
3
,
4
,
8
,
9
,
10
,
14
,
15
,
16
,
12
,
13
,
14
,
18
,
19
,
20
,
8
,
9
,
10
,
14
,
15
,
16
,
12
,
13
,
14
,
18
,
19
,
20
,
24
,
25
,
26
,
14
,
15
,
16
,
20
,
21
,
22
,
26
,
27
,
28
};
24
,
25
,
26
,
14
,
15
,
16
,
20
,
21
,
22
,
26
,
27
,
28
};
std
::
size_t
col_height
=
(
size
[
0
]
-
f
[
0
]
+
2
*
padding
[
0
])
/
stride
[
0
]
+
1
;
std
::
size_t
col_height
=
(
size
[
0
]
-
f
[
0
]
+
2
*
padding
[
0
])
/
stride
[
0
]
+
1
;
std
::
size_t
col_width
=
(
size
[
1
]
-
f
[
1
]
+
2
*
padding
[
1
])
/
stride
[
1
]
+
1
;
std
::
size_t
col_width
=
(
size
[
1
]
-
f
[
1
]
+
2
*
padding
[
1
])
/
stride
[
1
]
+
1
;
std
::
vector
<
float
>
results_vector
(
channels
*
f
[
0
]
*
f
[
1
]
*
col_height
*
col_width
);
std
::
vector
<
float
>
results_vector
(
channels
*
f
[
0
]
*
f
[
1
]
*
col_height
*
col_width
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
correct
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
}
TEST_CASE
(
im2col_3x3_with_channels_identity_test
)
TEST_CASE
(
im2col_3x3_with_channels_identity_test
)
...
@@ -149,14 +149,14 @@ TEST_CASE(im2col_3x3_with_channels_identity_test)
...
@@ -149,14 +149,14 @@ TEST_CASE(im2col_3x3_with_channels_identity_test)
std
::
size_t
channels
=
2
;
std
::
size_t
channels
=
2
;
std
::
vector
<
int32_t
>
weights
(
channels
*
f
[
0
]
*
f
[
1
]);
std
::
vector
<
int32_t
>
weights
(
channels
*
f
[
0
]
*
f
[
1
]);
std
::
vector
<
int32_t
>
input
(
channels
*
size
[
0
]
*
size
[
1
]);
std
::
vector
<
int32_t
>
gold
(
channels
*
size
[
0
]
*
size
[
1
]);
std
::
iota
(
input
.
begin
(),
input
.
end
(),
0
);
std
::
iota
(
gold
.
begin
(),
gold
.
end
(),
0
);
migraphx
::
program
p
;
migraphx
::
program
p
;
auto
*
mm
=
p
.
get_main_module
();
auto
*
mm
=
p
.
get_main_module
();
migraphx
::
shape
s_image
{
migraphx
::
shape
::
int32_type
,
{
1
,
channels
,
size
[
0
],
size
[
1
]}};
migraphx
::
shape
s_image
{
migraphx
::
shape
::
int32_type
,
{
1
,
channels
,
size
[
0
],
size
[
1
]}};
migraphx
::
shape
s_weights
{
migraphx
::
shape
::
int32_type
,
{
1
,
channels
,
f
[
0
],
f
[
1
]}};
migraphx
::
shape
s_weights
{
migraphx
::
shape
::
int32_type
,
{
1
,
channels
,
f
[
0
],
f
[
1
]}};
auto
l_image
=
mm
->
add_literal
(
migraphx
::
literal
{
s_image
,
input
});
auto
l_image
=
mm
->
add_literal
(
migraphx
::
literal
{
s_image
,
gold
});
auto
l_weights
=
mm
->
add_literal
(
migraphx
::
literal
{
s_weights
,
weights
});
auto
l_weights
=
mm
->
add_literal
(
migraphx
::
literal
{
s_weights
,
weights
});
mm
->
add_instruction
(
mm
->
add_instruction
(
migraphx
::
make_op
(
"im2col"
,
migraphx
::
make_op
(
"im2col"
,
...
@@ -170,7 +170,7 @@ TEST_CASE(im2col_3x3_with_channels_identity_test)
...
@@ -170,7 +170,7 @@ TEST_CASE(im2col_3x3_with_channels_identity_test)
std
::
size_t
col_width
=
(
size
[
1
]
-
f
[
1
]
+
2
*
padding
[
1
])
/
stride
[
1
]
+
1
;
std
::
size_t
col_width
=
(
size
[
1
]
-
f
[
1
]
+
2
*
padding
[
1
])
/
stride
[
1
]
+
1
;
std
::
vector
<
float
>
results_vector
(
channels
*
f
[
0
]
*
f
[
1
]
*
col_height
*
col_width
);
std
::
vector
<
float
>
results_vector
(
channels
*
f
[
0
]
*
f
[
1
]
*
col_height
*
col_width
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
input
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
}
TEST_CASE
(
im2col_3x3_with_padding_test
)
TEST_CASE
(
im2col_3x3_with_padding_test
)
...
@@ -200,12 +200,12 @@ TEST_CASE(im2col_3x3_with_padding_test)
...
@@ -200,12 +200,12 @@ TEST_CASE(im2col_3x3_with_padding_test)
p
.
compile
(
migraphx
::
make_target
(
"ref"
));
p
.
compile
(
migraphx
::
make_target
(
"ref"
));
auto
result
=
p
.
eval
({}).
back
();
auto
result
=
p
.
eval
({}).
back
();
std
::
vector
<
int
>
correct
=
{
0
,
0
,
0
,
0
,
0
,
1
,
0
,
2
,
3
,
0
,
0
,
0
,
0
,
1
,
0
,
2
,
3
,
0
,
std
::
vector
<
int
>
gold
=
{
0
,
0
,
0
,
0
,
0
,
1
,
0
,
2
,
3
,
0
,
0
,
0
,
0
,
1
,
0
,
2
,
3
,
0
,
0
,
0
,
1
,
0
,
2
,
3
,
0
,
0
,
0
,
0
,
1
,
0
,
2
,
3
,
0
,
0
,
0
,
0
};
0
,
0
,
1
,
0
,
2
,
3
,
0
,
0
,
0
,
0
,
1
,
0
,
2
,
3
,
0
,
0
,
0
,
0
};
std
::
size_t
col_height
=
(
size
[
0
]
-
f
[
0
]
+
2
*
padding
[
0
])
/
stride
[
0
]
+
1
;
std
::
size_t
col_height
=
(
size
[
0
]
-
f
[
0
]
+
2
*
padding
[
0
])
/
stride
[
0
]
+
1
;
std
::
size_t
col_width
=
(
size
[
1
]
-
f
[
1
]
+
2
*
padding
[
1
])
/
stride
[
1
]
+
1
;
std
::
size_t
col_width
=
(
size
[
1
]
-
f
[
1
]
+
2
*
padding
[
1
])
/
stride
[
1
]
+
1
;
std
::
vector
<
float
>
results_vector
(
channels
*
f
[
0
]
*
f
[
1
]
*
col_height
*
col_width
);
std
::
vector
<
float
>
results_vector
(
channels
*
f
[
0
]
*
f
[
1
]
*
col_height
*
col_width
);
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
result
.
visit
([
&
](
auto
output
)
{
results_vector
.
assign
(
output
.
begin
(),
output
.
end
());
});
EXPECT
(
migraphx
::
verify
::
verify_range
(
results_vector
,
correct
));
EXPECT
(
migraphx
::
verify
::
verify_
rms_
range
(
results_vector
,
gold
));
}
}
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