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.

.clang-format 4.1 kB

5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. ---
  2. Language: Cpp
  3. # BasedOnStyle: Google
  4. AccessModifierOffset: -1
  5. AlignAfterOpenBracket: Align
  6. AlignConsecutiveAssignments: false
  7. AlignConsecutiveDeclarations: false
  8. AlignEscapedNewlines: Left
  9. AlignOperands: true
  10. AlignTrailingComments: true
  11. AllowAllParametersOfDeclarationOnNextLine: true
  12. AllowShortBlocksOnASingleLine: false
  13. AllowShortCaseLabelsOnASingleLine: false
  14. AllowShortFunctionsOnASingleLine: All
  15. AllowShortIfStatementsOnASingleLine: true
  16. AllowShortLoopsOnASingleLine: true
  17. AlwaysBreakAfterDefinitionReturnType: None
  18. AlwaysBreakAfterReturnType: None
  19. AlwaysBreakBeforeMultilineStrings: true
  20. AlwaysBreakTemplateDeclarations: Yes
  21. BinPackArguments: true
  22. BinPackParameters: true
  23. BraceWrapping:
  24. AfterClass: false
  25. AfterControlStatement: false
  26. AfterEnum: false
  27. AfterFunction: false
  28. AfterNamespace: false
  29. AfterObjCDeclaration: false
  30. AfterStruct: false
  31. AfterUnion: false
  32. AfterExternBlock: false
  33. BeforeCatch: false
  34. BeforeElse: false
  35. IndentBraces: false
  36. SplitEmptyFunction: true
  37. SplitEmptyRecord: true
  38. SplitEmptyNamespace: true
  39. BreakBeforeBinaryOperators: None
  40. BreakBeforeBraces: Attach
  41. BreakBeforeInheritanceComma: false
  42. BreakInheritanceList: BeforeColon
  43. BreakBeforeTernaryOperators: true
  44. BreakConstructorInitializersBeforeComma: false
  45. BreakConstructorInitializers: BeforeColon
  46. BreakAfterJavaFieldAnnotations: false
  47. BreakStringLiterals: true
  48. ColumnLimit: 120
  49. CommentPragmas: '^ IWYU pragma:'
  50. CompactNamespaces: false
  51. ConstructorInitializerAllOnOneLineOrOnePerLine: true
  52. ConstructorInitializerIndentWidth: 4
  53. ContinuationIndentWidth: 2
  54. Cpp11BracedListStyle: true
  55. DerivePointerAlignment: true
  56. DisableFormat: false
  57. ExperimentalAutoDetectBinPacking: false
  58. FixNamespaceComments: true
  59. ForEachMacros:
  60. # - foreach
  61. - Q_FOREACH
  62. - BOOST_FOREACH
  63. IncludeBlocks: Preserve
  64. IncludeCategories:
  65. - Regex: '^<ext/.*\.h>'
  66. Priority: 2
  67. - Regex: '^<.*\.h>'
  68. Priority: 1
  69. - Regex: '^<.*'
  70. Priority: 2
  71. - Regex: '.*'
  72. Priority: 3
  73. IncludeIsMainRegex: '([-_](test|unittest))?$'
  74. IndentCaseLabels: true
  75. IndentPPDirectives: None
  76. IndentWidth: 2
  77. IndentWrappedFunctionNames: false
  78. JavaScriptQuotes: Leave
  79. JavaScriptWrapImports: true
  80. KeepEmptyLinesAtTheStartOfBlocks: false
  81. MacroBlockBegin: ''
  82. MacroBlockEnd: ''
  83. MaxEmptyLinesToKeep: 1
  84. NamespaceIndentation: None
  85. ObjCBinPackProtocolList: Never
  86. ObjCBlockIndentWidth: 2
  87. ObjCSpaceAfterProperty: false
  88. ObjCSpaceBeforeProtocolList: true
  89. PenaltyBreakAssignment: 2
  90. PenaltyBreakBeforeFirstCallParameter: 1
  91. PenaltyBreakComment: 300
  92. PenaltyBreakFirstLessLess: 120
  93. PenaltyBreakString: 1000
  94. PenaltyBreakTemplateDeclaration: 10
  95. PenaltyExcessCharacter: 1000000
  96. PenaltyReturnTypeOnItsOwnLine: 200
  97. PointerAlignment: Left
  98. RawStringFormats:
  99. - Language: Cpp
  100. Delimiters:
  101. - cc
  102. - CC
  103. - cpp
  104. - Cpp
  105. - CPP
  106. - 'c++'
  107. - 'C++'
  108. CanonicalDelimiter: ''
  109. BasedOnStyle: google
  110. - Language: TextProto
  111. Delimiters:
  112. - pb
  113. - PB
  114. - proto
  115. - PROTO
  116. EnclosingFunctions:
  117. - EqualsProto
  118. - EquivToProto
  119. - PARSE_PARTIAL_TEXT_PROTO
  120. - PARSE_TEST_PROTO
  121. - PARSE_TEXT_PROTO
  122. - ParseTextOrDie
  123. - ParseTextProtoOrDie
  124. CanonicalDelimiter: ''
  125. BasedOnStyle: google
  126. ReflowComments: true
  127. SortIncludes: true
  128. SortUsingDeclarations: true
  129. SpaceAfterCStyleCast: false
  130. SpaceAfterTemplateKeyword: true
  131. SpaceBeforeAssignmentOperators: true
  132. SpaceBeforeCpp11BracedList: false
  133. SpaceBeforeCtorInitializerColon: true
  134. SpaceBeforeInheritanceColon: true
  135. SpaceBeforeParens: ControlStatements
  136. SpaceBeforeRangeBasedForLoopColon: true
  137. SpaceInEmptyParentheses: false
  138. SpacesBeforeTrailingComments: 2
  139. SpacesInAngles: false
  140. SpacesInContainerLiterals: true
  141. SpacesInCStyleCastParentheses: false
  142. SpacesInParentheses: false
  143. SpacesInSquareBrackets: false
  144. Standard: Auto
  145. StatementMacros:
  146. - Q_UNUSED
  147. - QT_REQUIRE_VERSION
  148. TabWidth: 2
  149. UseTab: Never
  150. SortIncludes: false
  151. ...

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