target.cpp 830 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>
Paul's avatar
Paul committed
4
#include <migraphx/pass.hpp>
Paul's avatar
Paul committed
5
#include <migraphx/auto_contiguous.hpp>
Shucai Xiao's avatar
Shucai Xiao committed
6
#include <migraphx/rewrite_rnn.hpp>
7
#include <migraphx/dead_code_elimination.hpp>
8
#include <migraphx/generate.hpp>
Shucai Xiao's avatar
Shucai Xiao committed
9

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

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

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

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

Shucai Xiao's avatar
Shucai Xiao committed
28
} // namespace cpu
Paul's avatar
Paul committed
29
} // namespace MIGRAPHX_INLINE_NS
Paul's avatar
Paul committed
30
} // namespace migraphx