Signed-off-by: leonwanghui <wanghui71leon@gmail.com>pull/11/head
@@ -1,6 +1,6 @@ | |||
GraphEngine(GE) is a sub-module of MindSpore connecting the front end and devices which was designed by the researches and engineers within Huawei Technologies Co.,Ltd. GE is implemented via C++. It takes the graph of front end as its input and a series of graph operations are carried out to adapt the graph to a certain form which can be effectively operated on devices. GE is specifically designed for an efficient operation on Ascend Chips. GE is automatically called without any exposure to the users. GE mainly consists of two parts, i.e. GE API and GE Core. The architecture diagram of GE is illustrated as follows | |||
 | |||
<img src="docs/GE_Architecture.png" alt="GE_schema" width="600"/> | |||
- GE API | |||
@@ -12,7 +12,7 @@ | |||
- Graph preparation | |||
All the shapes of feature maps and variables in the graph are inferred in this stage for memory allocation later. Some aggregations of operators like allreduce are performed as well. Ascend Chips are heterogeneous chips including CPUs and vector calculation units, i.e. AICORE. Each operator in the graph is assigned to a certain operating cores according to the costs and supports. These two cores correspond to two different abstract engines in software. | |||
All the shapes of feature maps and variables in the graph are inferred in this stage for memory allocation later. Some aggregations of operators like allreduce are performed as well. Ascend Chips are heterogeneous chips including CPUs and vector calculation units, i.e. AICORE. Each operator in the graph is assigned to a certain operating cores according to the costs and supports. These two cores correspond to two different abstract engines in software. | |||
- Graph partition | |||
@@ -37,18 +37,20 @@ | |||
In training or evaluating process, the aforementioned graph processing operations are carried out automatically. All in all, GE is a linked up module between MindSpore front end and Ascend Chips aiming to adapt the graph designed by users to a more efficient form that can be directly executed on Ascend Chips. | |||
- [Installation](#installation) | |||
- [Installing GraphEngine](#installing-graphengine) | |||
- [Installing Using the Source Code](#installing-using-the-source-code) | |||
- [Community](#community) | |||
- [Contributing](#contributing) | |||
- [Release Notes](#release-notes) | |||
- [License](#license) | |||
# Installation | |||
## Installation | |||
## Installing GraphEngine | |||
### Installing GraphEngine | |||
GE is automatically installed and compiled once you finish installing MindSpore. There are three dynamic link libraries corresponding to GE. | |||
GE is automatically installed and compiled once you finish installing MindSpore. There are three dynamic link libraries corresponding to GE. | |||
## Installing Using the Source Code | |||
### Installing Using the Source Code | |||
You may also build GraphEngine from source. | |||
To build GraphEngine, please make sure that you have access to an [Ascend 910](https://e.huawei.com/se/products/cloud-computing-dc/atlas/ascend-910) environment as compiling environment, and make sure that following software requirements are fulfilled. | |||
@@ -5,7 +5,7 @@ This is the initial release of GraphEngine(GE) which was designed by the researc | |||
## Main features | |||
- GE API | |||
- GE provides an unified interface with the front end including graph management interfaces i.e., graph loading and graph execution, and GE core initiallization and finalization interfaces. | |||
- GE provides an unified interface with the front end including graph management interfaces i.e., graph loading and graph execution, and GE core initialization and finalization interfaces. | |||
- Graph Processing | |||
- Six parts of graph processing operations are executed within GE, i.e. graph preparation, graph partition, graph optimization, graph compilation, graph loading and graph execution. | |||
@@ -2,13 +2,13 @@ OPEN SOURCE SOFTWARE NOTICE | |||
Please note we provide an open source software notice along with this product and/or this product firmware (in the following just “this product”). The open source software licenses are granted by the respective right holders. And the open source licenses prevail all other license information with regard to the respective open source software contained in the product, including but not limited to End User Software Licensing Agreement. This notice is provided on behalf of Huawei Technologies Co. Ltd. and any of its local subsidiaries which may have provided this product to you in your local country. | |||
Warranty Disclaimer | |||
Warranty Disclaimer | |||
THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS. | |||
Copyright Notice and License Texts | |||
Copyright Notice and License Texts | |||
Software: Eigen 3.3.7 | |||
Copyright notice: | |||
Copyright notice: | |||
Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com> | |||
Copyright (C) 2013 Christian Seiler <christian@iwakd.de> | |||
Copyright (C) 2015 Eugene Brevdo <ebrevdo@gmail.com> | |||
@@ -329,7 +329,7 @@ This Source Code Form is “Incompatible With Secondary Licenses”, as defined | |||
Software: JSON for Modern C++ 3.6.1 | |||
Copyright notice: | |||
Copyright notice: | |||
Copyright 2015 Google Inc. All rights reserved. | |||
Copyright 2018 Google Inc. All rights reserved. | |||
Copyright 2016 Ismael Jimenez Martinez. All rights reserved. | |||
@@ -370,7 +370,7 @@ THE SOFTWARE. | |||
Software: google/protobuf 3.8.0 | |||
Copyright notice: | |||
Copyright notice: | |||
Copyright 2008, Google Inc. | |||
Copyright 2008 Google Inc. All Rights Reserved. | |||
Copyright [2007] Neal Norwitz | |||
@@ -413,7 +413,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | |||
Software: googletest 1.8.1 | |||
Copyright notice: | |||
Copyright notice: | |||
Copyright 2009, Google Inc. | |||
Copyright 2008, Google Inc. | |||
Copyright 2007 Google Inc. | |||
@@ -98,7 +98,7 @@ fi | |||
CHECK_RESULT_FILE=__code_format_check_result__ | |||
echo "0" > "$CHECK_RESULT_FILE" | |||
# check format of files modified in the lastest commit | |||
# check format of files modified in the lastest commit | |||
while read line; do | |||
BASE_NAME=$(basename "${line}") | |||
TEMP_FILE="__TEMP__${BASE_NAME}" | |||