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 3.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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 #MSTUNE_SUCCESS 执行成功
  26. * @retval #MSTUNE_FAILED 执行失败
  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 tuningGraph [IN] 调优图
  40. * @param dependGraph [IN] 调优依赖图
  41. * @param session [IN] ge连接会话
  42. * @param option [IN] 参数集. 包含调优参数及ge参数
  43. * @retval #MSTUNE_SUCCESS 执行成功
  44. * @retval #MSTUNE_FAILED 执行失败
  45. * @par 依赖:
  46. * @li tune_api.cpp:该接口所属的开发包。
  47. * @li tune_api.h:该接口声明所在的头文件。
  48. * @see 无
  49. * @since
  50. */
  51. extern "C" MsTuneStatus MsTrainTuning(ge::Graph &tuningGraph, std::vector<ge::Graph> &dependGraph,
  52. ge::Session *session, const std::map<std::string, std::map<std::string, std::string>> &option);
  53. /**
  54. * @ingroup aoe
  55. * @par 描述: 调优初始化
  56. *
  57. * @attention 无
  58. * @param session [IN] ge连接会话
  59. * @param option [IN] 参数集. 包含调优参数及ge参数
  60. * @retval #AOE_SUCCESS 执行成功
  61. * @retval #AOE_FAILED 执行失败
  62. * @par 依赖:
  63. * @li tune_api.cpp:该接口所属的开发包。
  64. * @li tune_api.h:该接口声明所在的头文件。
  65. * @see 无
  66. * @since
  67. */
  68. extern "C" AoeStatus AoeOnlineInitialize(ge::Session *session, const std::map<std::string, std::string> &option);
  69. /**
  70. * @ingroup aoe
  71. * @par 描述: 调优去初始化
  72. *
  73. * @attention 无
  74. * @param 无
  75. * @retval #AOE_SUCCESS 执行成功
  76. * @retval #AOE_FAILED 执行失败
  77. * @par 依赖:
  78. * @li tune_api.cpp:该接口所属的开发包。
  79. * @li tune_api.h:该接口声明所在的头文件。
  80. * @see 无
  81. * @since
  82. */
  83. extern "C" AoeStatus AoeOnlineFinalize();
  84. /**
  85. * @ingroup aoe
  86. * @par 描述: 调优处理
  87. *
  88. * @attention 无
  89. * @param tuningGraph [IN] 调优图
  90. * @param dependGraph [IN] 调优依赖图
  91. * @param session [IN] ge连接会话
  92. * @param option [IN] 参数集. 包含调优参数及ge参数
  93. * @retval #AOE_SUCCESS 执行成功
  94. * @retval #AOE_FAILED 执行失败
  95. * @par 依赖:
  96. * @li tune_api.cpp:该接口所属的开发包。
  97. * @li tune_api.h:该接口声明所在的头文件。
  98. * @see 无
  99. * @since
  100. */
  101. extern "C" AoeStatus AoeOnlineTuning(ge::Graph &tuningGraph, std::vector<ge::Graph> &dependGraph,
  102. ge::Session *session, const std::map<std::string, std::string> &option);
  103. #endif

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