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
acbb2e88
Commit
acbb2e88
authored
May 26, 2023
by
Paul
Browse files
Format
parent
3a58dbf9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
13 deletions
+8
-13
src/targets/gpu/compile_ops.cpp
src/targets/gpu/compile_ops.cpp
+8
-13
No files found.
src/targets/gpu/compile_ops.cpp
View file @
acbb2e88
...
@@ -81,20 +81,17 @@ struct compile_plan
...
@@ -81,20 +81,17 @@ struct compile_plan
context
*
ctx
;
context
*
ctx
;
operation
preop
;
operation
preop
;
instruction_ref
ins
;
instruction_ref
ins
;
optional
<
tuning_config
>
config
=
nullopt
;
optional
<
tuning_config
>
config
=
nullopt
;
std
::
vector
<
compiled_result
>
results
=
{};
std
::
vector
<
compiled_result
>
results
=
{};
void
update_config
()
void
update_config
()
{
config
=
get_tuning_config
(
*
ctx
,
ins
,
preop
);
}
{
template
<
class
Vector
>
config
=
get_tuning_config
(
*
ctx
,
ins
,
preop
);
}
template
<
class
Vector
>
void
add_compiles
(
Vector
&
compiles
)
void
add_compiles
(
Vector
&
compiles
)
{
{
if
(
config
.
has_value
())
if
(
config
.
has_value
())
{
{
const
auto
&
solutions
=
config
.
value
().
solutions
;
const
auto
&
solutions
=
config
.
value
().
solutions
;
results
.
resize
(
solutions
.
size
());
results
.
resize
(
solutions
.
size
());
for
(
auto
i
:
range
(
solutions
.
size
()))
for
(
auto
i
:
range
(
solutions
.
size
()))
{
{
auto
solution
=
solutions
[
i
];
auto
solution
=
solutions
[
i
];
compiles
.
emplace_back
([
=
]
{
compiles
.
emplace_back
([
=
]
{
...
@@ -141,17 +138,15 @@ void compile_ops::apply(module& m) const
...
@@ -141,17 +138,15 @@ void compile_ops::apply(module& m) const
operation
preop
=
any_cast
<
precompile_op
>
(
ins
->
get_operator
()).
op
;
operation
preop
=
any_cast
<
precompile_op
>
(
ins
->
get_operator
()).
op
;
cps
.
push_back
({
ctx
,
preop
,
ins
});
cps
.
push_back
({
ctx
,
preop
,
ins
});
}
}
par_compile
(
cps
.
size
(),
[
&
](
auto
i
)
{
par_compile
(
cps
.
size
(),
[
&
](
auto
i
)
{
cps
[
i
].
update_config
();
});
cps
[
i
].
update_config
();
});
std
::
vector
<
std
::
function
<
void
()
>>
compiles
;
std
::
vector
<
std
::
function
<
void
()
>>
compiles
;
for
(
auto
&
cp
:
cps
)
for
(
auto
&
cp
:
cps
)
{
{
cp
.
add_compiles
(
compiles
);
cp
.
add_compiles
(
compiles
);
}
}
par_compile
(
compiles
.
size
(),
[
&
](
auto
i
)
{
compiles
[
i
]();
});
par_compile
(
compiles
.
size
(),
[
&
](
auto
i
)
{
compiles
[
i
]();
});
for
(
const
auto
&
cp
:
cps
)
for
(
const
auto
&
cp
:
cps
)
{
{
cp
.
replace
(
m
);
cp
.
replace
(
m
);
}
}
...
...
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