Commit 5a14c0bf authored by umangyadav's avatar umangyadav
Browse files

Merge branch 'develop' into workspace_size

parents cb01e280 5fa42993
......@@ -268,7 +268,9 @@ jobs:
lcov --directory . --capture --output-file $(pwd)/coverage.info
lcov --remove $(pwd)/coverage.info '/usr/*' --output-file $(pwd)/coverage.info
lcov --list $(pwd)/coverage.info
curl -s https://codecov.io/bash | bash
curl -Os https://uploader.codecov.io/latest/linux/codecov
chmod +x codecov
./codecov -t ${CODECOV_TOKEN}
echo "Uploaded"
linux-fpga:
......@@ -364,5 +366,7 @@ jobs:
# lcov --directory . --capture --output-file $(pwd)/coverage.info
# lcov --remove $(pwd)/coverage.info '/usr/*' --output-file $(pwd)/coverage.info
# lcov --list $(pwd)/coverage.info
# curl -s https://codecov.io/bash | bash
# echo "Uploaded"
\ No newline at end of file
# curl -Os https://uploader.codecov.io/latest/linux/codecov
# chmod +x codecov
# ./codecov -t ${CODECOV_TOKEN}
# echo "Uploaded"
......@@ -26,7 +26,7 @@ on:
required: true
default: '-s'
concurrency: benchmark
concurrency: "perftest-${{ github.head_ref || github.base_ref || 'schedule' }}"
jobs:
release:
......
......@@ -212,6 +212,7 @@ rocm_enable_cppcheck(
ConfigurationNotChecked
unmatchedSuppression
unusedFunction
ctuPointerArith
noExplicitConstructor
passedByValue
unusedStructMember
......
......@@ -86,7 +86,7 @@ RUN git clone --single-branch --branch ${ONNXRUNTIME_BRANCH} --recursive ${ONNXR
ADD tools/build_and_test_onnxrt.sh /onnxruntime/build_and_test_onnxrt.sh
RUN cget -p /usr/local install ROCmSoftwarePlatform/llvm-project-mlir@d2cb9e580550e92ab75a0a417e7a4abd02a24edf -DBUILD_MIXR_TARGET=On
RUN cget -p /usr/local install ROCmSoftwarePlatform/llvm-project-mlir@c0723a7e50043d973cb73ae51dc30d36679ee7e5 -DBUILD_MIXR_TARGET=On
ENV MIOPEN_FIND_DB_PATH=/tmp/miopen/find-db
ENV MIOPEN_USER_DB_PATH=/tmp/miopen/user-db
......
......@@ -33,7 +33,7 @@ def rocmtestnode(Map conf) {
}
}
node(name) {
withEnv(['HSA_ENABLE_SDMA=0', 'MIOPEN_DEBUG_GCN_ASM_KERNELS=0']) {
withEnv(['HSA_ENABLE_SDMA=0']) {
stage("checkout ${variant}") {
checkout scm
}
......
......@@ -25,6 +25,6 @@ pfultz2/rocm-recipes
facebook/zstd@v1.4.5 -X subdir -DCMAKE_DIR=build/cmake
ccache@v4.1
pcre,pfultz2/pcre@8.45 -H sha256:d6f7182602a775a7d500a0cedca6449af0400c6493951513046d17615ed0bf11
danmar/cppcheck@2.8 -DHAVE_RULES=1
danmar/cppcheck@2.9 -DHAVE_RULES=1
RadeonOpenCompute/rocm-cmake@1ebf7e7bc61bb5e949c171562b421264065230a7 --build
-f requirements.txt
......@@ -84,6 +84,12 @@ argument
Construct an argument from a python buffer. This can include numpy arrays.
.. py:method:: data_ptr()
Returns the address to the underlying argument data.
:rtype: int
.. py:method:: get_shape()
Returns the shape of the argument.
......@@ -113,7 +119,16 @@ argument
:param shape s: Shape of argument to fill.
:param int value: Value to fill in the argument.
:rtype argument
:rtype: argument
.. py:function:: argument_from_pointer(shape, address)
Create argument from data stored in given address without copy.
:param shape shape: Shape of the data stored in address.
:param long address: Memory address of data from another source
:rtype: argument
target
------
......
......@@ -45,6 +45,13 @@ __global__ void vector_square(T* C_d, const T* A_d, size_t N)
struct square_custom_op final : migraphx::experimental_custom_op_base
{
virtual std::string name() const override { return "square_custom_op"; }
// flag to identify whether custom op runs on the GPU or on the host.
// Based on this flag MIGraphX would inject necessary copies to and from GPU for the input and
// output buffers as necessary. Therefore if custom_op runs on GPU then it can assume its input
// buffers are in GPU memory, and similarly for the host
virtual bool runs_on_offload_target() const override { return true; }
virtual migraphx::argument
compute(migraphx::context ctx, migraphx::shape, migraphx::arguments inputs) const override
{
......@@ -54,7 +61,7 @@ struct square_custom_op final : migraphx::experimental_custom_op_base
// is output argument, so it should be returned from compute method.
auto* input_buffer = reinterpret_cast<float*>(inputs[0].data());
auto* output_buffer = reinterpret_cast<float*>(inputs[1].data());
size_t n_elements = inputs[0].get_shape().bytes() / sizeof(inputs[0].get_shape().type());
size_t n_elements = inputs[0].get_shape().elements();
MIGRAPHX_HIP_ASSERT(hipSetDevice(0));
const unsigned blocks = 512;
const unsigned threads_per_block = 256;
......@@ -103,7 +110,7 @@ int main(int argc, const char* argv[])
options.set_offload_copy();
p.compile(migraphx::target("gpu"), options);
migraphx::program_parameters pp;
std::vector<float> x_data(s.bytes() / sizeof(s.type()));
std::vector<float> x_data(s.elements());
std::iota(x_data.begin(), x_data.end(), 0);
pp.add("x", migraphx::argument(s, x_data.data()));
auto results = p.eval(pp);
......
......@@ -93,6 +93,13 @@ inline auto make_activation_descriptor(miopenActivationMode_t mode,
struct abs_custom_op final : migraphx::experimental_custom_op_base
{
virtual std::string name() const override { return "abs_custom_op"; }
// flag to identify whether custom op runs on the GPU or on the host.
// Based on this flag MIGraphX would inject necessary copies to and from GPU for the input and
// output buffers as necessary. Therefore if custom_op runs on GPU then it can assume its input
// buffers are in GPU memory, and similarly for the host
virtual bool runs_on_offload_target() const override { return true; }
virtual migraphx::argument compute(migraphx::context ctx,
migraphx::shape output_shape,
migraphx::arguments args) const override
......
......@@ -51,6 +51,13 @@ rocblas_handle create_rocblas_handle_ptr(migraphx::context& ctx)
struct sscal_custom_op final : migraphx::experimental_custom_op_base
{
virtual std::string name() const override { return "sscal_custom_op"; }
// flag to identify whether custom op runs on the GPU or on the host.
// Based on this flag MIGraphX would inject necessary copies to and from GPU for the input and
// output buffers as necessary. Therefore if custom_op runs on GPU then it can assume its input
// buffers are in GPU memory, and similarly for the host
virtual bool runs_on_offload_target() const override { return true; }
virtual migraphx::argument compute(migraphx::context ctx,
migraphx::shape output_shape,
migraphx::arguments args) const override
......@@ -107,7 +114,7 @@ int main(int argc, const char* argv[])
options.set_offload_copy();
p.compile(migraphx::target("gpu"), options);
migraphx::program_parameters pp;
std::vector<float> x_data(x_shape.bytes() / sizeof(x_shape.type()));
std::vector<float> x_data(x_shape.elements());
std::vector<float> scale_data{-1};
std::iota(x_data.begin(), x_data.end(), 0);
pp.add("x", migraphx::argument(x_shape, x_data.data()));
......
......@@ -81,7 +81,6 @@ add_library(migraphx
replace_allocate.cpp
simplify_qdq.cpp
sqlite.cpp
rewrite_batchnorm.cpp
rewrite_gelu.cpp
rewrite_pooling.cpp
rewrite_quantization.cpp
......@@ -115,7 +114,6 @@ register_migraphx_ops(
as_shape
atanh
atan
batch_norm_inference
broadcast
capture
ceil
......
......@@ -21,6 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <migraphx/execution_environment.hpp>
#include <migraphx/migraphx.h>
#include <migraphx/rank.hpp>
#include <migraphx/shape.hpp>
......@@ -166,6 +167,13 @@ void set_output_names(tf_options& options, std::vector<const char*> names)
options.output_node_names = std::vector<std::string>(names.begin(), names.end());
}
std::vector<argument>
run_async(program& p, const parameter_map& params, void* s, std::string_view name)
{
execution_environment exec_env{any_ptr(s, name), true};
return p.eval(params, exec_env);
}
template <class Value>
std::vector<const char*> get_names(const std::unordered_map<std::string, Value>& m)
{
......@@ -265,11 +273,18 @@ struct experimental_custom_op
template <class CustomOp>
struct custom_operation
{
template <class Self, class F>
static auto reflect(Self&, F)
{
return pack();
}
value attributes() const
{
return {{"custom_op", true}, {"target", op.runs_on_offload_target() ? "gpu" : "cpu"}};
}
CustomOp op;
std::string name() const { return op.xobject.name; }
......@@ -284,6 +299,23 @@ struct custom_operation
{
return op.compute(std::move(ctx), std::move(output_shape), std::move(inputs));
}
std::ptrdiff_t output_alias(std::vector<shape> inputs) const
{
auto alias_vec = op.output_alias(std::move(inputs));
// TODO: For now, only support one output alias
if(alias_vec.empty())
{
return -1;
}
if(alias_vec.size() > 1)
{
MIGRAPHX_THROW("Currently, CustomOps in MIGraphX only supports one output_alias");
}
return alias_vec.front();
}
bool runs_on_offload_target() const { return op.runs_on_offload_target(); }
};
template <class CustomOp>
......@@ -613,9 +645,9 @@ struct migraphx_experimental_custom_op
migraphx::shape output,
std::vector<migraphx::argument> inputs) const
{
std::remove_pointer_t<migraphx_argument_t> out;
if(compute_f == nullptr)
throw std::runtime_error("compute function is missing.");
std::remove_pointer_t<migraphx_argument_t> out;
std::array<char, 256> exception_msg;
exception_msg.front() = '\0';
auto api_error_result = compute_f(&out,
......@@ -637,9 +669,9 @@ struct migraphx_experimental_custom_op
migraphx_experimental_custom_op_compute_shape compute_shape_f = nullptr;
migraphx::shape compute_shape(std::vector<migraphx::shape> inputs) const
{
std::remove_pointer_t<migraphx_shape_t> out;
if(compute_shape_f == nullptr)
throw std::runtime_error("compute_shape function is missing.");
std::remove_pointer_t<migraphx_shape_t> out;
std::array<char, 256> exception_msg;
exception_msg.front() = '\0';
auto api_error_result = compute_shape_f(&out,
......@@ -655,6 +687,49 @@ struct migraphx_experimental_custom_op
}
return (&out)->object;
}
migraphx_experimental_custom_op_output_alias output_alias_f = nullptr;
std::vector<size_t> output_alias(std::vector<migraphx::shape> inputs) const
{
if(output_alias_f == nullptr)
throw std::runtime_error("output_alias function is missing.");
std::array<size_t, 1024> out;
std::remove_pointer_t<size_t*> out_size = 1024;
std::array<char, 256> exception_msg;
exception_msg.front() = '\0';
auto api_error_result = output_alias_f(out.data(),
&out_size,
object_ptr.data,
exception_msg.data(),
exception_msg.size(),
object_cast<migraphx_shapes_t>(&(inputs)));
if(api_error_result != migraphx_status_success)
{
const std::string exception_str(exception_msg.data());
throw std::runtime_error("Error in output_alias of: " +
std::string(object_ptr.obj_typename) + ": " + exception_str);
}
return {out.begin(), out.begin() + out_size}; // cppcheck-suppress returnDanglingLifetime;
}
migraphx_experimental_custom_op_runs_on_offload_target runs_on_offload_target_f = nullptr;
bool runs_on_offload_target() const
{
if(runs_on_offload_target_f == nullptr)
throw std::runtime_error("runs_on_offload_target function is missing.");
std::remove_pointer_t<bool*> out;
std::array<char, 256> exception_msg;
exception_msg.front() = '\0';
auto api_error_result = runs_on_offload_target_f(
&out, object_ptr.data, exception_msg.data(), exception_msg.size());
if(api_error_result != migraphx_status_success)
{
const std::string exception_str(exception_msg.data());
throw std::runtime_error("Error in runs_on_offload_target of: " +
std::string(object_ptr.obj_typename) + ": " + exception_str);
}
return out;
}
};
extern "C" migraphx_status migraphx_shape_destroy(migraphx_shape_t shape)
......@@ -758,6 +833,16 @@ extern "C" migraphx_status migraphx_shape_type(migraphx_shape_datatype_t* out,
return api_error_result;
}
extern "C" migraphx_status migraphx_shape_elements(size_t* out, const_migraphx_shape_t shape)
{
auto api_error_result = migraphx::try_([&] {
if(shape == nullptr)
MIGRAPHX_THROW(migraphx_status_bad_param, "Bad parameter shape: Null pointer");
*out = (shape->object).elements();
});
return api_error_result;
}
extern "C" migraphx_status migraphx_shape_bytes(size_t* out, const_migraphx_shape_t shape)
{
auto api_error_result = migraphx::try_([&] {
......@@ -791,6 +876,16 @@ extern "C" migraphx_status migraphx_shape_standard(bool* out, const_migraphx_sha
return api_error_result;
}
extern "C" migraphx_status migraphx_shape_index(size_t* out, const_migraphx_shape_t shape, size_t i)
{
auto api_error_result = migraphx::try_([&] {
if(shape == nullptr)
MIGRAPHX_THROW(migraphx_status_bad_param, "Bad parameter shape: Null pointer");
*out = (shape->object).index((i));
});
return api_error_result;
}
extern "C" migraphx_status migraphx_argument_destroy(migraphx_argument_t argument)
{
auto api_error_result = migraphx::try_([&] { destroy((argument)); });
......@@ -1348,6 +1443,23 @@ extern "C" migraphx_status migraphx_program_run(migraphx_arguments_t* out,
return api_error_result;
}
extern "C" migraphx_status migraphx_program_run_async(migraphx_arguments_t* out,
migraphx_program_t program,
migraphx_program_parameters_t params,
void* s,
const char* name)
{
auto api_error_result = migraphx::try_([&] {
if(program == nullptr)
MIGRAPHX_THROW(migraphx_status_bad_param, "Bad parameter program: Null pointer");
if(params == nullptr)
MIGRAPHX_THROW(migraphx_status_bad_param, "Bad parameter params: Null pointer");
*out = allocate<migraphx_arguments_t>(
migraphx::run_async((program->object), (params->object), (s), (name)));
});
return api_error_result;
}
extern "C" migraphx_status
migraphx_program_equal(bool* out, const_migraphx_program_t program, const_migraphx_program_t x)
{
......@@ -1879,6 +1991,22 @@ extern "C" migraphx_status migraphx_experimental_custom_op_set_compute_shape(
return api_error_result;
}
extern "C" migraphx_status
migraphx_experimental_custom_op_set_output_alias(migraphx_experimental_custom_op_t obj,
migraphx_experimental_custom_op_output_alias input)
{
auto api_error_result = migraphx::try_([&] { (obj)->output_alias_f = (input); });
return api_error_result;
}
extern "C" migraphx_status migraphx_experimental_custom_op_set_runs_on_offload_target(
migraphx_experimental_custom_op_t obj,
migraphx_experimental_custom_op_runs_on_offload_target input)
{
auto api_error_result = migraphx::try_([&] { (obj)->runs_on_offload_target_f = (input); });
return api_error_result;
}
extern "C" migraphx_status
migraphx_experimental_custom_op_register(migraphx_experimental_custom_op_t experimental_custom_op)
{
......
......@@ -26,7 +26,6 @@
#include <stdlib.h>
#include <stdbool.h>
// Add new types here
// clang-format off
#define MIGRAPHX_SHAPE_VISIT_TYPES(m) \
......@@ -144,6 +143,16 @@ typedef migraphx_status (*migraphx_experimental_custom_op_compute_shape)(migraph
size_t exception_msg_size,
migraphx_shapes_t inputs);
typedef migraphx_status (*migraphx_experimental_custom_op_output_alias)(size_t* out,
size_t* out_size,
void* obj,
char* exception_msg,
size_t exception_msg_size,
migraphx_shapes_t inputs);
typedef migraphx_status (*migraphx_experimental_custom_op_runs_on_offload_target)(
bool* out, void* obj, char* exception_msg, size_t exception_msg_size);
typedef migraphx_status (*migraphx_experimental_custom_op_copy)(void** out, void* input);
typedef migraphx_status (*migraphx_experimental_custom_op_delete)(void* input);
......@@ -175,6 +184,8 @@ migraphx_shape_strides(const size_t** out, size_t* out_size, const_migraphx_shap
migraphx_status migraphx_shape_type(migraphx_shape_datatype_t* out, const_migraphx_shape_t shape);
migraphx_status migraphx_shape_elements(size_t* out, const_migraphx_shape_t shape);
migraphx_status migraphx_shape_bytes(size_t* out, const_migraphx_shape_t shape);
migraphx_status
......@@ -182,6 +193,8 @@ migraphx_shape_equal(bool* out, const_migraphx_shape_t shape, const_migraphx_sha
migraphx_status migraphx_shape_standard(bool* out, const_migraphx_shape_t shape);
migraphx_status migraphx_shape_index(size_t* out, const_migraphx_shape_t shape, size_t i);
migraphx_status migraphx_argument_destroy(migraphx_argument_t argument);
migraphx_status migraphx_argument_assign_to(migraphx_argument_t output,
......@@ -344,6 +357,12 @@ migraphx_status migraphx_program_run(migraphx_arguments_t* out,
migraphx_program_t program,
migraphx_program_parameters_t params);
migraphx_status migraphx_program_run_async(migraphx_arguments_t* out,
migraphx_program_t program,
migraphx_program_parameters_t params,
void* s,
const char* name);
migraphx_status
migraphx_program_equal(bool* out, const_migraphx_program_t program, const_migraphx_program_t x);
......@@ -502,6 +521,13 @@ migraphx_experimental_custom_op_set_compute(migraphx_experimental_custom_op_t ob
migraphx_status migraphx_experimental_custom_op_set_compute_shape(
migraphx_experimental_custom_op_t obj, migraphx_experimental_custom_op_compute_shape input);
migraphx_status migraphx_experimental_custom_op_set_output_alias(
migraphx_experimental_custom_op_t obj, migraphx_experimental_custom_op_output_alias input);
migraphx_status migraphx_experimental_custom_op_set_runs_on_offload_target(
migraphx_experimental_custom_op_t obj,
migraphx_experimental_custom_op_runs_on_offload_target input);
migraphx_status
migraphx_experimental_custom_op_register(migraphx_experimental_custom_op_t experimental_custom_op);
......
......@@ -25,10 +25,12 @@
#define MIGRAPHX_GUARD_API_RTGLIB_MIGRAPHX_HPP
#include "migraphx.h"
#include <algorithm>
#include <cstring>
#include <initializer_list>
#include <migraphx/migraphx.h>
#include <memory>
#include <numeric>
#include <exception>
#include <vector>
#include <cassert>
......@@ -340,6 +342,11 @@ struct handle_base : handle_lookup<Derived, std::remove_cv_t<T>>
this->set_handle(p, std::move(lifetime)); \
}
template <size_t N>
struct out_params
{
};
template <class Base>
struct interface_base : Base
{
......@@ -391,7 +398,22 @@ struct interface_base : Base
}
template <class T, class Setter, class F>
void set_fp(Setter setter, F pf)
void set_fp(Setter setter, F pf, out_params<2>)
{
static F f = pf;
(void)f; // avoid warning on gcc
call(setter,
this->get_handle_ptr(),
[](auto out1, auto out2, void* obj, char* ex_msg, size_t ex_msg_size, auto... xs)
-> migraphx_status {
return try_([&] { call_cast_arg<T>(rank<2>{}, f, out1, out2, obj, xs...); },
ex_msg,
ex_msg_size);
});
}
template <class T, class Setter, class F>
void set_fp(Setter setter, F pf, out_params<1>)
{
static F f = pf;
(void)f; // avoid warning on gcc
......@@ -405,11 +427,27 @@ struct interface_base : Base
}
template <class T, class Setter, class F>
void set_auto_fp(Setter setter, F f)
void set_fp(Setter setter, F pf, out_params<0>)
{
return set_fp<T>(setter, [=](T& obj, auto out, auto... xs) {
auto_invoke(f, out, obj, auto_convert_param(rank<2>{}, xs)...);
});
static F f = pf;
(void)f; // avoid warning on gcc
call(setter,
this->get_handle_ptr(),
[](void* obj, char* ex_msg, size_t ex_msg_size, auto... xs) -> migraphx_status {
return try_(
[&] { call_cast_arg<T>(rank<0>{}, f, obj, xs...); }, ex_msg, ex_msg_size);
});
}
template <class T, class Setter, class F, class Out>
void set_auto_fp(Setter setter, F f, Out nums)
{
return set_fp<T>(
setter,
[=](T& obj, auto out1, auto out2, auto... xs) {
auto_invoke(f, out1, out2, obj, auto_convert_param(rank<2>{}, xs)...);
},
nums);
}
struct no_out_arg
......@@ -419,7 +457,7 @@ struct interface_base : Base
template <class T, class F, class X, class... Xs, class = std::enable_if_t<std::is_void<X>{}>>
static void call_cast_arg(rank<0>, F f, X* obj, Xs... xs)
{
f(reinterpret_cast<T*>(obj), no_out_arg{}, xs...);
f(reinterpret_cast<T*>(obj), no_out_arg{}, no_out_arg{}, xs...);
}
template <class T,
......@@ -430,17 +468,35 @@ struct interface_base : Base
class = std::enable_if_t<std::is_void<X>{}>>
static void call_cast_arg(rank<1>, F f, R result, X* obj, Xs... xs)
{
f(*reinterpret_cast<T*>(obj), result, xs...);
f(*reinterpret_cast<T*>(obj), result, no_out_arg{}, xs...);
}
template <class T,
class F,
class R1,
class R2,
class X,
class... Xs,
class = std::enable_if_t<std::is_void<X>{}>>
static void call_cast_arg(rank<2>, F f, R1 result1, R2 result2, X* obj, Xs... xs)
{
f(*reinterpret_cast<T*>(obj), result1, result2, xs...);
}
template <class F, class T1, class T2, class... Ts>
void auto_invoke(F f, T1* out1, T2* out2, Ts&&... xs)
{
auto_assign(rank<2>{}, out1, out2, f(std::forward<Ts>(xs)...));
}
template <class F, class T, class... Ts>
void auto_invoke(F f, T* out, Ts&&... xs)
void auto_invoke(F f, T* out, no_out_arg, Ts&&... xs)
{
auto_assign(rank<2>{}, out, f(std::forward<Ts>(xs)...));
auto_assign(rank<1>{}, out, f(std::forward<Ts>(xs)...));
}
template <class F, class T, class... Ts>
void auto_invoke(F f, no_out_arg, Ts&&... xs)
void auto_invoke(F f, no_out_arg, no_out_arg, Ts&&... xs)
{
f(std::forward<Ts>(xs)...);
}
......@@ -469,7 +525,7 @@ struct interface_base : Base
template <class T, class U>
void auto_assign(rank<0>, T* out, U x)
{
return *out = x;
*out = x;
}
template <class T, class U>
......@@ -477,12 +533,21 @@ struct interface_base : Base
{
x.assign_to_handle(out);
}
template <class T1, class T2, class U, class = std::enable_if_t<std::is_same<T2, size_t>{}>>
auto auto_assign(rank<2>, T1* out_ptr, T2* out_size, U x)
{
*out_size = std::min(*out_size, x.size());
std::copy_n(x.begin(), *out_size, out_ptr);
}
};
// NOLINTNEXTLINE
#define MIGRAPHX_INTERFACE_LIFT(T, prefix, name) \
this->set_auto_fp<T>(&migraphx_##prefix##_set_##name, \
[](T& x, auto... xs) { return x.name(xs...); })
#define MIGRAPHX_INTERFACE_LIFT(n_out, T, prefix, name) \
this->set_auto_fp<T>( \
&migraphx_##prefix##_set_##name, \
[](T& x, auto... xs) { return x.name(xs...); }, \
out_params<n_out>{})
template <class Base, class T>
using require_interface =
......@@ -567,6 +632,13 @@ struct shape : MIGRAPHX_CONST_HANDLE_BASE(shape)
return pout;
}
size_t elements() const
{
size_t pout;
call(&migraphx_shape_elements, &pout, this->get_handle_ptr());
return pout;
}
size_t bytes() const
{
size_t pout;
......@@ -581,6 +653,14 @@ struct shape : MIGRAPHX_CONST_HANDLE_BASE(shape)
return result;
}
// map element index to space index
size_t index(size_t i) const
{
size_t result;
call(&migraphx_shape_index, &result, this->get_handle_ptr(), i);
return result;
}
friend bool operator==(const shape& px, const shape& py)
{
bool pout;
......@@ -628,9 +708,15 @@ struct argument : MIGRAPHX_CONST_HANDLE_BASE(argument)
template <typename T>
std::vector<T> as_vector() const
{
size_t vector_len = this->get_shape().bytes() / sizeof(T);
T* buffer_ptr = reinterpret_cast<T*>(this->data());
return {buffer_ptr, buffer_ptr + vector_len};
auto ss = this->get_shape();
auto num_elements = ss.elements();
std::vector<T> res(num_elements);
T* buffer_ptr = reinterpret_cast<T*>(this->data());
for(size_t i = 0; i < num_elements; i++)
{
res[i] = buffer_ptr[ss.index(i)];
}
return res;
}
/// Generate an argument using random data
......@@ -979,6 +1065,20 @@ struct program : MIGRAPHX_HANDLE_BASE(program)
return arguments(pout, own{});
}
template <class Stream>
/// Overloaded to allow for execution_environment input
arguments run_async(const program_parameters& pparams, Stream* s) const
{
migraphx_arguments_t pout;
call(&migraphx_program_run_async,
&pout,
this->get_handle_ptr(),
pparams.get_handle_ptr(),
s,
get_type_name<Stream>().c_str());
return arguments(pout, own{});
}
void print() const { call(&migraphx_program_print, this->get_handle_ptr()); }
program sort()
......@@ -1255,7 +1355,10 @@ struct experimental_custom_op_base
virtual std::string name() const = 0;
virtual argument compute(context ctx, shape output, arguments inputs) const = 0;
virtual shape compute_shape(shapes inputs) const = 0;
virtual ~experimental_custom_op_base() = default;
virtual std::vector<size_t> output_alias(shapes) const { return {}; }
// TODO: Return target string instead of bool
virtual bool runs_on_offload_target() const = 0;
virtual ~experimental_custom_op_base() = default;
};
struct experimental_custom_op : interface_base<MIGRAPHX_HANDLE_BASE(experimental_custom_op)>
......@@ -1267,8 +1370,10 @@ struct experimental_custom_op : interface_base<MIGRAPHX_HANDLE_BASE(experimental
obj,
get_type_name(obj).c_str(),
obj.name().c_str());
MIGRAPHX_INTERFACE_LIFT(T, experimental_custom_op, compute_shape);
MIGRAPHX_INTERFACE_LIFT(T, experimental_custom_op, compute);
MIGRAPHX_INTERFACE_LIFT(1, T, experimental_custom_op, compute_shape);
MIGRAPHX_INTERFACE_LIFT(1, T, experimental_custom_op, compute);
MIGRAPHX_INTERFACE_LIFT(2, T, experimental_custom_op, output_alias);
MIGRAPHX_INTERFACE_LIFT(1, T, experimental_custom_op, runs_on_offload_target);
}
void register_op() { call(&migraphx_experimental_custom_op_register, this->get_handle_ptr()); }
......
......@@ -115,6 +115,7 @@ def shape(h):
const=True)
h.method('strides', returns='const std::vector<size_t>&', const=True)
h.method('type', returns='migraphx::shape::type_t', const=True)
h.method('elements', returns='size_t', const=True)
h.method('bytes', returns='size_t', const=True)
h.method('equal',
api.params(x='const migraphx::shape&'),
......@@ -122,6 +123,7 @@ def shape(h):
returns='bool',
const=True)
h.method('standard', returns='bool', const=True)
h.method('index', api.params(i='size_t'), returns='size_t', const=True)
@auto_handle()
......@@ -274,6 +276,13 @@ def program(h):
params='std::unordered_map<std::string, migraphx::argument>'),
invoke='migraphx::run($@)',
returns='std::vector<migraphx::argument>')
h.method('run_async',
api.params(
params='std::unordered_map<std::string, migraphx::argument>',
s='void*',
name='const char *'),
invoke='migraphx::run_async($@)',
returns='std::vector<migraphx::argument>')
h.method('equal',
api.params(x='const migraphx::program&'),
invoke='migraphx::equal($@)',
......@@ -450,4 +459,8 @@ def experimental_custom_op(h):
h.virtual('compute_shape',
api.params(inputs='std::vector<migraphx::shape>'),
returns='migraphx::shape')
h.virtual('output_alias',
api.params(inputs='std::vector<migraphx::shape>'),
returns='std::vector<size_t>')
h.virtual('runs_on_offload_target', returns='bool')
h.method('register', invoke='migraphx::register_custom_op($@)')
......@@ -25,6 +25,7 @@
#include <migraphx/make_op.hpp>
#include <migraphx/program.hpp>
#include <migraphx/generate.hpp>
#include <migraphx/json.hpp>
#include "models.hpp"
namespace migraphx {
namespace driver {
......@@ -39,153 +40,161 @@ migraphx::program alexnet(unsigned batch) // NOLINT(readability-function-size)
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1}}, 1)));
auto x_main_module_2 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1}}, 2)));
auto x_0 = mmain->add_parameter(
"0", migraphx::shape{migraphx::shape::float_type, {batch, 3, 224, 224}});
auto x_data_0 = mmain->add_parameter(
"data_0", migraphx::shape{migraphx::shape::float_type, {batch, 3, 224, 224}});
auto x_main_module_4 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1000}}, 3));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1000, 4096}}, 3));
auto x_main_module_5 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1000, 4096}}, 4));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1000}}, 4));
auto x_main_module_6 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096}}, 5));
auto x_main_module_7 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096, 4096}}, 6));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096, 4096}}, 5));
auto x_main_module_7 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096}}, 6)));
auto x_main_module_8 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096}}, 7));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096, 9216}}, 7));
auto x_main_module_9 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096, 9216}}, 8));
auto x_main_module_10 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 9));
auto x_main_module_11 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 10));
auto x_main_module_12 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 11));
auto x_main_module_13 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 384, 3, 3}}, 12));
auto x_main_module_14 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {384}}, 13));
auto x_main_module_15 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {384, 192, 3, 3}}, 14));
auto x_main_module_16 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {192}}, 15));
auto x_main_module_17 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {192, 64, 5, 5}}, 16));
auto x_main_module_18 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 17));
auto x_main_module_19 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 3, 11, 11}}, 18));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {4096}}, 8));
auto x_main_module_10 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 192, 3, 3}}, 9));
auto x_main_module_11 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 10));
auto x_main_module_12 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {384, 192, 3, 3}}, 11));
auto x_main_module_13 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {384}}, 12));
auto x_main_module_14 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {384, 256, 3, 3}}, 13));
auto x_main_module_15 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {384}}, 14));
auto x_main_module_16 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 48, 5, 5}}, 15));
auto x_main_module_17 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 16)));
auto x_main_module_18 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {96, 3, 11, 11}}, 17));
auto x_main_module_19 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {96}}, 18));
auto x_main_module_20 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[2,2,2,2],padding_mode:0,stride:[4,"
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[4,"
"4],use_dynamic_same_auto_pad:0}"),
x_0,
x_main_module_19);
x_data_0,
x_main_module_18);
auto x_main_module_21 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,55,55]}"), x_main_module_18);
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,96,54,54]}"), x_main_module_19);
auto x_main_module_22 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_20, x_main_module_21);
auto x_main_module_23 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_22);
auto x_main_module_24 = mmain->add_instruction(
migraphx::make_json_op("lrn", "{alpha:9.999999747378752e-05,beta:0.75,bias:1.0,size:5}"),
x_main_module_23);
auto x_main_module_25 = mmain->add_instruction(
migraphx::make_json_op(
"pooling",
"{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[0,0,0,0],stride:[2,2]}"),
x_main_module_23);
auto x_main_module_25 = mmain->add_instruction(
x_main_module_24);
auto x_main_module_26 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[2,2,2,2],padding_mode:0,stride:[1,"
"{dilation:[1,1],group:2,padding:[2,2,2,2],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_24,
x_main_module_17);
auto x_main_module_26 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,192,27,27]}"), x_main_module_16);
auto x_main_module_27 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_25, x_main_module_26);
auto x_main_module_28 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_27);
auto x_main_module_29 = mmain->add_instruction(
x_main_module_25,
x_main_module_16);
auto x_main_module_27 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,26,26]}"), x_main_module_17);
auto x_main_module_28 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_26, x_main_module_27);
auto x_main_module_29 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_28);
auto x_main_module_30 = mmain->add_instruction(
migraphx::make_json_op("lrn", "{alpha:9.999999747378752e-05,beta:0.75,bias:1.0,size:5}"),
x_main_module_29);
auto x_main_module_31 = mmain->add_instruction(
migraphx::make_json_op(
"pooling",
"{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[0,0,0,0],stride:[2,2]}"),
x_main_module_28);
auto x_main_module_30 = mmain->add_instruction(
x_main_module_30);
auto x_main_module_32 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_29,
x_main_module_15);
auto x_main_module_31 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,384,13,13]}"), x_main_module_14);
auto x_main_module_32 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_30, x_main_module_31);
auto x_main_module_33 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_32);
auto x_main_module_34 = mmain->add_instruction(
x_main_module_31,
x_main_module_14);
auto x_main_module_33 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,384,12,12]}"), x_main_module_15);
auto x_main_module_34 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_32, x_main_module_33);
auto x_main_module_35 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_34);
auto x_main_module_36 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"{dilation:[1,1],group:2,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_33,
x_main_module_13);
auto x_main_module_35 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,13,13]}"), x_main_module_12);
auto x_main_module_36 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_34, x_main_module_35);
auto x_main_module_37 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_36);
auto x_main_module_38 = mmain->add_instruction(
x_main_module_35,
x_main_module_12);
auto x_main_module_37 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,384,12,12]}"), x_main_module_13);
auto x_main_module_38 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_36, x_main_module_37);
auto x_main_module_39 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_38);
auto x_main_module_40 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"{dilation:[1,1],group:2,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_37,
x_main_module_11);
auto x_main_module_39 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,13,13]}"), x_main_module_10);
auto x_main_module_40 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_38, x_main_module_39);
auto x_main_module_41 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_40);
auto x_main_module_42 = mmain->add_instruction(
x_main_module_39,
x_main_module_10);
auto x_main_module_41 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,12,12]}"), x_main_module_11);
auto x_main_module_42 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_40, x_main_module_41);
auto x_main_module_43 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_42);
auto x_main_module_44 = mmain->add_instruction(
migraphx::make_json_op(
"pooling",
"{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[0,0,0,0],stride:[2,2]}"),
x_main_module_41);
auto x_main_module_43 =
mmain->add_instruction(migraphx::make_json_op("flatten", "{axis:1}"), x_main_module_42);
auto x_main_module_44 = mmain->add_instruction(migraphx::make_op("identity"), x_main_module_43);
"{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[0,0,1,1],stride:[2,2]}"),
x_main_module_43);
auto x_main_module_45 = mmain->add_instruction(
migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_9);
auto x_main_module_46 =
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_44, x_main_module_45);
auto x_main_module_47 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_8);
migraphx::make_json_op("reshape", "{dims:[1,9216]}"), x_main_module_44);
auto x_main_module_46 = mmain->add_instruction(
migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_8);
auto x_main_module_47 =
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_45, x_main_module_46);
auto x_main_module_48 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_9);
auto x_main_module_49 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_2);
auto x_main_module_49 =
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_47, x_main_module_48);
auto x_main_module_50 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_46, x_main_module_49);
auto x_main_module_51 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_50);
auto x_main_module_52 = mmain->add_instruction(migraphx::make_op("identity"), x_main_module_51);
auto x_main_module_53 = mmain->add_instruction(
migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_7);
auto x_main_module_54 =
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_52, x_main_module_53);
auto x_main_module_55 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_6);
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_48, x_main_module_49);
auto x_main_module_51 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_47, x_main_module_50);
auto x_main_module_52 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_51);
auto x_main_module_53 = mmain->add_instruction(migraphx::make_op("identity"), x_main_module_52);
auto x_main_module_54 = mmain->add_instruction(
migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_6);
auto x_main_module_55 =
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_53, x_main_module_54);
auto x_main_module_56 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_7);
auto x_main_module_57 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,4096]}"), x_main_module_1);
auto x_main_module_57 =
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_55, x_main_module_56);
auto x_main_module_58 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_54, x_main_module_57);
auto x_main_module_59 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_58);
auto x_main_module_60 = mmain->add_instruction(
migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_5);
auto x_main_module_61 =
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_59, x_main_module_60);
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_56, x_main_module_57);
auto x_main_module_59 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_55, x_main_module_58);
auto x_main_module_60 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_59);
auto x_main_module_61 = mmain->add_instruction(migraphx::make_op("identity"), x_main_module_60);
auto x_main_module_62 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,1000]}"), x_main_module_4);
auto x_main_module_63 = mmain->add_instruction(
migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_4);
auto x_main_module_63 =
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_61, x_main_module_62);
auto x_main_module_64 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,1000]}"), x_main_module_5);
auto x_main_module_65 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,1000]}"), x_main_module_0);
auto x_main_module_64 =
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_62, x_main_module_63);
auto x_main_module_65 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_61, x_main_module_64);
mmain->add_return({x_main_module_65});
auto x_main_module_66 =
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_64, x_main_module_65);
auto x_main_module_67 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_63, x_main_module_66);
auto x_main_module_68 =
mmain->add_instruction(migraphx::make_json_op("softmax", "{axis:1}"), x_main_module_67);
mmain->add_return({x_main_module_68});
return p;
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -44,7 +44,6 @@
#include <migraphx/propagate_constant.hpp>
#include <migraphx/quantization.hpp>
#include <migraphx/register_op.hpp>
#include <migraphx/rewrite_batchnorm.hpp>
#include <migraphx/simplify_algebra.hpp>
#include <migraphx/simplify_reshapes.hpp>
#include <migraphx/register_target.hpp>
......@@ -221,7 +220,6 @@ struct loader
{
migraphx::run_passes(*p.get_main_module(),
{
migraphx::rewrite_batchnorm{},
migraphx::eliminate_identity{},
migraphx::dead_code_elimination{},
migraphx::simplify_algebra{},
......
......@@ -25,6 +25,7 @@
#include <migraphx/make_op.hpp>
#include <migraphx/program.hpp>
#include <migraphx/generate.hpp>
#include <migraphx/json.hpp>
#include "models.hpp"
namespace migraphx {
namespace driver {
......@@ -32,1446 +33,904 @@ inline namespace MIGRAPHX_INLINE_NS {
migraphx::program resnet50(unsigned batch) // NOLINT(readability-function-size)
{
migraphx::program p;
migraphx::module_ref mmain = p.get_main_module();
auto x_main_module_0 = mmain->add_literal(migraphx::abs(
migraphx::module_ref mmain = p.get_main_module();
auto x_main_module_0 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1}}, 0)));
auto x_0 = mmain->add_parameter(
"0", migraphx::shape{migraphx::shape::float_type, {batch, 3, 224, 224}});
auto x_main_module_2 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1000}}, 1));
auto x_main_module_1 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1}}, 1)));
auto x_input_tensor_module_0 = mmain->add_parameter(
"input_tensor:0", migraphx::shape{migraphx::shape::float_type, {batch, 3, 224, 224}});
auto x_main_module_3 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1000, 2048}}, 2));
auto x_main_module_4 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 3)));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 2));
auto x_main_module_4 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 512, 3, 3}}, 3));
auto x_main_module_5 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 4));
auto x_main_module_6 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 5));
auto x_main_module_7 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 6)));
auto x_main_module_8 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {2048, 512, 1, 1}}, 7));
auto x_main_module_9 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 8)));
auto x_main_module_10 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 9));
auto x_main_module_11 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 10));
auto x_main_module_12 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 11)));
auto x_main_module_13 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 512, 3, 3}}, 12));
auto x_main_module_14 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 13)));
auto x_main_module_15 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 14));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 4));
auto x_main_module_6 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {2048, 512, 1, 1}}, 5));
auto x_main_module_7 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 6));
auto x_main_module_8 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 7));
auto x_main_module_9 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 8));
auto x_main_module_10 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 2048, 1, 1}}, 9));
auto x_main_module_11 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 64, 1, 1}}, 10));
auto x_main_module_12 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 11));
auto x_main_module_13 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 12));
auto x_main_module_14 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 512, 3, 3}}, 13));
auto x_main_module_15 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 64, 3, 3}}, 14));
auto x_main_module_16 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 15));
auto x_main_module_17 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 16)));
auto x_main_module_17 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 16));
auto x_main_module_18 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 2048, 1, 1}}, 17));
auto x_main_module_19 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 18)));
migraphx::shape{migraphx::shape::float_type, {2048, 512, 1, 1}}, 17));
auto x_main_module_19 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 18));
auto x_main_module_20 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 19));
auto x_main_module_21 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 20));
auto x_main_module_22 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 21)));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 20));
auto x_main_module_22 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 2048, 1, 1}}, 21));
auto x_main_module_23 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {2048, 512, 1, 1}}, 22));
auto x_main_module_24 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 23)));
migraphx::shape{migraphx::shape::float_type, {64, 256, 1, 1}}, 22));
auto x_main_module_24 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 23));
auto x_main_module_25 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 24));
auto x_main_module_26 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 25));
auto x_main_module_27 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 26)));
auto x_main_module_28 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 512, 3, 3}}, 27));
auto x_main_module_29 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 28)));
auto x_main_module_30 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 29));
auto x_main_module_31 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 30));
auto x_main_module_32 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 31)));
auto x_main_module_33 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 2048, 1, 1}}, 32));
auto x_main_module_34 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 33)));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 24));
auto x_main_module_26 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 512, 3, 3}}, 25));
auto x_main_module_27 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 64, 3, 3}}, 26));
auto x_main_module_28 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 27));
auto x_main_module_29 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 28));
auto x_main_module_30 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {2048, 512, 1, 1}}, 29));
auto x_main_module_31 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 30));
auto x_main_module_32 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 31));
auto x_main_module_33 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 32));
auto x_main_module_34 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 256, 1, 1}}, 33));
auto x_main_module_35 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 34));
auto x_main_module_36 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 35));
auto x_main_module_37 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 36)));
auto x_main_module_38 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {2048, 1024, 1, 1}}, 37));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 34));
auto x_main_module_36 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 64, 3, 3}}, 35));
auto x_main_module_37 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 36));
auto x_main_module_38 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 37));
auto x_main_module_39 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 38)));
auto x_main_module_40 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 39));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 38)));
auto x_main_module_40 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 39));
auto x_main_module_41 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 40));
auto x_main_module_42 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 41)));
auto x_main_module_43 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {2048, 512, 1, 1}}, 42));
auto x_main_module_44 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 43)));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 40));
auto x_main_module_42 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 41));
auto x_main_module_43 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 42)));
auto x_main_module_44 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 43));
auto x_main_module_45 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 44));
auto x_main_module_46 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 45));
auto x_main_module_47 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 46)));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 44));
auto x_main_module_46 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 45));
auto x_main_module_47 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 46));
auto x_main_module_48 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 512, 3, 3}}, 47));
auto x_main_module_49 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 48)));
auto x_main_module_50 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 49));
migraphx::shape{migraphx::shape::float_type, {1024, 512, 1, 1}}, 47));
auto x_main_module_49 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 48));
auto x_main_module_50 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 512, 1, 1}}, 49));
auto x_main_module_51 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 50));
auto x_main_module_52 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 51)));
auto x_main_module_53 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 1024, 1, 1}}, 52));
auto x_main_module_54 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 53)));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 50));
auto x_main_module_52 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 51));
auto x_main_module_53 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 52));
auto x_main_module_54 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 53));
auto x_main_module_55 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 54));
auto x_main_module_56 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 55));
auto x_main_module_56 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 55));
auto x_main_module_57 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 56));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 56));
auto x_main_module_58 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 57));
auto x_main_module_59 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 58)));
auto x_main_module_60 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 59));
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 57));
auto x_main_module_59 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 58));
auto x_main_module_60 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 59));
auto x_main_module_61 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 60));
auto x_main_module_62 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 61)));
auto x_main_module_63 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 62));
auto x_main_module_64 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 63)));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 60));
auto x_main_module_62 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 61));
auto x_main_module_63 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 62));
auto x_main_module_64 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 63));
auto x_main_module_65 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 64));
auto x_main_module_66 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 65));
auto x_main_module_67 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 66)));
auto x_main_module_66 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 256, 1, 1}}, 65));
auto x_main_module_67 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 66));
auto x_main_module_68 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 67));
auto x_main_module_69 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 68)));
auto x_main_module_70 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 69));
migraphx::shape{migraphx::shape::float_type, {128, 256, 1, 1}}, 67));
auto x_main_module_69 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 68));
auto x_main_module_70 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 69));
auto x_main_module_71 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 70));
auto x_main_module_72 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 71));
auto x_main_module_73 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 72));
auto x_main_module_74 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 73)));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 70));
auto x_main_module_72 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 71));
auto x_main_module_73 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 72));
auto x_main_module_74 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 512, 1, 1}}, 73));
auto x_main_module_75 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 74));
auto x_main_module_76 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 75));
auto x_main_module_77 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 76)));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 74));
auto x_main_module_76 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 75));
auto x_main_module_77 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 76));
auto x_main_module_78 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 77));
auto x_main_module_79 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 78)));
auto x_main_module_80 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 79));
migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 77));
auto x_main_module_79 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 78));
auto x_main_module_80 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 512, 1, 1}}, 79));
auto x_main_module_81 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 80));
auto x_main_module_82 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 81)));
auto x_main_module_83 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 82));
auto x_main_module_84 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 83)));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 80));
auto x_main_module_82 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 81));
auto x_main_module_83 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 82));
auto x_main_module_84 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 83));
auto x_main_module_85 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 84));
auto x_main_module_86 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 85));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 84));
auto x_main_module_86 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 512, 1, 1}}, 85));
auto x_main_module_87 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 86));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 86));
auto x_main_module_88 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 87));
auto x_main_module_89 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 88)));
auto x_main_module_89 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 3, 7, 7}}, 88));
auto x_main_module_90 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 89));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1001}}, 89));
auto x_main_module_91 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 90));
auto x_main_module_92 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 91)));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 90));
auto x_main_module_92 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048, 1001}}, 91));
auto x_main_module_93 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 92));
auto x_main_module_94 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 93)));
auto x_main_module_95 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 94));
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 92));
auto x_main_module_94 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 93));
auto x_main_module_95 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 94));
auto x_main_module_96 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 95));
auto x_main_module_97 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 96)));
auto x_main_module_98 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 97));
auto x_main_module_99 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 98)));
auto x_main_module_97 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 96));
auto x_main_module_98 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 97));
auto x_main_module_99 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 98));
auto x_main_module_100 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 99));
auto x_main_module_101 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 100));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 99));
auto x_main_module_101 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 100));
auto x_main_module_102 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 101));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 101));
auto x_main_module_103 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 102));
auto x_main_module_104 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 103)));
auto x_main_module_105 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 104));
auto x_main_module_104 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 103));
auto x_main_module_105 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 104));
auto x_main_module_106 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 105));
auto x_main_module_107 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 106)));
auto x_main_module_108 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 107));
auto x_main_module_109 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 108)));
auto x_main_module_107 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 106));
auto x_main_module_108 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 107));
auto x_main_module_109 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 108));
auto x_main_module_110 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 109));
auto x_main_module_111 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 110));
auto x_main_module_112 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 111)));
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 109));
auto x_main_module_111 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {2048, 1024, 1, 1}}, 110));
auto x_main_module_112 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {2048}}, 111));
auto x_main_module_113 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 112));
auto x_main_module_114 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 113)));
auto x_main_module_115 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 114));
auto x_main_module_116 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 115));
auto x_main_module_117 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 116));
auto x_main_module_118 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 117));
auto x_main_module_119 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 118)));
auto x_main_module_120 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 119));
auto x_main_module_121 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 120));
auto x_main_module_122 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 121)));
auto x_main_module_123 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 122));
auto x_main_module_124 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 123)));
auto x_main_module_125 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 124));
auto x_main_module_126 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 125));
auto x_main_module_127 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 126)));
auto x_main_module_128 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 1024, 1, 1}}, 127));
auto x_main_module_129 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 128)));
auto x_main_module_130 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 129));
auto x_main_module_131 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 130));
auto x_main_module_132 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 131));
auto x_main_module_133 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 512, 1, 1}}, 132));
auto x_main_module_134 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 133)));
auto x_main_module_135 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 134));
auto x_main_module_136 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 135));
auto x_main_module_137 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {1024}}, 136));
auto x_main_module_138 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {1024, 256, 1, 1}}, 137));
auto x_main_module_139 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 138)));
auto x_main_module_140 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 139));
auto x_main_module_141 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 140));
auto x_main_module_142 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 141)));
auto x_main_module_143 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 256, 3, 3}}, 142));
auto x_main_module_144 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 143)));
auto x_main_module_145 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 144));
auto x_main_module_146 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 145));
auto x_main_module_147 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 146)));
auto x_main_module_148 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 512, 1, 1}}, 147));
auto x_main_module_149 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 148)));
auto x_main_module_150 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 149));
auto x_main_module_151 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 150));
auto x_main_module_152 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 151));
auto x_main_module_153 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 152));
auto x_main_module_154 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 153)));
auto x_main_module_155 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 154));
auto x_main_module_156 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 155));
auto x_main_module_157 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 156)));
auto x_main_module_158 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 157));
auto x_main_module_159 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 158)));
auto x_main_module_160 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 159));
auto x_main_module_161 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 160));
auto x_main_module_162 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 161)));
auto x_main_module_163 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 512, 1, 1}}, 162));
auto x_main_module_164 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 163)));
auto x_main_module_165 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 164));
auto x_main_module_166 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 165));
auto x_main_module_167 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 166));
auto x_main_module_168 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 167));
auto x_main_module_169 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 168)));
auto x_main_module_170 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 169));
auto x_main_module_171 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 170));
auto x_main_module_172 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 171)));
auto x_main_module_173 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 172));
auto x_main_module_174 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 173)));
auto x_main_module_175 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 174));
auto x_main_module_176 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 175));
auto x_main_module_177 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 176)));
auto x_main_module_178 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 512, 1, 1}}, 177));
auto x_main_module_179 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 178)));
auto x_main_module_180 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 179));
auto x_main_module_181 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 180));
auto x_main_module_182 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 181));
auto x_main_module_183 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 182));
auto x_main_module_184 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 183)));
auto x_main_module_185 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 184));
auto x_main_module_186 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 185));
auto x_main_module_187 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 186)));
auto x_main_module_188 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 187));
auto x_main_module_189 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 188)));
auto x_main_module_190 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 189));
auto x_main_module_191 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 190));
auto x_main_module_192 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 191)));
auto x_main_module_193 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 512, 1, 1}}, 192));
auto x_main_module_194 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 193)));
auto x_main_module_195 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 194));
auto x_main_module_196 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 195));
auto x_main_module_197 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 196));
auto x_main_module_198 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 256, 1, 1}}, 197));
auto x_main_module_199 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 198)));
auto x_main_module_200 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 199));
auto x_main_module_201 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 200));
auto x_main_module_202 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {512}}, 201));
auto x_main_module_203 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {512, 128, 1, 1}}, 202));
auto x_main_module_204 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 203)));
auto x_main_module_205 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 204));
auto x_main_module_206 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 205));
auto x_main_module_207 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 206)));
auto x_main_module_208 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 128, 3, 3}}, 207));
auto x_main_module_209 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 208)));
auto x_main_module_210 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 209));
auto x_main_module_211 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 210));
auto x_main_module_212 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {128}}, 211)));
auto x_main_module_213 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {128, 256, 1, 1}}, 212));
auto x_main_module_214 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 213)));
auto x_main_module_215 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 214));
auto x_main_module_216 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 215));
auto x_main_module_217 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 216));
auto x_main_module_218 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 217));
auto x_main_module_219 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 218)));
auto x_main_module_220 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 219));
auto x_main_module_221 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 220));
auto x_main_module_222 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 221)));
auto x_main_module_223 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 64, 3, 3}}, 222));
auto x_main_module_224 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 223)));
auto x_main_module_225 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 224));
auto x_main_module_226 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 225));
auto x_main_module_227 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 226)));
auto x_main_module_228 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 256, 1, 1}}, 227));
auto x_main_module_229 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 228)));
auto x_main_module_230 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 229));
auto x_main_module_231 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 230));
auto x_main_module_232 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 231));
auto x_main_module_233 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 232));
auto x_main_module_234 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 233)));
auto x_main_module_235 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 234));
auto x_main_module_236 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 235));
auto x_main_module_237 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 236)));
auto x_main_module_238 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 64, 3, 3}}, 237));
auto x_main_module_239 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 238)));
auto x_main_module_240 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 239));
auto x_main_module_241 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 240));
auto x_main_module_242 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 241)));
auto x_main_module_243 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 256, 1, 1}}, 242));
auto x_main_module_244 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 243)));
auto x_main_module_245 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 244));
auto x_main_module_246 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 245));
auto x_main_module_247 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 246));
auto x_main_module_248 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 247));
auto x_main_module_249 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 248)));
auto x_main_module_250 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 249));
auto x_main_module_251 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 250));
auto x_main_module_252 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {256}}, 251));
auto x_main_module_253 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {256, 64, 1, 1}}, 252));
auto x_main_module_254 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 253)));
auto x_main_module_255 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 254));
auto x_main_module_256 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 255));
auto x_main_module_257 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 256)));
auto x_main_module_258 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 64, 3, 3}}, 257));
auto x_main_module_259 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 258)));
auto x_main_module_260 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 259));
auto x_main_module_261 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 260));
auto x_main_module_262 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 261)));
auto x_main_module_263 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 64, 1, 1}}, 262));
auto x_main_module_264 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 263)));
auto x_main_module_265 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 264));
auto x_main_module_266 = mmain->add_literal(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 265));
auto x_main_module_267 = mmain->add_literal(migraphx::abs(
migraphx::generate_literal(migraphx::shape{migraphx::shape::float_type, {64}}, 266)));
auto x_main_module_268 = mmain->add_literal(migraphx::generate_literal(
migraphx::shape{migraphx::shape::float_type, {64, 3, 7, 7}}, 267));
auto x_main_module_269 = mmain->add_instruction(
migraphx::shape{migraphx::shape::float_type, {512, 1024, 1, 1}}, 112));
auto x_main_module_114 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[3,3,3,3],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"),
x_0,
x_main_module_268);
auto x_main_module_270 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_269,
x_main_module_267,
x_main_module_266,
x_main_module_265,
x_main_module_264);
auto x_main_module_271 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_270);
auto x_main_module_272 = mmain->add_instruction(
x_input_tensor_module_0,
x_main_module_89);
auto x_main_module_115 = mmain->add_instruction(
migraphx::make_json_op("unsqueeze", "{axes:[1,2],steps:[]}"), x_main_module_39);
auto x_main_module_116 = mmain->add_instruction(
migraphx::make_json_op("unsqueeze", "{axes:[1,2],steps:[]}"), x_main_module_37);
auto x_main_module_117 = mmain->add_instruction(
migraphx::make_json_op("unsqueeze", "{axes:[1,2],steps:[]}"), x_main_module_41);
auto x_main_module_118 = mmain->add_instruction(
migraphx::make_json_op("unsqueeze", "{axes:[1,2],steps:[]}"), x_main_module_43);
auto x_main_module_119 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,64,112,112]}"), x_main_module_117);
auto x_main_module_120 =
mmain->add_instruction(migraphx::make_op("sub"), x_main_module_114, x_main_module_119);
auto x_main_module_121 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[64,1,1]}"), x_main_module_0);
auto x_main_module_122 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_118, x_main_module_121);
auto x_main_module_123 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[64,1,1]}"), x_main_module_1);
auto x_main_module_124 =
mmain->add_instruction(migraphx::make_op("pow"), x_main_module_122, x_main_module_123);
auto x_main_module_125 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,64,112,112]}"), x_main_module_124);
auto x_main_module_126 =
mmain->add_instruction(migraphx::make_op("div"), x_main_module_120, x_main_module_125);
auto x_main_module_127 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,64,112,112]}"), x_main_module_115);
auto x_main_module_128 =
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_126, x_main_module_127);
auto x_main_module_129 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,64,112,112]}"), x_main_module_116);
auto x_main_module_130 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_128, x_main_module_129);
auto x_main_module_131 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_130);
auto x_main_module_132 = mmain->add_instruction(
migraphx::make_json_op(
"pooling",
"{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[1,1,1,1],stride:[2,2]}"),
x_main_module_271);
auto x_main_module_273 = mmain->add_instruction(
"{ceil_mode:0,lengths:[3,3],lp_order:2,mode:1,padding:[0,0,1,1],stride:[2,2]}"),
x_main_module_131);
auto x_main_module_133 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_272,
x_main_module_263);
auto x_main_module_274 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_273,
x_main_module_262,
x_main_module_261,
x_main_module_260,
x_main_module_259);
auto x_main_module_275 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_274);
auto x_main_module_276 = mmain->add_instruction(
x_main_module_132,
x_main_module_11);
auto x_main_module_134 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,56,56]}"), x_main_module_13);
auto x_main_module_135 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_133, x_main_module_134);
auto x_main_module_136 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_135);
auto x_main_module_137 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_275,
x_main_module_258);
auto x_main_module_277 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_276,
x_main_module_257,
x_main_module_256,
x_main_module_255,
x_main_module_254);
auto x_main_module_278 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_277);
auto x_main_module_279 = mmain->add_instruction(
x_main_module_136,
x_main_module_15);
auto x_main_module_138 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,56,56]}"), x_main_module_17);
auto x_main_module_139 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_137, x_main_module_138);
auto x_main_module_140 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_139);
auto x_main_module_141 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_278,
x_main_module_253);
auto x_main_module_280 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_279,
x_main_module_252,
x_main_module_251,
x_main_module_250,
x_main_module_249);
auto x_main_module_281 = mmain->add_instruction(
x_main_module_140,
x_main_module_19);
auto x_main_module_142 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,56,56]}"), x_main_module_21);
auto x_main_module_143 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_141, x_main_module_142);
auto x_main_module_144 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_272,
x_main_module_248);
auto x_main_module_282 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_281,
x_main_module_247,
x_main_module_246,
x_main_module_245,
x_main_module_244);
auto x_main_module_283 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_280, x_main_module_282);
auto x_main_module_284 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_283);
auto x_main_module_285 = mmain->add_instruction(
x_main_module_132,
x_main_module_7);
auto x_main_module_145 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,56,56]}"), x_main_module_9);
auto x_main_module_146 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_144, x_main_module_145);
auto x_main_module_147 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_143, x_main_module_146);
auto x_main_module_148 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_147);
auto x_main_module_149 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_284,
x_main_module_243);
auto x_main_module_286 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_285,
x_main_module_242,
x_main_module_241,
x_main_module_240,
x_main_module_239);
auto x_main_module_287 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_286);
auto x_main_module_288 = mmain->add_instruction(
x_main_module_148,
x_main_module_23);
auto x_main_module_150 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,56,56]}"), x_main_module_25);
auto x_main_module_151 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_149, x_main_module_150);
auto x_main_module_152 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_151);
auto x_main_module_153 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_287,
x_main_module_238);
auto x_main_module_289 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_288,
x_main_module_237,
x_main_module_236,
x_main_module_235,
x_main_module_234);
auto x_main_module_290 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_289);
auto x_main_module_291 = mmain->add_instruction(
x_main_module_152,
x_main_module_27);
auto x_main_module_154 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,56,56]}"), x_main_module_29);
auto x_main_module_155 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_153, x_main_module_154);
auto x_main_module_156 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_155);
auto x_main_module_157 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_290,
x_main_module_233);
auto x_main_module_292 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_291,
x_main_module_232,
x_main_module_231,
x_main_module_230,
x_main_module_229);
auto x_main_module_293 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_292, x_main_module_284);
auto x_main_module_294 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_293);
auto x_main_module_295 = mmain->add_instruction(
x_main_module_156,
x_main_module_31);
auto x_main_module_158 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,56,56]}"), x_main_module_33);
auto x_main_module_159 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_157, x_main_module_158);
auto x_main_module_160 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_159, x_main_module_148);
auto x_main_module_161 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_160);
auto x_main_module_162 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_294,
x_main_module_228);
auto x_main_module_296 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_295,
x_main_module_227,
x_main_module_226,
x_main_module_225,
x_main_module_224);
auto x_main_module_297 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_296);
auto x_main_module_298 = mmain->add_instruction(
x_main_module_161,
x_main_module_34);
auto x_main_module_163 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,56,56]}"), x_main_module_35);
auto x_main_module_164 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_162, x_main_module_163);
auto x_main_module_165 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_164);
auto x_main_module_166 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_297,
x_main_module_223);
auto x_main_module_299 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_298,
x_main_module_222,
x_main_module_221,
x_main_module_220,
x_main_module_219);
auto x_main_module_300 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_299);
auto x_main_module_301 = mmain->add_instruction(
x_main_module_165,
x_main_module_36);
auto x_main_module_167 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,64,56,56]}"), x_main_module_38);
auto x_main_module_168 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_166, x_main_module_167);
auto x_main_module_169 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_168);
auto x_main_module_170 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_300,
x_main_module_218);
auto x_main_module_302 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_301,
x_main_module_217,
x_main_module_216,
x_main_module_215,
x_main_module_214);
auto x_main_module_303 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_302, x_main_module_294);
auto x_main_module_304 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_303);
auto x_main_module_305 = mmain->add_instruction(
x_main_module_169,
x_main_module_40);
auto x_main_module_171 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,56,56]}"), x_main_module_42);
auto x_main_module_172 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_170, x_main_module_171);
auto x_main_module_173 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_172, x_main_module_161);
auto x_main_module_174 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_173);
auto x_main_module_175 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_304,
x_main_module_213);
auto x_main_module_306 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_305,
x_main_module_212,
x_main_module_211,
x_main_module_210,
x_main_module_209);
auto x_main_module_307 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_306);
auto x_main_module_308 = mmain->add_instruction(
x_main_module_174,
x_main_module_68);
auto x_main_module_176 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,56,56]}"), x_main_module_69);
auto x_main_module_177 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_175, x_main_module_176);
auto x_main_module_178 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_177);
auto x_main_module_179 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"),
x_main_module_307,
x_main_module_208);
auto x_main_module_309 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_308,
x_main_module_207,
x_main_module_206,
x_main_module_205,
x_main_module_204);
auto x_main_module_310 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_309);
auto x_main_module_311 = mmain->add_instruction(
x_main_module_178,
x_main_module_70);
auto x_main_module_180 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_71);
auto x_main_module_181 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_179, x_main_module_180);
auto x_main_module_182 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_181);
auto x_main_module_183 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_310,
x_main_module_203);
auto x_main_module_312 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_311,
x_main_module_202,
x_main_module_201,
x_main_module_200,
x_main_module_199);
auto x_main_module_313 = mmain->add_instruction(
x_main_module_182,
x_main_module_72);
auto x_main_module_184 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,28,28]}"), x_main_module_73);
auto x_main_module_185 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_183, x_main_module_184);
auto x_main_module_186 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"),
x_main_module_304,
x_main_module_198);
auto x_main_module_314 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_313,
x_main_module_197,
x_main_module_196,
x_main_module_195,
x_main_module_194);
auto x_main_module_315 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_312, x_main_module_314);
auto x_main_module_316 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_315);
auto x_main_module_317 = mmain->add_instruction(
x_main_module_174,
x_main_module_66);
auto x_main_module_187 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,28,28]}"), x_main_module_67);
auto x_main_module_188 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_186, x_main_module_187);
auto x_main_module_189 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_185, x_main_module_188);
auto x_main_module_190 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_189);
auto x_main_module_191 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_316,
x_main_module_193);
auto x_main_module_318 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_317,
x_main_module_192,
x_main_module_191,
x_main_module_190,
x_main_module_189);
auto x_main_module_319 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_318);
auto x_main_module_320 = mmain->add_instruction(
x_main_module_74);
auto x_main_module_192 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_75);
auto x_main_module_193 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_191, x_main_module_192);
auto x_main_module_194 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_193);
auto x_main_module_195 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_319,
x_main_module_188);
auto x_main_module_321 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_320,
x_main_module_187,
x_main_module_186,
x_main_module_185,
x_main_module_184);
auto x_main_module_322 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_321);
auto x_main_module_323 = mmain->add_instruction(
x_main_module_194,
x_main_module_76);
auto x_main_module_196 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_77);
auto x_main_module_197 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_195, x_main_module_196);
auto x_main_module_198 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_197);
auto x_main_module_199 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_322,
x_main_module_183);
auto x_main_module_324 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_323,
x_main_module_182,
x_main_module_181,
x_main_module_180,
x_main_module_179);
auto x_main_module_325 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_324, x_main_module_316);
auto x_main_module_326 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_325);
auto x_main_module_327 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_326,
x_main_module_178);
auto x_main_module_328 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_327,
x_main_module_177,
x_main_module_176,
x_main_module_175,
x_main_module_174);
auto x_main_module_329 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_328);
auto x_main_module_330 = mmain->add_instruction(
x_main_module_198,
x_main_module_78);
auto x_main_module_200 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,28,28]}"), x_main_module_79);
auto x_main_module_201 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_199, x_main_module_200);
auto x_main_module_202 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_201, x_main_module_190);
auto x_main_module_203 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_202);
auto x_main_module_204 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_203,
x_main_module_80);
auto x_main_module_205 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_81);
auto x_main_module_206 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_204, x_main_module_205);
auto x_main_module_207 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_206);
auto x_main_module_208 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_329,
x_main_module_173);
auto x_main_module_331 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_330,
x_main_module_172,
x_main_module_171,
x_main_module_170,
x_main_module_169);
auto x_main_module_332 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_331);
auto x_main_module_333 = mmain->add_instruction(
x_main_module_207,
x_main_module_82);
auto x_main_module_209 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_83);
auto x_main_module_210 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_208, x_main_module_209);
auto x_main_module_211 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_210);
auto x_main_module_212 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_332,
x_main_module_168);
auto x_main_module_334 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_333,
x_main_module_167,
x_main_module_166,
x_main_module_165,
x_main_module_164);
auto x_main_module_335 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_334, x_main_module_326);
auto x_main_module_336 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_335);
auto x_main_module_337 = mmain->add_instruction(
x_main_module_211,
x_main_module_84);
auto x_main_module_213 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,28,28]}"), x_main_module_85);
auto x_main_module_214 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_212, x_main_module_213);
auto x_main_module_215 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_214, x_main_module_203);
auto x_main_module_216 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_215);
auto x_main_module_217 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_336,
x_main_module_163);
auto x_main_module_338 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_337,
x_main_module_162,
x_main_module_161,
x_main_module_160,
x_main_module_159);
auto x_main_module_339 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_338);
auto x_main_module_340 = mmain->add_instruction(
x_main_module_216,
x_main_module_86);
auto x_main_module_218 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_87);
auto x_main_module_219 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_217, x_main_module_218);
auto x_main_module_220 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_219);
auto x_main_module_221 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_339,
x_main_module_158);
auto x_main_module_341 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_340,
x_main_module_157,
x_main_module_156,
x_main_module_155,
x_main_module_154);
auto x_main_module_342 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_341);
auto x_main_module_343 = mmain->add_instruction(
x_main_module_220,
x_main_module_44);
auto x_main_module_222 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,128,28,28]}"), x_main_module_45);
auto x_main_module_223 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_221, x_main_module_222);
auto x_main_module_224 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_223);
auto x_main_module_225 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_342,
x_main_module_153);
auto x_main_module_344 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_343,
x_main_module_152,
x_main_module_151,
x_main_module_150,
x_main_module_149);
auto x_main_module_345 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_344, x_main_module_336);
auto x_main_module_346 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_345);
auto x_main_module_347 = mmain->add_instruction(
x_main_module_224,
x_main_module_46);
auto x_main_module_226 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,28,28]}"), x_main_module_47);
auto x_main_module_227 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_225, x_main_module_226);
auto x_main_module_228 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_227, x_main_module_216);
auto x_main_module_229 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_228);
auto x_main_module_230 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_346,
x_main_module_148);
auto x_main_module_348 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_347,
x_main_module_147,
x_main_module_146,
x_main_module_145,
x_main_module_144);
auto x_main_module_349 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_348);
auto x_main_module_350 = mmain->add_instruction(
x_main_module_229,
x_main_module_50);
auto x_main_module_231 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,28,28]}"), x_main_module_51);
auto x_main_module_232 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_230, x_main_module_231);
auto x_main_module_233 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_232);
auto x_main_module_234 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"),
x_main_module_349,
x_main_module_143);
auto x_main_module_351 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_350,
x_main_module_142,
x_main_module_141,
x_main_module_140,
x_main_module_139);
auto x_main_module_352 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_351);
auto x_main_module_353 = mmain->add_instruction(
x_main_module_233,
x_main_module_52);
auto x_main_module_235 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_53);
auto x_main_module_236 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_234, x_main_module_235);
auto x_main_module_237 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_236);
auto x_main_module_238 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_352,
x_main_module_138);
auto x_main_module_354 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_353,
x_main_module_137,
x_main_module_136,
x_main_module_135,
x_main_module_134);
auto x_main_module_355 = mmain->add_instruction(
x_main_module_237,
x_main_module_54);
auto x_main_module_239 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_55);
auto x_main_module_240 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_238, x_main_module_239);
auto x_main_module_241 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"),
x_main_module_346,
x_main_module_133);
auto x_main_module_356 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_355,
x_main_module_132,
x_main_module_131,
x_main_module_130,
x_main_module_129);
auto x_main_module_357 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_354, x_main_module_356);
auto x_main_module_358 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_357);
auto x_main_module_359 = mmain->add_instruction(
x_main_module_229,
x_main_module_48);
auto x_main_module_242 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_49);
auto x_main_module_243 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_241, x_main_module_242);
auto x_main_module_244 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_240, x_main_module_243);
auto x_main_module_245 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_244);
auto x_main_module_246 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_358,
x_main_module_128);
auto x_main_module_360 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_359,
x_main_module_127,
x_main_module_126,
x_main_module_125,
x_main_module_124);
auto x_main_module_361 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_360);
auto x_main_module_362 = mmain->add_instruction(
x_main_module_245,
x_main_module_56);
auto x_main_module_247 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_57);
auto x_main_module_248 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_246, x_main_module_247);
auto x_main_module_249 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_248);
auto x_main_module_250 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_361,
x_main_module_123);
auto x_main_module_363 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_362,
x_main_module_122,
x_main_module_121,
x_main_module_120,
x_main_module_119);
auto x_main_module_364 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_363);
auto x_main_module_365 = mmain->add_instruction(
x_main_module_249,
x_main_module_58);
auto x_main_module_251 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_59);
auto x_main_module_252 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_250, x_main_module_251);
auto x_main_module_253 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_252);
auto x_main_module_254 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_364,
x_main_module_118);
auto x_main_module_366 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_365,
x_main_module_117,
x_main_module_116,
x_main_module_115,
x_main_module_114);
auto x_main_module_367 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_366, x_main_module_358);
auto x_main_module_368 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_367);
auto x_main_module_369 = mmain->add_instruction(
x_main_module_253,
x_main_module_60);
auto x_main_module_255 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_61);
auto x_main_module_256 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_254, x_main_module_255);
auto x_main_module_257 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_256, x_main_module_245);
auto x_main_module_258 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_257);
auto x_main_module_259 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_368,
x_main_module_113);
auto x_main_module_370 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_369,
x_main_module_112,
x_main_module_111,
x_main_module_110,
x_main_module_109);
auto x_main_module_371 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_370);
auto x_main_module_372 = mmain->add_instruction(
x_main_module_258,
x_main_module_62);
auto x_main_module_260 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_63);
auto x_main_module_261 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_259, x_main_module_260);
auto x_main_module_262 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_261);
auto x_main_module_263 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_371,
x_main_module_108);
auto x_main_module_373 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_372,
x_main_module_107,
x_main_module_106,
x_main_module_105,
x_main_module_104);
auto x_main_module_374 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_373);
auto x_main_module_375 = mmain->add_instruction(
x_main_module_262,
x_main_module_64);
auto x_main_module_264 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_65);
auto x_main_module_265 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_263, x_main_module_264);
auto x_main_module_266 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_265);
auto x_main_module_267 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_374,
x_main_module_103);
auto x_main_module_376 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_375,
x_main_module_102,
x_main_module_101,
x_main_module_100,
x_main_module_99);
auto x_main_module_377 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_376, x_main_module_368);
auto x_main_module_378 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_377);
auto x_main_module_379 = mmain->add_instruction(
x_main_module_266,
x_main_module_88);
auto x_main_module_268 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_91);
auto x_main_module_269 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_267, x_main_module_268);
auto x_main_module_270 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_269, x_main_module_258);
auto x_main_module_271 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_270);
auto x_main_module_272 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_378,
x_main_module_98);
auto x_main_module_380 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_379,
x_main_module_97,
x_main_module_96,
x_main_module_95,
x_main_module_94);
auto x_main_module_381 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_380);
auto x_main_module_382 = mmain->add_instruction(
x_main_module_271,
x_main_module_93);
auto x_main_module_273 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_94);
auto x_main_module_274 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_272, x_main_module_273);
auto x_main_module_275 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_274);
auto x_main_module_276 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_381,
x_main_module_93);
auto x_main_module_383 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_382,
x_main_module_92,
x_main_module_91,
x_main_module_90,
x_main_module_89);
auto x_main_module_384 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_383);
auto x_main_module_385 = mmain->add_instruction(
x_main_module_275,
x_main_module_95);
auto x_main_module_277 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_96);
auto x_main_module_278 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_276, x_main_module_277);
auto x_main_module_279 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_278);
auto x_main_module_280 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_384,
x_main_module_88);
auto x_main_module_386 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_385,
x_main_module_87,
x_main_module_86,
x_main_module_85,
x_main_module_84);
auto x_main_module_387 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_386, x_main_module_378);
auto x_main_module_388 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_387);
auto x_main_module_389 = mmain->add_instruction(
x_main_module_279,
x_main_module_97);
auto x_main_module_281 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_98);
auto x_main_module_282 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_280, x_main_module_281);
auto x_main_module_283 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_282, x_main_module_271);
auto x_main_module_284 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_283);
auto x_main_module_285 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_388,
x_main_module_83);
auto x_main_module_390 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_389,
x_main_module_82,
x_main_module_81,
x_main_module_80,
x_main_module_79);
auto x_main_module_391 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_390);
auto x_main_module_392 = mmain->add_instruction(
x_main_module_284,
x_main_module_99);
auto x_main_module_286 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_100);
auto x_main_module_287 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_285, x_main_module_286);
auto x_main_module_288 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_287);
auto x_main_module_289 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_391,
x_main_module_78);
auto x_main_module_393 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_392,
x_main_module_77,
x_main_module_76,
x_main_module_75,
x_main_module_74);
auto x_main_module_394 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_393);
auto x_main_module_395 = mmain->add_instruction(
x_main_module_288,
x_main_module_101);
auto x_main_module_290 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_102);
auto x_main_module_291 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_289, x_main_module_290);
auto x_main_module_292 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_291);
auto x_main_module_293 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_394,
x_main_module_73);
auto x_main_module_396 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_395,
x_main_module_72,
x_main_module_71,
x_main_module_70,
x_main_module_69);
auto x_main_module_397 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_396, x_main_module_388);
auto x_main_module_398 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_397);
auto x_main_module_399 = mmain->add_instruction(
x_main_module_292,
x_main_module_103);
auto x_main_module_294 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_104);
auto x_main_module_295 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_293, x_main_module_294);
auto x_main_module_296 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_295, x_main_module_284);
auto x_main_module_297 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_296);
auto x_main_module_298 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_398,
x_main_module_68);
auto x_main_module_400 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_399,
x_main_module_67,
x_main_module_66,
x_main_module_65,
x_main_module_64);
auto x_main_module_401 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_400);
auto x_main_module_402 = mmain->add_instruction(
x_main_module_297,
x_main_module_105);
auto x_main_module_299 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_106);
auto x_main_module_300 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_298, x_main_module_299);
auto x_main_module_301 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_300);
auto x_main_module_302 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_401,
x_main_module_63);
auto x_main_module_403 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_402,
x_main_module_62,
x_main_module_61,
x_main_module_60,
x_main_module_59);
auto x_main_module_404 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_403);
auto x_main_module_405 = mmain->add_instruction(
x_main_module_301,
x_main_module_107);
auto x_main_module_303 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,256,14,14]}"), x_main_module_108);
auto x_main_module_304 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_302, x_main_module_303);
auto x_main_module_305 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_304);
auto x_main_module_306 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_404,
x_main_module_58);
auto x_main_module_406 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_405,
x_main_module_57,
x_main_module_56,
x_main_module_55,
x_main_module_54);
auto x_main_module_407 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_406, x_main_module_398);
auto x_main_module_408 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_407);
auto x_main_module_409 = mmain->add_instruction(
x_main_module_305,
x_main_module_109);
auto x_main_module_307 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,1024,14,14]}"), x_main_module_110);
auto x_main_module_308 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_306, x_main_module_307);
auto x_main_module_309 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_308, x_main_module_297);
auto x_main_module_310 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_309);
auto x_main_module_311 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"),
x_main_module_310,
x_main_module_111);
auto x_main_module_312 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,2048,7,7]}"), x_main_module_112);
auto x_main_module_313 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_311, x_main_module_312);
auto x_main_module_314 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_408,
x_main_module_53);
auto x_main_module_410 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_409,
x_main_module_52,
x_main_module_51,
x_main_module_50,
x_main_module_49);
auto x_main_module_411 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_410);
auto x_main_module_412 = mmain->add_instruction(
x_main_module_310,
x_main_module_113);
auto x_main_module_315 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,14,14]}"), x_main_module_3);
auto x_main_module_316 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_314, x_main_module_315);
auto x_main_module_317 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_316);
auto x_main_module_318 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"),
x_main_module_411,
x_main_module_48);
auto x_main_module_413 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_412,
x_main_module_47,
x_main_module_46,
x_main_module_45,
x_main_module_44);
auto x_main_module_414 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_413);
auto x_main_module_415 = mmain->add_instruction(
x_main_module_317,
x_main_module_4);
auto x_main_module_319 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,7,7]}"), x_main_module_5);
auto x_main_module_320 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_318, x_main_module_319);
auto x_main_module_321 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_320);
auto x_main_module_322 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_414,
x_main_module_43);
auto x_main_module_416 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_415,
x_main_module_42,
x_main_module_41,
x_main_module_40,
x_main_module_39);
auto x_main_module_417 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[2,"
"2],use_dynamic_same_auto_pad:0}"),
x_main_module_408,
x_main_module_38);
auto x_main_module_418 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_417,
x_main_module_37,
x_main_module_36,
x_main_module_35,
x_main_module_34);
auto x_main_module_419 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_416, x_main_module_418);
auto x_main_module_420 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_419);
auto x_main_module_421 = mmain->add_instruction(
x_main_module_321,
x_main_module_6);
auto x_main_module_323 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,2048,7,7]}"), x_main_module_8);
auto x_main_module_324 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_322, x_main_module_323);
auto x_main_module_325 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_324, x_main_module_313);
auto x_main_module_326 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_325);
auto x_main_module_327 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_420,
x_main_module_33);
auto x_main_module_422 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_421,
x_main_module_32,
x_main_module_31,
x_main_module_30,
x_main_module_29);
auto x_main_module_423 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_422);
auto x_main_module_424 = mmain->add_instruction(
x_main_module_326,
x_main_module_10);
auto x_main_module_328 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,7,7]}"), x_main_module_12);
auto x_main_module_329 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_327, x_main_module_328);
auto x_main_module_330 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_329);
auto x_main_module_331 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_423,
x_main_module_28);
auto x_main_module_425 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_424,
x_main_module_27,
x_main_module_26,
x_main_module_25,
x_main_module_24);
auto x_main_module_426 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_425);
auto x_main_module_427 = mmain->add_instruction(
x_main_module_330,
x_main_module_14);
auto x_main_module_332 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,7,7]}"), x_main_module_16);
auto x_main_module_333 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_331, x_main_module_332);
auto x_main_module_334 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_333);
auto x_main_module_335 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_426,
x_main_module_23);
auto x_main_module_428 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_427,
x_main_module_22,
x_main_module_21,
x_main_module_20,
x_main_module_19);
auto x_main_module_429 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_428, x_main_module_420);
auto x_main_module_430 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_429);
auto x_main_module_431 = mmain->add_instruction(
x_main_module_334,
x_main_module_18);
auto x_main_module_336 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,2048,7,7]}"), x_main_module_20);
auto x_main_module_337 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_335, x_main_module_336);
auto x_main_module_338 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_337, x_main_module_326);
auto x_main_module_339 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_338);
auto x_main_module_340 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_430,
x_main_module_18);
auto x_main_module_432 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_431,
x_main_module_17,
x_main_module_16,
x_main_module_15,
x_main_module_14);
auto x_main_module_433 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_432);
auto x_main_module_434 = mmain->add_instruction(
x_main_module_339,
x_main_module_22);
auto x_main_module_341 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,7,7]}"), x_main_module_24);
auto x_main_module_342 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_340, x_main_module_341);
auto x_main_module_343 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_342);
auto x_main_module_344 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[1,1,1,1],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_433,
x_main_module_13);
auto x_main_module_435 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_434,
x_main_module_12,
x_main_module_11,
x_main_module_10,
x_main_module_9);
auto x_main_module_436 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_435);
auto x_main_module_437 = mmain->add_instruction(
x_main_module_343,
x_main_module_26);
auto x_main_module_345 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,512,7,7]}"), x_main_module_28);
auto x_main_module_346 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_344, x_main_module_345);
auto x_main_module_347 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_346);
auto x_main_module_348 = mmain->add_instruction(
migraphx::make_json_op("convolution",
"{dilation:[1,1],group:1,padding:[0,0,0,0],padding_mode:0,stride:[1,"
"1],use_dynamic_same_auto_pad:0}"),
x_main_module_436,
x_main_module_8);
auto x_main_module_438 = mmain->add_instruction(
migraphx::make_json_op(
"batch_norm_inference",
"{bn_mode:1,epsilon:9.999999747378752e-06,momentum:0.8999999761581421}"),
x_main_module_437,
x_main_module_7,
x_main_module_6,
x_main_module_5,
x_main_module_4);
auto x_main_module_439 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_438, x_main_module_430);
auto x_main_module_440 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_439);
auto x_main_module_441 = mmain->add_instruction(
migraphx::make_json_op(
"pooling",
"{ceil_mode:0,lengths:[7,7],lp_order:2,mode:0,padding:[0,0,0,0],stride:[1,1]}"),
x_main_module_440);
auto x_main_module_442 =
mmain->add_instruction(migraphx::make_json_op("flatten", "{axis:1}"), x_main_module_441);
auto x_main_module_443 = mmain->add_instruction(
migraphx::make_json_op("transpose", "{permutation:[1,0]}"), x_main_module_3);
auto x_main_module_444 =
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_442, x_main_module_443);
auto x_main_module_445 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,1000]}"), x_main_module_2);
auto x_main_module_446 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,1000]}"), x_main_module_0);
auto x_main_module_447 =
mmain->add_instruction(migraphx::make_op("mul"), x_main_module_445, x_main_module_446);
auto x_main_module_448 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_444, x_main_module_447);
mmain->add_return({x_main_module_448});
x_main_module_347,
x_main_module_30);
auto x_main_module_349 = mmain->add_instruction(
migraphx::make_json_op("broadcast", "{axis:1,out_lens:[1,2048,7,7]}"), x_main_module_32);
auto x_main_module_350 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_348, x_main_module_349);
auto x_main_module_351 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_350, x_main_module_339);
auto x_main_module_352 = mmain->add_instruction(migraphx::make_op("relu"), x_main_module_351);
auto x_main_module_353 = mmain->add_instruction(
migraphx::make_json_op("reduce_mean", "{axes:[2,3]}"), x_main_module_352);
auto x_main_module_354 = mmain->add_instruction(
migraphx::make_json_op("reshape", "{dims:[-1,1,1,2048]}"), x_main_module_353);
auto x_main_module_355 = mmain->add_instruction(
migraphx::make_json_op("squeeze", "{axes:[1,2]}"), x_main_module_354);
auto x_main_module_356 =
mmain->add_instruction(migraphx::make_op("dot"), x_main_module_355, x_main_module_92);
auto x_main_module_357 = mmain->add_instruction(
migraphx::make_json_op("multibroadcast", "{out_lens:[1,1001]}"), x_main_module_90);
auto x_main_module_358 =
mmain->add_instruction(migraphx::make_op("add"), x_main_module_356, x_main_module_357);
auto x_main_module_359 =
mmain->add_instruction(migraphx::make_op("identity"), x_main_module_358);
auto x_main_module_360 =
mmain->add_instruction(migraphx::make_json_op("softmax", "{axis:1}"), x_main_module_359);
auto x_main_module_361 =
mmain->add_instruction(migraphx::make_op("identity"), x_main_module_360);
auto x_main_module_362 =
mmain->add_instruction(migraphx::make_json_op("argmax", "{axis:1}"), x_main_module_359);
auto x_main_module_363 =
mmain->add_instruction(migraphx::make_json_op("squeeze", "{axes:[1]}"), x_main_module_362);
auto x_main_module_364 =
mmain->add_instruction(migraphx::make_op("identity"), x_main_module_363);
mmain->add_return({x_main_module_364, x_main_module_361});
return p;
}
......
......@@ -145,7 +145,7 @@ void verify_reduced(program p,
auto* mm = p.get_main_module();
auto last = std::prev(mm->end(), n + 1);
mm->remove_instructions(last, mm->end());
std::cout << "Verify: " << std::endl;
std::cout << "Verify: " << n << std::endl;
std::cout << p << std::endl;
verify_program(std::to_string(n), p, t, options, quantize, inputs, tolerance);
}
......@@ -159,6 +159,7 @@ void verify_reduced_program(const program& p,
{
const auto* mm = p.get_main_module();
auto n = std::distance(mm->begin(), mm->end());
std::cout << "Verify steps: " << n << std::endl;
for(std::size_t i = 0; i < n; i++)
{
verify_reduced(p, i, t, options, quantize, inputs, tolerance);
......
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