chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
* 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 rpc_env.h
|
||||
* \brief Server environment of the RPC.
|
||||
*/
|
||||
#ifndef TVM_APPS_CPP_RPC_ENV_H_
|
||||
#define TVM_APPS_CPP_RPC_ENV_H_
|
||||
|
||||
#include <tvm/ffi/function.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace tvm {
|
||||
namespace runtime {
|
||||
|
||||
/*!
|
||||
* \brief ListDir Get the list of files in a directory
|
||||
* \param dirname The root directory name
|
||||
* \return vector Files in directory.
|
||||
*/
|
||||
std::vector<std::string> ListDir(const std::string& dirname);
|
||||
|
||||
/*!
|
||||
* \brief build a shared library if necessary
|
||||
*
|
||||
* This function will automatically call
|
||||
* cc.create_shared if the path is in format .o or .tar
|
||||
* High level handling for .o and .tar file.
|
||||
* We support this to be consistent with RPC module load.
|
||||
* \param file_in The input file path.
|
||||
*
|
||||
* \return The name of the shared library.
|
||||
*/
|
||||
std::string BuildSharedLibrary(std::string file_in);
|
||||
|
||||
/*!
|
||||
* \brief RPCEnv The RPC Environment parameters for c++ rpc server
|
||||
*/
|
||||
struct RPCEnv {
|
||||
public:
|
||||
/*!
|
||||
* \brief Constructor Init The RPC Environment initialize function
|
||||
*/
|
||||
RPCEnv(const std::string& word_dir = "");
|
||||
/*!
|
||||
* \brief GetPath To get the workpath from packed function
|
||||
* \param name The file name
|
||||
* \return The full path of file.
|
||||
*/
|
||||
std::string GetPath(const std::string& file_name) const;
|
||||
/*!
|
||||
* \brief The RPC Environment cleanup function
|
||||
*/
|
||||
void CleanUp() const;
|
||||
|
||||
private:
|
||||
/*!
|
||||
* \brief Holds the environment path.
|
||||
*/
|
||||
std::string base_;
|
||||
}; // RPCEnv
|
||||
|
||||
} // namespace runtime
|
||||
} // namespace tvm
|
||||
#endif // TVM_APPS_CPP_RPC_ENV_H_
|
||||
Reference in New Issue
Block a user