You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.2 KiB
69 lines
2.2 KiB
/*****************************************************************************
|
|
*
|
|
* Copyright (c) 2016-2026 by Bitmain Technologies Inc. All rights reserved.
|
|
*
|
|
* The material in this file is confidential and contains trade secrets
|
|
* of Bitmain Technologies Inc. This is proprietary information owned by
|
|
* Bitmain Technologies Inc. No part of this work may be disclosed,
|
|
* reproduced, copied, transmitted, or used in any way for any purpose,
|
|
* without the express written permission of Bitmain Technologies Inc.
|
|
*
|
|
*****************************************************************************/
|
|
|
|
#ifndef __BM_CNN_CONTEXT_H__
|
|
#define __BM_CNN_CONTEXT_H__
|
|
|
|
#include <string>
|
|
|
|
namespace bmcnn {
|
|
|
|
typedef void *bmcnn_ctx_t;
|
|
/**
|
|
* \brief Create context of BMCNN.
|
|
*
|
|
* \param ctx_dir - Directory of context files generated by NET_COMPILER
|
|
*
|
|
* \note
|
|
* The context will be created in the device of ID 0.\n
|
|
*
|
|
* \return
|
|
* NULL - Creating failed.\n
|
|
* non-NULL - The handle of the context (creating succeeded).\n
|
|
*/
|
|
//bmcnn_ctx_t bmcnn_ctx_create(const std::string &ctx_dir);
|
|
/**
|
|
* \brief Destroy context of BMCNN
|
|
*
|
|
* \param handle - Handle of the context to be destroyed
|
|
*/
|
|
void bmcnn_ctx_destroy(bmcnn_ctx_t handle);
|
|
/**
|
|
* \brief Create context of BMCNN in specific devide.
|
|
*
|
|
* \param ctx_dir - Directory of context files generated by NET_COMPILER
|
|
* \param devid - ID of device where the context will be placed.
|
|
*
|
|
* \note
|
|
* Call \ref bm_dev_getcount to get total number of devices, e.g. N is returned,
|
|
* valid devid should be in range of 0 ~ (N-1).\n
|
|
*
|
|
* \return
|
|
* NULL - Creating failed that might be caused by incorrect parameter.\n
|
|
* non-NULL - The handle of the context (creating succeeded).\n
|
|
*/
|
|
bmcnn_ctx_t bmcnn_ctx_create_by_devid(const std::string &ctx_dir, int devid, const std::string &chipname = "BM1682");
|
|
/**
|
|
* \brief Append context of BMCNN.
|
|
*
|
|
* \param ctx_dir - Directory of context files generated by NET_COMPILER.
|
|
* \param bmrt - The created handle of context.
|
|
*
|
|
* \return
|
|
* false - Appending failed.\n
|
|
* true - Appending succeeded.\n
|
|
*/
|
|
bool bmcnn_ctx_append(const std::string &ctx_dir, void *bmrt);
|
|
} /* namespace bmcnn */
|
|
|
|
#endif /* __BM_CNN_CONTEXT_H__ */
|