"src/include/vscode:/vscode.git/clone" did not exist on "032d06508238f416c8f89e6e3f6eeeca4e54b12d"
perf_onnx.cpp 1008 Bytes
Newer Older
Paul's avatar
Paul committed
1
2
3
4
5
6
7
8

#include <migraph/onnx.hpp>

#include <migraph/gpu/target.hpp>
#include <migraph/gpu/hip.hpp>
#include <migraph/generate.hpp>
#include <migraph/verify.hpp>

Paul's avatar
Paul committed
9
migraph::program::parameter_map create_param_map(const migraph::program& p, bool gpu = true)
Paul's avatar
Paul committed
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
    migraph::program::parameter_map m;
    for(auto&& x : p.get_parameter_shapes())
    {
        if(gpu)
            m[x.first] = migraph::gpu::to_gpu(migraph::generate_argument(x.second));
        else
            m[x.first] = migraph::generate_argument(x.second);
    }
    return m;
}

int main(int argc, char const* argv[])
{
    if(argc > 1)
    {
        std::string file = argv[1];
Paul's avatar
Paul committed
27
        auto p           = migraph::parse_onnx(file);
Paul's avatar
Paul committed
28
        std::cout << "Compiling ... " << std::endl;
Paul's avatar
Paul committed
29
        p.compile(migraph::gpu::target{});
30
        std::cout << "Allocating params ... " << std::endl;
Paul's avatar
Paul committed
31
        auto m = create_param_map(p);
Paul's avatar
Paul committed
32
        std::cout << "Running performance report ... " << std::endl;
Paul's avatar
Paul committed
33
34
35
        p.perf_report(std::cout, 10, m);
    }
}