target.cpp 905 Bytes
Newer Older
Shucai Xiao's avatar
Shucai Xiao committed
1

Paul's avatar
Paul committed
2
3
#include <migraphx/cpu/target.hpp>
#include <migraphx/cpu/lowering.hpp>
4
#include <migraphx/register_target.hpp>
Paul's avatar
Paul committed
5
#include <migraphx/pass.hpp>
Paul's avatar
Paul committed
6
#include <migraphx/auto_contiguous.hpp>
Shucai Xiao's avatar
Shucai Xiao committed
7
#include <migraphx/rewrite_rnn.hpp>
8
#include <migraphx/dead_code_elimination.hpp>
9
#include <migraphx/generate.hpp>
Shucai Xiao's avatar
Shucai Xiao committed
10

Paul's avatar
Paul committed
11
namespace migraphx {
Paul's avatar
Paul committed
12
inline namespace MIGRAPHX_INLINE_NS {
Shucai Xiao's avatar
Shucai Xiao committed
13
14
15
16
namespace cpu {

std::string target::name() const { return "cpu"; }

17
std::vector<pass> target::get_passes(migraphx::context&, const compile_options&) const
Shucai Xiao's avatar
Shucai Xiao committed
18
{
Shucai Xiao's avatar
Shucai Xiao committed
19
    return {rewrite_rnn{},
Shucai Xiao's avatar
Shucai Xiao committed
20
21
            dead_code_elimination{},
            auto_contiguous{},
Shucai Xiao's avatar
Shucai Xiao committed
22
23
24
            dead_code_elimination{},
            lowering{},
            dead_code_elimination{}};
Shucai Xiao's avatar
Shucai Xiao committed
25
26
}

Shucai Xiao's avatar
Shucai Xiao committed
27
argument target::allocate(const shape& s) const { return fill_argument(s, 0); }
28

29
30
MIGRAPHX_REGISTER_TARGET(target);

Shucai Xiao's avatar
Shucai Xiao committed
31
} // namespace cpu
Paul's avatar
Paul committed
32
} // namespace MIGRAPHX_INLINE_NS
Paul's avatar
Paul committed
33
} // namespace migraphx