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
ffd28167
Commit
ffd28167
authored
Mar 08, 2019
by
Paul
Browse files
Add more tests
parent
52d1a1fc
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
46 additions
and
0 deletions
+46
-0
test/schedule_test.cpp
test/schedule_test.cpp
+46
-0
No files found.
test/schedule_test.cpp
View file @
ffd28167
...
...
@@ -274,6 +274,52 @@ TEST_CASE(zero_merge2)
EXPECT
(
check_conflicts
(
p
,
onep1
,
onep2
));
}
TEST_CASE
(
zero_merge3
)
{
schedule_target
t
{};
migraphx
::
program
p
;
auto
one
=
p
.
add_literal
(
1
);
auto
onep1
=
p
.
add_instruction
(
unary_op
{},
one
);
auto
onep2
=
p
.
add_instruction
(
unary_op
{},
one
);
auto
id
=
p
.
add_instruction
(
migraphx
::
op
::
identity
{},
onep1
,
onep2
);
auto
final
=
p
.
add_instruction
(
unary_op
{},
id
);
p
.
compile
(
t
);
EXPECT
(
not
t
.
has_stream
(
one
));
EXPECT
(
t
.
get_stream
(
onep1
)
!=
t
.
get_stream
(
onep2
));
// No stream assignment
EXPECT
(
not
t
.
has_stream
(
id
));
// There is no wait
EXPECT
(
get_wait_for
(
id
).
empty
());
// Stream assignment for final op
EXPECT
(
t
.
get_stream
(
final
)
==
0
);
EXPECT
(
get_wait_for
(
final
)
==
get_wait_for
(
t
.
get_stream
(
final
),
{
t
.
get_stream
(
onep1
),
t
.
get_stream
(
onep2
)}));
EXPECT
(
check_conflicts
(
p
,
onep1
,
onep2
));
}
TEST_CASE
(
zero_merge4
)
{
schedule_target
t
{};
migraphx
::
program
p
;
auto
one
=
p
.
add_literal
(
1
);
auto
onep1
=
p
.
add_instruction
(
unary_op
{},
one
);
auto
onep2
=
p
.
add_instruction
(
unary_op
{},
one
);
auto
id
=
p
.
add_instruction
(
migraphx
::
op
::
identity
{},
p
.
add_instruction
(
migraphx
::
op
::
identity
{},
onep1
),
p
.
add_instruction
(
migraphx
::
op
::
identity
{},
onep2
));
auto
final
=
p
.
add_instruction
(
unary_op
{},
id
);
p
.
compile
(
t
);
EXPECT
(
not
t
.
has_stream
(
one
));
EXPECT
(
t
.
get_stream
(
onep1
)
!=
t
.
get_stream
(
onep2
));
// No stream assignment
EXPECT
(
not
t
.
has_stream
(
id
));
// There is no wait
EXPECT
(
get_wait_for
(
id
).
empty
());
// Stream assignment for final op
EXPECT
(
t
.
get_stream
(
final
)
==
0
);
EXPECT
(
get_wait_for
(
final
)
==
get_wait_for
(
t
.
get_stream
(
final
),
{
t
.
get_stream
(
onep1
),
t
.
get_stream
(
onep2
)}));
EXPECT
(
check_conflicts
(
p
,
onep1
,
onep2
));
}
TEST_CASE
(
double_entry
)
{
schedule_target
t
{};
...
...
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