You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

tune_api.h 2.5 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /**
  2. * @file tune_api.h
  3. *
  4. * Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved.\n
  5. *
  6. * This program is distributed in the hope that it will be useful,
  7. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n
  9. * 描述:aoe调优接口头文件
  10. */
  11. /** @defgroup aoe aoe调优接口 */
  12. #ifndef TUNE_API_H
  13. #define TUNE_API_H
  14. #include <map>
  15. #include <string>
  16. #include "ge/ge_api.h"
  17. #include "aoe_types.h"
  18. /**
  19. * @ingroup aoe
  20. * @par 描述: 命令行调优
  21. *
  22. * @attention 无
  23. * @param option [IN] 调优参数
  24. * @param msg [OUT] 调优异常下返回信息
  25. * @retval #AOE_SUCCESS 执行成功
  26. * @retval #AOE_FAILURE 执行失败
  27. * @par 依赖:
  28. * @li tune_api.cpp:该接口所属的开发包。
  29. * @li tune_api.h:该接口声明所在的头文件。
  30. * @see 无
  31. * @since
  32. */
  33. AoeStatus AoeOfflineTuning(const std::map<std::string, std::string> &option, std::string &msg);
  34. /**
  35. * @ingroup aoe
  36. * @par 描述: 调优初始化
  37. *
  38. * @attention 无
  39. * @param session [IN] ge连接会话
  40. * @param option [IN] 参数集. 包含调优参数及ge参数
  41. * @retval #AOE_SUCCESS 执行成功
  42. * @retval #AOE_FAILURE 执行失败
  43. * @par 依赖:
  44. * @li tune_api.cpp:该接口所属的开发包。
  45. * @li tune_api.h:该接口声明所在的头文件。
  46. * @see 无
  47. * @since
  48. */
  49. extern "C" AoeStatus AoeOnlineInitialize(ge::Session *session, const std::map<std::string, std::string> &option);
  50. /**
  51. * @ingroup aoe
  52. * @par 描述: 调优去初始化
  53. *
  54. * @attention 无
  55. * @param 无
  56. * @retval #AOE_SUCCESS 执行成功
  57. * @retval #AOE_FAILURE 执行失败
  58. * @par 依赖:
  59. * @li tune_api.cpp:该接口所属的开发包。
  60. * @li tune_api.h:该接口声明所在的头文件。
  61. * @see 无
  62. * @since
  63. */
  64. extern "C" AoeStatus AoeOnlineFinalize();
  65. /**
  66. * @ingroup aoe
  67. * @par 描述: 调优处理
  68. *
  69. * @attention 无
  70. * @param tuningGraph [IN] 调优图
  71. * @param dependGraph [IN] 调优依赖图
  72. * @param session [IN] ge连接会话
  73. * @param option [IN] 参数集. 包含调优参数及ge参数
  74. * @retval #AOE_SUCCESS 执行成功
  75. * @retval #AOE_FAILURE 执行失败
  76. * @par 依赖:
  77. * @li tune_api.cpp:该接口所属的开发包。
  78. * @li tune_api.h:该接口声明所在的头文件。
  79. * @see 无
  80. * @since
  81. */
  82. extern "C" AoeStatus AoeOnlineTuning(ge::Graph &tuningGraph, std::vector<ge::Graph> &dependGraph,
  83. ge::Session *session, const std::map<std::string, std::string> &option);
  84. #endif

图引擎模块(GE)是MindSpore的一个子模块,其代码由C++实现,位于前端模块ME和底层硬件之间,起到承接作用。图引擎模块以ME下发的图作为输入,然后进行一系列的深度图优化操作,最后输出一张可以在底层硬件上高效运行的图。GE针对昇腾AI处理器的硬件结构特点,做了特定的优化工作,以此来充分发挥出昇腾AI处理器的强大算力。在进行模型训练/推理时,GE会被自动调用而用户并不感知。GE主要由GE API和GE Core两部分组成,详细的架构图如下所示