"test/git@developer.sourcefind.cn:gaoqiong/migraphx.git" did not exist on "61875aeeecf4db9b59b8af3b71c05eb64c0f9a47"
Unverified Commit 3cdf9c03 authored by Paul Fultz II's avatar Paul Fultz II Committed by GitHub
Browse files

Merge branch 'develop' into pybuf

parents eeeeefb4 3689dab0
...@@ -203,9 +203,8 @@ void memory_coloring_impl::rewrite() ...@@ -203,9 +203,8 @@ void memory_coloring_impl::rewrite()
if(is_allocate(ins)) if(is_allocate(ins))
{ {
assert(!ins->inputs().empty());
p_program->replace_instruction( p_program->replace_instruction(
ins, op::load{ins->inputs().at(0)->get_shape(), offset}, scratch_param); ins, op::load{ins->get_shape(), offset}, scratch_param);
} }
else if(is_literal(ins)) else if(is_literal(ins))
{ {
......
...@@ -11,7 +11,7 @@ namespace migraphx { ...@@ -11,7 +11,7 @@ namespace migraphx {
inline namespace MIGRAPHX_INLINE_NS { inline namespace MIGRAPHX_INLINE_NS {
namespace gpu { namespace gpu {
MIGRAPHX_DECLARE_ENV_VAR(MIGRAPHX_DISABLE_NULL_STREAM) MIGRAPHX_DECLARE_ENV_VAR(MIGRAPHX_ENABLE_NULL_STREAM)
struct hip_device struct hip_device
{ {
...@@ -40,7 +40,7 @@ struct hip_device ...@@ -40,7 +40,7 @@ struct hip_device
hipStream_t get() hipStream_t get()
{ {
if(enabled(MIGRAPHX_DISABLE_NULL_STREAM{})) if(not enabled(MIGRAPHX_ENABLE_NULL_STREAM{}))
{ {
setup(); setup();
if(s == nullptr) if(s == nullptr)
...@@ -53,7 +53,7 @@ struct hip_device ...@@ -53,7 +53,7 @@ struct hip_device
auto create_miopen_handle() auto create_miopen_handle()
{ {
if(enabled(MIGRAPHX_DISABLE_NULL_STREAM{})) if(not enabled(MIGRAPHX_ENABLE_NULL_STREAM{}))
return make_obj<miopen_handle>(&miopenCreateWithStream, get()); return make_obj<miopen_handle>(&miopenCreateWithStream, get());
else else
return make_obj<miopen_handle>(&miopenCreate); return make_obj<miopen_handle>(&miopenCreate);
......
...@@ -23,12 +23,13 @@ void copy_to_gpu(const argument& src, const argument& dst); ...@@ -23,12 +23,13 @@ void copy_to_gpu(const argument& src, const argument& dst);
struct hip_allocate struct hip_allocate
{ {
shape s;
std::string tag{}; std::string tag{};
std::string name() const { return "hip::allocate"; } std::string name() const { return "hip::allocate"; }
shape compute_shape(const std::vector<shape>& inputs) const shape compute_shape(const std::vector<shape>& inputs) const
{ {
check_shapes{inputs}.has(1); check_shapes{inputs}.has(0);
return inputs.front(); return s;
} }
argument compute(context&, const shape& output_shape, const std::vector<argument>&) const argument compute(context&, const shape& output_shape, const std::vector<argument>&) const
{ {
......
...@@ -127,8 +127,7 @@ struct miopen_apply ...@@ -127,8 +127,7 @@ struct miopen_apply
} }
else else
{ {
auto is = prog->add_outline(s); auto result = prog->insert_instruction(ins, hip_allocate{s, std::move(tag)});
auto result = prog->insert_instruction(ins, hip_allocate{std::move(tag)}, is);
return result; return result;
} }
} }
......
...@@ -37,8 +37,7 @@ void write_literals::apply(program& p) const ...@@ -37,8 +37,7 @@ void write_literals::apply(program& p) const
{ {
literal l = ins->get_literal(); literal l = ins->get_literal();
auto pre = p.add_literal(l); auto pre = p.add_literal(l);
auto s = p.add_outline(l.get_shape()); auto alloc = p.insert_instruction(std::next(pre), hip_allocate{l.get_shape()});
auto alloc = p.insert_instruction(std::next(pre), hip_allocate{}, s);
p.replace_instruction(ins, hip_copy{}, pre, alloc); p.replace_instruction(ins, hip_copy{}, pre, alloc);
} }
else else
......
...@@ -21,8 +21,8 @@ struct allocate ...@@ -21,8 +21,8 @@ struct allocate
std::string name() const { return "allocate"; } std::string name() const { return "allocate"; }
migraphx::shape compute_shape(const std::vector<migraphx::shape>& inputs) const migraphx::shape compute_shape(const std::vector<migraphx::shape>& inputs) const
{ {
migraphx::check_shapes{inputs, *this}.has(1); migraphx::check_shapes{inputs, *this}.has(0);
return inputs.front(); return s;
} }
migraphx::argument compute(migraphx::context&, migraphx::argument compute(migraphx::context&,
const migraphx::shape& output_shape, const migraphx::shape& output_shape,
...@@ -34,8 +34,7 @@ struct allocate ...@@ -34,8 +34,7 @@ struct allocate
migraphx::instruction_ref add_alloc(migraphx::program& p, const migraphx::shape& s) migraphx::instruction_ref add_alloc(migraphx::program& p, const migraphx::shape& s)
{ {
auto a0 = p.add_outline(s); return p.add_instruction(allocate{s});
return p.add_instruction(allocate{}, a0);
} }
bool no_allocate(const migraphx::program& p) bool no_allocate(const migraphx::program& p)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment