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
ee80cee9
Unverified
Commit
ee80cee9
authored
Nov 07, 2018
by
Paul Fultz II
Committed by
GitHub
Nov 07, 2018
Browse files
Merge branch 'master' into gpu_slice_test
parents
6d06226d
f958d56f
Changes
159
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
123 additions
and
18 deletions
+123
-18
src/include/migraph/iterator_for.hpp
src/include/migraph/iterator_for.hpp
+3
-0
src/include/migraph/literal.hpp
src/include/migraph/literal.hpp
+3
-0
src/include/migraph/make_shared_array.hpp
src/include/migraph/make_shared_array.hpp
+3
-0
src/include/migraph/manage_ptr.hpp
src/include/migraph/manage_ptr.hpp
+3
-0
src/include/migraph/matcher.hpp
src/include/migraph/matcher.hpp
+3
-1
src/include/migraph/memory_coloring.hpp
src/include/migraph/memory_coloring.hpp
+5
-0
src/include/migraph/onnx.hpp
src/include/migraph/onnx.hpp
+3
-0
src/include/migraph/operation.hpp
src/include/migraph/operation.hpp
+40
-0
src/include/migraph/operators.hpp
src/include/migraph/operators.hpp
+24
-17
src/include/migraph/pass.hpp
src/include/migraph/pass.hpp
+3
-0
src/include/migraph/pass_config.hpp
src/include/migraph/pass_config.hpp
+4
-0
src/include/migraph/program.hpp
src/include/migraph/program.hpp
+4
-0
src/include/migraph/ranges.hpp
src/include/migraph/ranges.hpp
+3
-0
src/include/migraph/rank.hpp
src/include/migraph/rank.hpp
+4
-0
src/include/migraph/raw_data.hpp
src/include/migraph/raw_data.hpp
+3
-0
src/include/migraph/reflect.hpp
src/include/migraph/reflect.hpp
+3
-0
src/include/migraph/requires.hpp
src/include/migraph/requires.hpp
+3
-0
src/include/migraph/shape.hpp
src/include/migraph/shape.hpp
+3
-0
src/include/migraph/shape_for_each.hpp
src/include/migraph/shape_for_each.hpp
+3
-0
src/include/migraph/simplify_algebra.hpp
src/include/migraph/simplify_algebra.hpp
+3
-0
No files found.
src/include/migraph/iterator_for.hpp
View file @
ee80cee9
...
@@ -3,8 +3,10 @@
...
@@ -3,8 +3,10 @@
#include <cassert>
#include <cassert>
#include <type_traits>
#include <type_traits>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
template
<
class
T
>
template
<
class
T
>
struct
iterator_for_range
struct
iterator_for_range
...
@@ -37,6 +39,7 @@ iterator_for_range<T> iterator_for(T& x)
...
@@ -37,6 +39,7 @@ iterator_for_range<T> iterator_for(T& x)
return
{
&
x
};
return
{
&
x
};
}
}
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/literal.hpp
View file @
ee80cee9
...
@@ -7,10 +7,12 @@
...
@@ -7,10 +7,12 @@
#include <migraph/tensor_view.hpp>
#include <migraph/tensor_view.hpp>
#include <migraph/raw_data.hpp>
#include <migraph/raw_data.hpp>
#include <migraph/make_shared_array.hpp>
#include <migraph/make_shared_array.hpp>
#include <migraph/config.hpp>
#include <memory>
#include <memory>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
/**
/**
* @brief Represents a raw literal
* @brief Represents a raw literal
...
@@ -122,6 +124,7 @@ literal transform(literal l1, literal l2, F f)
...
@@ -122,6 +124,7 @@ literal transform(literal l1, literal l2, F f)
return
result
;
return
result
;
}
}
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/make_shared_array.hpp
View file @
ee80cee9
...
@@ -2,8 +2,10 @@
...
@@ -2,8 +2,10 @@
#define MIGRAPH_GUARD_MIGRAPHLIB_MAKE_SHARED_ARRAY_HPP
#define MIGRAPH_GUARD_MIGRAPHLIB_MAKE_SHARED_ARRAY_HPP
#include <memory>
#include <memory>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
template
<
typename
T
>
template
<
typename
T
>
std
::
shared_ptr
<
T
>
make_shared_array
(
size_t
size
)
std
::
shared_ptr
<
T
>
make_shared_array
(
size_t
size
)
...
@@ -11,6 +13,7 @@ std::shared_ptr<T> make_shared_array(size_t size)
...
@@ -11,6 +13,7 @@ std::shared_ptr<T> make_shared_array(size_t size)
return
std
::
shared_ptr
<
T
>
(
new
T
[
size
],
std
::
default_delete
<
T
[]
>
());
return
std
::
shared_ptr
<
T
>
(
new
T
[
size
],
std
::
default_delete
<
T
[]
>
());
}
}
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/manage_ptr.hpp
View file @
ee80cee9
...
@@ -3,8 +3,10 @@
...
@@ -3,8 +3,10 @@
#include <memory>
#include <memory>
#include <type_traits>
#include <type_traits>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
template
<
class
F
,
F
f
>
// NOLINT
template
<
class
F
,
F
f
>
// NOLINT
struct
manage_deleter
struct
manage_deleter
...
@@ -49,6 +51,7 @@ shared<T> share(T p)
...
@@ -49,6 +51,7 @@ shared<T> share(T p)
return
shared
<
T
>
{
std
::
move
(
p
)};
return
shared
<
T
>
{
std
::
move
(
p
)};
}
}
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#define MIGRAPH_MANAGE_PTR(T, F) \
#define MIGRAPH_MANAGE_PTR(T, F) \
...
...
src/include/migraph/matcher.hpp
View file @
ee80cee9
...
@@ -6,9 +6,11 @@
...
@@ -6,9 +6,11 @@
#include <migraph/instruction.hpp>
#include <migraph/instruction.hpp>
#include <migraph/program.hpp>
#include <migraph/program.hpp>
#include <migraph/iterator_for.hpp>
#include <migraph/iterator_for.hpp>
#include <migraph/config.hpp>
#include <unordered_map>
#include <unordered_map>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
namespace
match
{
namespace
match
{
...
@@ -338,7 +340,7 @@ inline auto either_arg(std::size_t i, std::size_t j)
...
@@ -338,7 +340,7 @@ inline auto either_arg(std::size_t i, std::size_t j)
}
}
}
// namespace match
}
// namespace match
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/memory_coloring.hpp
View file @
ee80cee9
...
@@ -3,16 +3,21 @@
...
@@ -3,16 +3,21 @@
#include <string>
#include <string>
#include <migraph/instruction_ref.hpp>
#include <migraph/instruction_ref.hpp>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
struct
program
;
struct
program
;
struct
memory_coloring
struct
memory_coloring
{
{
std
::
string
allocation_op
{};
std
::
string
allocation_op
{};
bool
verify
=
false
;
std
::
string
name
()
const
{
return
"memory coloring"
;
}
std
::
string
name
()
const
{
return
"memory coloring"
;
}
void
apply
(
program
&
p
)
const
;
void
apply
(
program
&
p
)
const
;
};
};
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/onnx.hpp
View file @
ee80cee9
...
@@ -2,12 +2,15 @@
...
@@ -2,12 +2,15 @@
#define MIGRAPH_GUARD_MIGRAPHLIB_ONNX_HPP
#define MIGRAPH_GUARD_MIGRAPHLIB_ONNX_HPP
#include <migraph/program.hpp>
#include <migraph/program.hpp>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
/// Create a program from an onnx file
/// Create a program from an onnx file
program
parse_onnx
(
const
std
::
string
&
name
);
program
parse_onnx
(
const
std
::
string
&
name
);
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/operation.hpp
View file @
ee80cee9
...
@@ -13,8 +13,10 @@
...
@@ -13,8 +13,10 @@
#include <migraph/argument.hpp>
#include <migraph/argument.hpp>
#include <migraph/context.hpp>
#include <migraph/context.hpp>
#include <migraph/auto_any_cast.hpp>
#include <migraph/auto_any_cast.hpp>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
#ifdef DOXYGEN
#ifdef DOXYGEN
...
@@ -43,6 +45,9 @@ struct operation
...
@@ -43,6 +45,9 @@ struct operation
* the same the `output` shape.
* the same the `output` shape.
*/
*/
argument
compute
(
context
&
ctx
,
const
shape
&
output
,
const
std
::
vector
<
argument
>&
input
)
const
;
argument
compute
(
context
&
ctx
,
const
shape
&
output
,
const
std
::
vector
<
argument
>&
input
)
const
;
/// An optional method to return which argument the output will alias. If
/// there is no aliased output then -1 can be returned.
int
output_alias
(
const
std
::
vector
<
shape
>&
input
)
const
;
/// An optional stream operator to print the operation. When this is not
/// An optional stream operator to print the operation. When this is not
/// implemented, it will just print the operation's name.
/// implemented, it will just print the operation's name.
friend
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
const
operation
&
op
);
friend
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
const
operation
&
op
);
...
@@ -108,12 +113,32 @@ compute_op(const T& x, context& ctx, const shape& output_shape, const std::vecto
...
@@ -108,12 +113,32 @@ compute_op(const T& x, context& ctx, const shape& output_shape, const std::vecto
return
compute_op
(
rank
<
1
>
{},
x
,
ctx
,
output_shape
,
input
);
return
compute_op
(
rank
<
1
>
{},
x
,
ctx
,
output_shape
,
input
);
}
}
template
<
class
T
>
int
output_alias_op
(
rank
<
0
>
,
const
T
&
,
const
std
::
vector
<
shape
>&
)
{
return
-
1
;
}
template
<
class
T
>
auto
output_alias_op
(
rank
<
1
>
,
const
T
&
x
,
const
std
::
vector
<
shape
>&
shapes
)
->
decltype
(
x
.
output_alias
(
shapes
))
{
return
x
.
output_alias
(
shapes
);
}
template
<
class
T
>
int
output_alias_op
(
const
T
&
x
,
const
std
::
vector
<
shape
>&
shapes
)
{
return
output_alias_op
(
rank
<
1
>
{},
x
,
shapes
);
}
/*
/*
* Type-erased interface for:
* Type-erased interface for:
*
*
* struct operation
* struct operation
* {
* {
* std::string name() const;
* std::string name() const;
* int output_alias(const std::vector<shape>& input) const;
* shape compute_shape(const std::vector<shape>& input) const;
* shape compute_shape(const std::vector<shape>& input) const;
* argument compute(context& ctx,const shape& output,const std::vector<argument>& input) const;
* argument compute(context& ctx,const shape& output,const std::vector<argument>& input) const;
* friend std::ostream & operator<<(std::ostream & os,const operation & op) ;
* friend std::ostream & operator<<(std::ostream & os,const operation & op) ;
...
@@ -185,6 +210,12 @@ struct operation
...
@@ -185,6 +210,12 @@ struct operation
return
(
*
this
).
private_detail_te_get_handle
().
name
();
return
(
*
this
).
private_detail_te_get_handle
().
name
();
}
}
int
output_alias
(
const
std
::
vector
<
shape
>&
input
)
const
{
assert
((
*
this
).
private_detail_te_handle_mem_var
);
return
(
*
this
).
private_detail_te_get_handle
().
output_alias
(
input
);
}
shape
compute_shape
(
const
std
::
vector
<
shape
>&
input
)
const
shape
compute_shape
(
const
std
::
vector
<
shape
>&
input
)
const
{
{
assert
((
*
this
).
private_detail_te_handle_mem_var
);
assert
((
*
this
).
private_detail_te_handle_mem_var
);
...
@@ -217,6 +248,7 @@ struct operation
...
@@ -217,6 +248,7 @@ struct operation
virtual
const
std
::
type_info
&
type
()
const
=
0
;
virtual
const
std
::
type_info
&
type
()
const
=
0
;
virtual
std
::
string
name
()
const
=
0
;
virtual
std
::
string
name
()
const
=
0
;
virtual
int
output_alias
(
const
std
::
vector
<
shape
>&
input
)
const
=
0
;
virtual
shape
compute_shape
(
const
std
::
vector
<
shape
>&
input
)
const
=
0
;
virtual
shape
compute_shape
(
const
std
::
vector
<
shape
>&
input
)
const
=
0
;
virtual
argument
virtual
argument
compute
(
context
&
ctx
,
const
shape
&
output
,
const
std
::
vector
<
argument
>&
input
)
const
=
0
;
compute
(
context
&
ctx
,
const
shape
&
output
,
const
std
::
vector
<
argument
>&
input
)
const
=
0
;
...
@@ -254,8 +286,15 @@ struct operation
...
@@ -254,8 +286,15 @@ struct operation
std
::
string
name
()
const
override
{
return
private_detail_te_value
.
name
();
}
std
::
string
name
()
const
override
{
return
private_detail_te_value
.
name
();
}
int
output_alias
(
const
std
::
vector
<
shape
>&
input
)
const
override
{
return
output_alias_op
(
private_detail_te_value
,
input
);
}
shape
compute_shape
(
const
std
::
vector
<
shape
>&
input
)
const
override
shape
compute_shape
(
const
std
::
vector
<
shape
>&
input
)
const
override
{
{
return
private_detail_te_value
.
compute_shape
(
input
);
return
private_detail_te_value
.
compute_shape
(
input
);
}
}
...
@@ -348,6 +387,7 @@ inline bool operator!=(const operation& x, const operation& y) { return !(x == y
...
@@ -348,6 +387,7 @@ inline bool operator!=(const operation& x, const operation& y) { return !(x == y
#endif
#endif
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/operators.hpp
View file @
ee80cee9
...
@@ -6,10 +6,12 @@
...
@@ -6,10 +6,12 @@
#include <migraph/check_shapes.hpp>
#include <migraph/check_shapes.hpp>
#include <migraph/stringutils.hpp>
#include <migraph/stringutils.hpp>
#include <migraph/streamutils.hpp>
#include <migraph/streamutils.hpp>
#include <migraph/config.hpp>
#include <cmath>
#include <cmath>
#include <utility>
#include <utility>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
namespace
op
{
namespace
op
{
struct
not_computable
struct
not_computable
...
@@ -223,22 +225,6 @@ struct pooling
...
@@ -223,22 +225,6 @@ struct pooling
}
}
};
};
struct
activation
{
std
::
string
mode
;
std
::
string
name
()
const
{
return
"activation"
;
}
shape
compute_shape
(
std
::
vector
<
shape
>
inputs
)
const
{
check_shapes
{
inputs
,
*
this
}.
has
(
1
);
return
inputs
.
front
();
}
friend
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
const
activation
&
op
)
{
os
<<
op
.
name
()
<<
":"
<<
op
.
mode
;
return
os
;
}
};
struct
leaky_relu
struct
leaky_relu
{
{
std
::
string
name
()
const
{
return
"leaky_relu"
;
}
std
::
string
name
()
const
{
return
"leaky_relu"
;
}
...
@@ -296,6 +282,7 @@ struct transpose
...
@@ -296,6 +282,7 @@ struct transpose
{
{
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
front
().
data
)};
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
front
().
data
)};
}
}
int
output_alias
(
const
std
::
vector
<
shape
>&
)
const
{
return
0
;
}
};
};
struct
contiguous
struct
contiguous
...
@@ -359,6 +346,7 @@ struct concat
...
@@ -359,6 +346,7 @@ struct concat
new_lens
[
axis
]
=
new_dim_axis
;
new_lens
[
axis
]
=
new_dim_axis
;
return
{
type
,
new_lens
};
return
{
type
,
new_lens
};
}
}
int
output_alias
(
const
std
::
vector
<
shape
>&
)
const
{
return
0
;
}
};
};
struct
slice
struct
slice
...
@@ -440,6 +428,7 @@ struct slice
...
@@ -440,6 +428,7 @@ struct slice
auto
offset
=
compute_offset
(
input
.
get_shape
())
*
output_shape
.
type_size
();
auto
offset
=
compute_offset
(
input
.
get_shape
())
*
output_shape
.
type_size
();
return
{
std
::
move
(
output_shape
),
[
=
]
{
return
input
.
data
()
+
offset
;
}};
return
{
std
::
move
(
output_shape
),
[
=
]
{
return
input
.
data
()
+
offset
;
}};
}
}
int
output_alias
(
const
std
::
vector
<
shape
>&
)
const
{
return
0
;
}
};
};
struct
squeeze
struct
squeeze
...
@@ -487,6 +476,7 @@ struct squeeze
...
@@ -487,6 +476,7 @@ struct squeeze
{
{
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
front
().
data
)};
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
front
().
data
)};
}
}
int
output_alias
(
const
std
::
vector
<
shape
>&
)
const
{
return
0
;
}
};
};
struct
unsqueeze
struct
unsqueeze
...
@@ -525,6 +515,7 @@ struct unsqueeze
...
@@ -525,6 +515,7 @@ struct unsqueeze
{
{
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
front
().
data
)};
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
front
().
data
)};
}
}
int
output_alias
(
const
std
::
vector
<
shape
>&
)
const
{
return
0
;
}
};
};
struct
reshape
struct
reshape
...
@@ -576,6 +567,7 @@ struct reshape
...
@@ -576,6 +567,7 @@ struct reshape
{
{
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
front
().
data
)};
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
front
().
data
)};
}
}
int
output_alias
(
const
std
::
vector
<
shape
>&
)
const
{
return
0
;
}
};
};
struct
dot
struct
dot
...
@@ -613,9 +605,14 @@ struct unary
...
@@ -613,9 +605,14 @@ struct unary
}
}
};
};
struct
identity
:
unary
struct
identity
{
{
std
::
string
name
()
const
{
return
"identity"
;
}
std
::
string
name
()
const
{
return
"identity"
;
}
shape
compute_shape
(
std
::
vector
<
shape
>
inputs
)
const
{
return
inputs
.
at
(
0
);
}
argument
compute
(
context
&
,
shape
output_shape
,
std
::
vector
<
argument
>
args
)
const
{
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
at
(
0
).
data
)};
}
};
};
struct
abs
:
unary
struct
abs
:
unary
...
@@ -673,6 +670,11 @@ struct neg : unary
...
@@ -673,6 +670,11 @@ struct neg : unary
std
::
string
name
()
const
{
return
"neg"
;
}
std
::
string
name
()
const
{
return
"neg"
;
}
};
};
struct
relu
:
unary
{
std
::
string
name
()
const
{
return
"relu"
;
}
};
struct
softmax
struct
softmax
{
{
std
::
string
name
()
const
{
return
"softmax"
;
}
std
::
string
name
()
const
{
return
"softmax"
;
}
...
@@ -713,6 +715,7 @@ struct flatten
...
@@ -713,6 +715,7 @@ struct flatten
{
{
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
front
().
data
)};
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
front
().
data
)};
}
}
int
output_alias
(
const
std
::
vector
<
shape
>&
)
const
{
return
0
;
}
};
};
struct
broadcast
struct
broadcast
{
{
...
@@ -755,6 +758,7 @@ struct broadcast
...
@@ -755,6 +758,7 @@ struct broadcast
{
{
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
at
(
0
).
data
)};
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
at
(
0
).
data
)};
}
}
int
output_alias
(
const
std
::
vector
<
shape
>&
)
const
{
return
0
;
}
};
};
struct
scalar
struct
scalar
...
@@ -776,6 +780,7 @@ struct scalar
...
@@ -776,6 +780,7 @@ struct scalar
{
{
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
at
(
0
).
data
)};
return
{
std
::
move
(
output_shape
),
std
::
move
(
args
.
at
(
0
).
data
)};
}
}
int
output_alias
(
const
std
::
vector
<
shape
>&
)
const
{
return
0
;
}
};
};
struct
binary
struct
binary
...
@@ -828,6 +833,7 @@ struct load
...
@@ -828,6 +833,7 @@ struct load
{
{
return
{
s
,
args
[
0
].
data
()
+
offset
};
return
{
s
,
args
[
0
].
data
()
+
offset
};
}
}
int
output_alias
(
const
std
::
vector
<
shape
>&
)
const
{
return
0
;
}
};
};
struct
outline
struct
outline
...
@@ -853,6 +859,7 @@ struct outline
...
@@ -853,6 +859,7 @@ struct outline
};
};
}
// namespace op
}
// namespace op
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/pass.hpp
View file @
ee80cee9
...
@@ -7,8 +7,10 @@
...
@@ -7,8 +7,10 @@
#include <memory>
#include <memory>
#include <type_traits>
#include <type_traits>
#include <utility>
#include <utility>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
struct
program
;
struct
program
;
...
@@ -216,6 +218,7 @@ inline const ValueType& any_cast(const pass& x)
...
@@ -216,6 +218,7 @@ inline const ValueType& any_cast(const pass& x)
#endif
#endif
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/pass_config.hpp
View file @
ee80cee9
...
@@ -3,9 +3,13 @@
...
@@ -3,9 +3,13 @@
#define MIGRAPH_GUARD_PASS_CONFIG_HPP
#define MIGRAPH_GUARD_PASS_CONFIG_HPP
#include <migraph/env.hpp>
#include <migraph/env.hpp>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
MIGRAPH_DECLARE_ENV_VAR
(
MIGRAPH_DISABLE_MEMORY_COLORING
)
MIGRAPH_DECLARE_ENV_VAR
(
MIGRAPH_DISABLE_MEMORY_COLORING
)
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif // MIGRAPH_GUARD_PASS_CONFIG_HPP
#endif // MIGRAPH_GUARD_PASS_CONFIG_HPP
src/include/migraph/program.hpp
View file @
ee80cee9
...
@@ -9,10 +9,12 @@
...
@@ -9,10 +9,12 @@
#include <migraph/instruction_ref.hpp>
#include <migraph/instruction_ref.hpp>
#include <migraph/target.hpp>
#include <migraph/target.hpp>
#include <migraph/tracer.hpp>
#include <migraph/tracer.hpp>
#include <migraph/config.hpp>
#include <algorithm>
#include <algorithm>
#include <iostream>
#include <iostream>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
struct
program_impl
;
struct
program_impl
;
...
@@ -106,6 +108,8 @@ struct program
...
@@ -106,6 +108,8 @@ struct program
private:
private:
std
::
unique_ptr
<
program_impl
>
impl
;
std
::
unique_ptr
<
program_impl
>
impl
;
};
};
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/ranges.hpp
View file @
ee80cee9
...
@@ -4,8 +4,10 @@
...
@@ -4,8 +4,10 @@
#include <algorithm>
#include <algorithm>
#include <initializer_list>
#include <initializer_list>
#include <migraph/rank.hpp>
#include <migraph/rank.hpp>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
namespace
detail
{
namespace
detail
{
...
@@ -104,6 +106,7 @@ iterator_range<Iterator> range(std::pair<Iterator, Iterator> p)
...
@@ -104,6 +106,7 @@ iterator_range<Iterator> range(std::pair<Iterator, Iterator> p)
return
{
p
.
first
,
p
.
second
};
return
{
p
.
first
,
p
.
second
};
}
}
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/rank.hpp
View file @
ee80cee9
#ifndef MIGRAPH_GUARD_RTGLIB_RANK_HPP
#ifndef MIGRAPH_GUARD_RTGLIB_RANK_HPP
#define MIGRAPH_GUARD_RTGLIB_RANK_HPP
#define MIGRAPH_GUARD_RTGLIB_RANK_HPP
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
template
<
int
N
>
template
<
int
N
>
struct
rank
:
rank
<
N
-
1
>
struct
rank
:
rank
<
N
-
1
>
...
@@ -13,6 +16,7 @@ struct rank<0>
...
@@ -13,6 +16,7 @@ struct rank<0>
{
{
};
};
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/raw_data.hpp
View file @
ee80cee9
...
@@ -4,8 +4,10 @@
...
@@ -4,8 +4,10 @@
#include <migraph/tensor_view.hpp>
#include <migraph/tensor_view.hpp>
#include <migraph/requires.hpp>
#include <migraph/requires.hpp>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
struct
raw_data_base
struct
raw_data_base
{
{
...
@@ -203,6 +205,7 @@ auto visit_all(T&& x, Ts&&... xs)
...
@@ -203,6 +205,7 @@ auto visit_all(T&& x, Ts&&... xs)
};
};
}
}
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/reflect.hpp
View file @
ee80cee9
...
@@ -3,9 +3,11 @@
...
@@ -3,9 +3,11 @@
#include <migraph/functional.hpp>
#include <migraph/functional.hpp>
#include <migraph/rank.hpp>
#include <migraph/rank.hpp>
#include <migraph/config.hpp>
#include <functional>
#include <functional>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
namespace
detail
{
namespace
detail
{
...
@@ -45,6 +47,7 @@ void reflect_each(T& x, F f)
...
@@ -45,6 +47,7 @@ void reflect_each(T& x, F f)
});
});
}
}
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/requires.hpp
View file @
ee80cee9
...
@@ -2,8 +2,10 @@
...
@@ -2,8 +2,10 @@
#define MIGRAPH_GUARD_MIGRAPHLIB_REQUIRES_HPP
#define MIGRAPH_GUARD_MIGRAPHLIB_REQUIRES_HPP
#include <type_traits>
#include <type_traits>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
template
<
bool
...
Bs
>
template
<
bool
...
Bs
>
struct
and_
:
std
::
is_same
<
and_
<
Bs
...
>
,
and_
<
(
Bs
||
true
)...
>>
// NOLINT
struct
and_
:
std
::
is_same
<
and_
<
Bs
...
>
,
and_
<
(
Bs
||
true
)...
>>
// NOLINT
...
@@ -44,6 +46,7 @@ struct requires_enum
...
@@ -44,6 +46,7 @@ struct requires_enum
#endif
#endif
#endif
#endif
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/shape.hpp
View file @
ee80cee9
...
@@ -9,8 +9,10 @@
...
@@ -9,8 +9,10 @@
#include <migraph/errors.hpp>
#include <migraph/errors.hpp>
#include <migraph/half.hpp>
#include <migraph/half.hpp>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
struct
shape_impl
;
struct
shape_impl
;
...
@@ -161,6 +163,7 @@ struct shape
...
@@ -161,6 +163,7 @@ struct shape
std
::
string
type_string
()
const
;
std
::
string
type_string
()
const
;
};
};
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/shape_for_each.hpp
View file @
ee80cee9
...
@@ -2,9 +2,11 @@
...
@@ -2,9 +2,11 @@
#define MIGRAPH_GUARD_MIGRAPHLIB_SHAPE_FOR_EACH_HPP
#define MIGRAPH_GUARD_MIGRAPHLIB_SHAPE_FOR_EACH_HPP
#include <migraph/shape.hpp>
#include <migraph/shape.hpp>
#include <migraph/config.hpp>
#include <algorithm>
#include <algorithm>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
template
<
class
F
>
template
<
class
F
>
void
shape_for_each
(
const
migraph
::
shape
&
s
,
F
f
)
void
shape_for_each
(
const
migraph
::
shape
&
s
,
F
f
)
...
@@ -26,6 +28,7 @@ void shape_for_each(const migraph::shape& s, F f)
...
@@ -26,6 +28,7 @@ void shape_for_each(const migraph::shape& s, F f)
}
}
}
}
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
src/include/migraph/simplify_algebra.hpp
View file @
ee80cee9
...
@@ -2,8 +2,10 @@
...
@@ -2,8 +2,10 @@
#define MIGRAPH_GUARD_RTGLIB_SIMPLIFY_ALGEBRA_HPP
#define MIGRAPH_GUARD_RTGLIB_SIMPLIFY_ALGEBRA_HPP
#include <string>
#include <string>
#include <migraph/config.hpp>
namespace
migraph
{
namespace
migraph
{
inline
namespace
MIGRAPH_INLINE_NS
{
struct
program
;
struct
program
;
...
@@ -13,6 +15,7 @@ struct simplify_algebra
...
@@ -13,6 +15,7 @@ struct simplify_algebra
void
apply
(
program
&
p
)
const
;
void
apply
(
program
&
p
)
const
;
};
};
}
// namespace MIGRAPH_INLINE_NS
}
// namespace migraph
}
// namespace migraph
#endif
#endif
Prev
1
2
3
4
5
6
7
8
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