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
7aa8a94e
"vscode:/vscode.git/clone" did not exist on "dbd20ecc4f11255316fa98bda6c991ac2d2c427e"
Commit
7aa8a94e
authored
Jun 05, 2019
by
Paul
Browse files
Fix tidy warnings
parent
f1cf5cf0
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
27 additions
and
16 deletions
+27
-16
src/driver/CMakeLists.txt
src/driver/CMakeLists.txt
+1
-0
src/driver/argument_parser.hpp
src/driver/argument_parser.hpp
+17
-10
src/driver/command.hpp
src/driver/command.hpp
+2
-1
src/driver/main.cpp
src/driver/main.cpp
+1
-1
src/driver/perf.cpp
src/driver/perf.cpp
+2
-0
src/driver/verify.cpp
src/driver/verify.cpp
+2
-2
src/driver/verify.hpp
src/driver/verify.hpp
+2
-2
No files found.
src/driver/CMakeLists.txt
View file @
7aa8a94e
add_executable
(
driver main.cpp verify.cpp perf.cpp
)
rocm_clang_tidy_check
(
driver
)
target_link_libraries
(
driver migraphx_cpu migraphx_onnx migraphx_tf
)
if
(
MIGRAPHX_ENABLE_GPU
)
target_link_libraries
(
driver migraphx_gpu
)
...
...
src/driver/argument_parser.hpp
View file @
7aa8a94e
...
...
@@ -21,6 +21,13 @@ namespace migraphx {
namespace
driver
{
inline
namespace
MIGRAPHX_INLINE_NS
{
#ifdef MIGRAPHX_USE_CLANG_TIDY
#define MIGRAPHX_DRIVER_STATIC
#else
#define MIGRAPHX_DRIVER_STATIC static
#endif
template
<
class
T
>
struct
value_parser
{
...
...
@@ -79,7 +86,7 @@ struct argument_parser
template
<
class
...
Fs
>
void
operator
()(
std
::
nullptr_t
x
,
std
::
vector
<
std
::
string
>
flags
,
Fs
...
fs
)
{
arguments
.
push_back
({
flags
});
arguments
.
push_back
({
std
::
move
(
flags
)
});
argument
&
arg
=
arguments
.
back
();
arg
.
type
=
""
;
...
...
@@ -87,13 +94,13 @@ struct argument_parser
migraphx
::
each_args
([
&
](
auto
f
)
{
f
(
x
,
arg
);
},
fs
...);
}
static
auto
nargs
(
unsigned
n
=
1
)
MIGRAPHX_DRIVER_STATIC
auto
nargs
(
unsigned
n
=
1
)
{
return
[
=
](
auto
&&
,
auto
&
arg
)
{
arg
.
nargs
=
n
;
};
}
template
<
class
F
>
static
auto
write_action
(
F
f
)
MIGRAPHX_DRIVER_STATIC
auto
write_action
(
F
f
)
{
return
[
=
](
auto
&
x
,
auto
&
arg
)
{
arg
.
action
=
[
&
,
f
](
auto
&
self
,
const
std
::
vector
<
std
::
string
>&
params
)
{
...
...
@@ -104,7 +111,7 @@ struct argument_parser
}
template
<
class
F
>
static
auto
do_action
(
F
f
)
MIGRAPHX_DRIVER_STATIC
auto
do_action
(
F
f
)
{
return
[
=
](
auto
&
,
auto
&
arg
)
{
arg
.
nargs
=
0
;
...
...
@@ -115,7 +122,7 @@ struct argument_parser
};
}
static
auto
append
()
MIGRAPHX_DRIVER_STATIC
auto
append
()
{
return
write_action
([](
auto
&
,
auto
&
x
,
auto
&
params
)
{
using
type
=
typename
decltype
(
params
)
::
value_type
;
...
...
@@ -126,7 +133,7 @@ struct argument_parser
});
}
static
auto
show_help
(
std
::
string
msg
=
""
)
MIGRAPHX_DRIVER_STATIC
auto
show_help
(
const
std
::
string
&
msg
=
""
)
{
return
do_action
([
=
](
auto
&
self
)
{
for
(
auto
&&
arg
:
self
.
arguments
)
...
...
@@ -155,18 +162,18 @@ struct argument_parser
});
}
static
auto
help
(
std
::
string
help
)
MIGRAPHX_DRIVER_STATIC
auto
help
(
std
::
string
help
)
{
return
[
=
](
auto
&
,
auto
&
arg
)
{
arg
.
help
=
help
;
};
}
static
auto
metavar
(
std
::
string
metavar
)
MIGRAPHX_DRIVER_STATIC
auto
metavar
(
std
::
string
metavar
)
{
return
[
=
](
auto
&
,
auto
&
arg
)
{
arg
.
metavar
=
metavar
;
};
}
template
<
class
T
>
static
auto
set_value
(
T
value
)
MIGRAPHX_DRIVER_STATIC
auto
set_value
(
T
value
)
{
return
[
=
](
auto
&
x
,
auto
&
arg
)
{
arg
.
nargs
=
0
;
...
...
@@ -186,7 +193,7 @@ struct argument_parser
for
(
auto
&&
flag
:
arg
.
flags
)
keywords
[
flag
]
=
arg
.
nargs
+
1
;
}
auto
arg_map
=
generic_parse
(
args
,
[
&
](
std
::
string
x
)
{
return
keywords
[
x
];
});
auto
arg_map
=
generic_parse
(
std
::
move
(
args
)
,
[
&
](
std
::
string
x
)
{
return
keywords
[
x
];
});
for
(
auto
&&
arg
:
arguments
)
{
auto
flags
=
arg
.
flags
;
...
...
src/driver/command.hpp
View file @
7aa8a94e
...
...
@@ -8,6 +8,7 @@
#include <migraphx/stringutils.hpp>
#include <unordered_map>
#include <utility>
#include <vector>
namespace
migraphx
{
...
...
@@ -47,7 +48,7 @@ void run_command(std::vector<std::string> args, bool add_help = false)
if
(
add_help
)
ap
(
nullptr
,
{
"-h"
,
"--help"
},
ap
.
help
(
"Show help"
),
ap
.
show_help
());
x
.
parse
(
ap
);
if
(
ap
.
parse
(
args
))
if
(
ap
.
parse
(
std
::
move
(
args
))
)
return
;
x
.
run
();
}
...
...
src/driver/main.cpp
View file @
7aa8a94e
...
...
@@ -194,7 +194,7 @@ struct main_command
}
// namespace driver
}
// namespace migraphx
using
namespace
migraphx
::
driver
;
using
namespace
migraphx
::
driver
;
// NOLINT
int
main
(
int
argc
,
const
char
*
argv
[])
{
std
::
vector
<
std
::
string
>
args
(
argv
+
1
,
argv
+
argc
);
...
...
src/driver/perf.cpp
View file @
7aa8a94e
...
...
@@ -20,6 +20,8 @@ program::parameter_map create_param_map(const program& p, bool gpu)
if
(
gpu
)
m
[
x
.
first
]
=
gpu
::
to_gpu
(
generate_argument
(
x
.
second
));
else
#else
(
void
)
gpu
;
#endif
m
[
x
.
first
]
=
generate_argument
(
x
.
second
);
}
...
...
src/driver/verify.cpp
View file @
7aa8a94e
...
...
@@ -52,7 +52,7 @@ argument run_gpu(program p)
#endif
}
void
verify_program
(
const
std
::
string
&
name
,
program
p
,
double
tolerance
)
void
verify_program
(
const
std
::
string
&
name
,
const
program
&
p
,
double
tolerance
)
{
auto
x
=
run_cpu
(
p
);
auto
y
=
run_gpu
(
p
);
...
...
@@ -106,7 +106,7 @@ void verify_reduced(program p, int n, double tolerance)
verify_program
(
std
::
to_string
(
n
),
p
,
tolerance
);
}
void
verify_reduced_program
(
program
p
,
double
tolerance
)
void
verify_reduced_program
(
const
program
&
p
,
double
tolerance
)
{
auto
n
=
std
::
distance
(
p
.
begin
(),
p
.
end
());
for
(
std
::
size_t
i
=
0
;
i
<
n
;
i
++
)
...
...
src/driver/verify.hpp
View file @
7aa8a94e
...
...
@@ -9,9 +9,9 @@ inline namespace MIGRAPHX_INLINE_NS {
argument
run_cpu
(
program
p
);
argument
run_gpu
(
program
p
);
void
verify_program
(
const
std
::
string
&
name
,
program
p
,
double
tolerance
=
100
);
void
verify_program
(
const
std
::
string
&
name
,
const
program
&
p
,
double
tolerance
=
100
);
void
verify_instructions
(
const
program
&
prog
,
double
tolerance
=
80
);
void
verify_reduced_program
(
program
p
,
double
tolerance
=
80
);
void
verify_reduced_program
(
const
program
&
p
,
double
tolerance
=
80
);
}
// namespace MIGRAPHX_INLINE_NS
}
// namespace driver
...
...
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