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
13e4b719
Commit
13e4b719
authored
Apr 10, 2019
by
Shucai Xiao
Browse files
fix comments from code review.
parent
92fd618a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
5 deletions
+9
-5
src/quantization.cpp
src/quantization.cpp
+9
-5
No files found.
src/quantization.cpp
View file @
13e4b719
...
...
@@ -18,8 +18,8 @@ inline namespace MIGRAPHX_INLINE_NS {
instruction_ref
convert_fp32_fp16
(
program
&
prog
,
instruction_ref
&
ins
)
{
assert
(
ins
->
get_shape
().
type
()
==
shape
::
float_type
);
assert
(
ins
->
name
().
front
()
==
'@'
);
assert
(
ins
->
get_shape
().
type
()
==
shape
::
float_type
||
ins
->
get_shape
().
type
()
==
shape
::
double_type
);
assert
(
contains
({
"@literal"
,
"@param"
},
ins
->
name
())
);
instruction_ref
ins_fp16
{};
if
(
ins
->
name
()
==
"@literal"
)
{
...
...
@@ -47,11 +47,15 @@ instruction_ref convert_fp32_fp16(program& prog, instruction_ref& ins)
void
quantize
(
program
&
prog
)
{
bool
reduced_precision
=
false
;
shape
::
type_t
orig_type
=
shape
::
float_type
;
for
(
auto
ins
:
iterator_for
(
prog
))
{
// convert float_type to half_type
if
(
ins
->
name
().
front
()
==
'@'
&&
ins
->
get_shape
().
type
()
==
shape
::
float_type
)
if
(
contains
({
"@literal"
,
"@param"
},
ins
->
name
())
&&
(
ins
->
get_shape
().
type
()
==
shape
::
float_type
||
ins
->
get_shape
().
type
()
==
shape
::
double_type
))
{
orig_type
=
ins
->
get_shape
().
type
();
auto
ins_fp16
=
convert_fp32_fp16
(
prog
,
ins
);
auto
outputs
=
ins
->
outputs
();
for
(
auto
output
:
outputs
)
...
...
@@ -71,7 +75,7 @@ void quantize(program& prog)
{
for
(
auto
ins
:
iterator_for
(
prog
))
{
if
(
ins
->
name
().
front
()
!=
'@'
)
if
(
!
contains
({
"@literal"
,
"@param"
},
ins
->
name
())
)
{
ins
->
recompute_ins_shape
();
}
...
...
@@ -80,7 +84,7 @@ void quantize(program& prog)
auto
ins
=
std
::
prev
(
prog
.
end
());
if
(
ins
->
get_shape
().
type
()
==
shape
::
half_type
)
{
prog
.
add_instruction
(
op
::
fp_conversion
{
shape
::
float
_type
},
ins
);
prog
.
add_instruction
(
op
::
fp_conversion
{
orig
_type
},
ins
);
}
}
}
...
...
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