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.4 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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 tuningGraph [IN] 调优图
  59. * @param dependGraph [IN] 调优依赖图
  60. * @param session [IN] ge连接会话
  61. * @param option [IN] 参数集. 包含调优参数及ge参数
  62. * @retval #AOE_SUCCESS 执行成功
  63. * @retval #AOE_FAILED 执行失败
  64. * @par 依赖:
  65. * @li tune_api.cpp:该接口所属的开发包。
  66. * @li tune_api.h:该接口声明所在的头文件。
  67. * @see 无
  68. * @since
  69. */
  70. extern "C" AoeStatus AoeOnlineTuning(ge::Graph &tuningGraph, std::vector<ge::Graph> &dependGraph,
  71. ge::Session *session, const std::map<std::string, std::map<std::string, std::string>> &option);
  72. #endif

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