| /*! |
| * Copyright (c) 2017 by Contributors |
| * \file meta_data.h |
| * \brief Meta data related utilities |
| */ |
| #ifndef TVM_RUNTIME_META_DATA_H_ |
| #define TVM_RUNTIME_META_DATA_H_ |
| |
| #include <dmlc/json.h> |
| #include <dmlc/io.h> |
| #include <tvm/runtime/packed_func.h> |
| #include <string> |
| #include <vector> |
| #include "runtime_base.h" |
| |
| namespace tvm { |
| namespace runtime { |
| |
| /*! \brief function information needed by device */ |
| struct FunctionInfo { |
| std::string name; |
| std::vector<TVMType> arg_types; |
| std::vector<std::string> thread_axis_tags; |
| |
| void Save(dmlc::JSONWriter *writer) const; |
| void Load(dmlc::JSONReader *reader); |
| void Save(dmlc::Stream *writer) const; |
| bool Load(dmlc::Stream *reader); |
| }; |
| } // namespace runtime |
| } // namespace tvm |
| |
| namespace dmlc { |
| DMLC_DECLARE_TRAITS(has_saveload, ::tvm::runtime::FunctionInfo, true); |
| } // namespace dmlc |
| #endif // TVM_RUNTIME_META_DATA_H_ |