| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| /*! |
| * \file file_util.h |
| * \brief Minimum file manipulation util for runtime. |
| */ |
| #ifndef TVM_RUNTIME_FILE_UTIL_H_ |
| #define TVM_RUNTIME_FILE_UTIL_H_ |
| |
| #include <string> |
| #include <unordered_map> |
| |
| #include "meta_data.h" |
| |
| namespace tvm { |
| namespace runtime { |
| /*! |
| * \brief Get file format from given file name or format argument. |
| * \param file_name The name of the file. |
| * \param format The format of the file. |
| */ |
| std::string GetFileFormat(const std::string& file_name, const std::string& format); |
| |
| /*! |
| * \return the directory in which TVM stores cached files. |
| * May be set using TVM_CACHE_DIR; defaults to system locations. |
| */ |
| std::string GetCacheDir(); |
| |
| /*! |
| * \brief Get meta file path given file name and format. |
| * \param file_name The name of the file. |
| */ |
| std::string GetMetaFilePath(const std::string& file_name); |
| |
| /*! |
| * \brief Get file basename (i.e. without leading directories) |
| * \param file_name The name of the file. |
| * \return the base name |
| */ |
| std::string GetFileBasename(const std::string& file_name); |
| |
| /*! |
| * \brief Load binary file into a in-memory buffer. |
| * \param file_name The name of the file. |
| * \param data The data to be loaded. |
| */ |
| void LoadBinaryFromFile(const std::string& file_name, std::string* data); |
| |
| /*! |
| * \brief Load binary file into a in-memory buffer. |
| * \param file_name The name of the file. |
| * \param data The binary data to be saved. |
| */ |
| void SaveBinaryToFile(const std::string& file_name, const std::string& data); |
| |
| /*! |
| * \brief Save meta data to file. |
| * \param file_name The name of the file. |
| * \param fmap The function info map. |
| */ |
| void SaveMetaDataToFile(const std::string& file_name, |
| const std::unordered_map<std::string, FunctionInfo>& fmap); |
| |
| /*! |
| * \brief Load meta data to file. |
| * \param file_name The name of the file. |
| * \param fmap The function info map. |
| */ |
| void LoadMetaDataFromFile(const std::string& file_name, |
| std::unordered_map<std::string, FunctionInfo>* fmap); |
| |
| /*! |
| * \brief Remove (unlink) a file. |
| * \param file_name The file name. |
| */ |
| void RemoveFile(const std::string& file_name); |
| } // namespace runtime |
| } // namespace tvm |
| #endif // TVM_RUNTIME_FILE_UTIL_H_ |