Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
N
ngraph
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ngraph
Commits
11344652
Commit
11344652
authored
Mar 05, 2018
by
L.S. Cook
Committed by
Scott Cyphers
Mar 05, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Repo name change and other miscellaneous edits (#588)
parent
ce8fef72
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
77 additions
and
67 deletions
+77
-67
execute.rst
doc/sphinx/source/howto/execute.rst
+1
-1
index.rst
doc/sphinx/source/howto/index.rst
+12
-12
index.rst
doc/sphinx/source/index.rst
+16
-13
installation.rst
doc/sphinx/source/installation.rst
+47
-40
testing-libngraph.rst
doc/sphinx/source/testing-libngraph.rst
+1
-1
No files found.
doc/sphinx/source/howto/execute.rst
View file @
11344652
...
@@ -5,7 +5,7 @@ Execute a Computation
...
@@ -5,7 +5,7 @@ Execute a Computation
######################
######################
This section explains how to manually perform the steps that would normally be
This section explains how to manually perform the steps that would normally be
performed by a framework :term:`bridge` to execute a computation. Intel® nGraph
performed by a framework :term:`bridge` to execute a computation. Intel® nGraph
++
library is targeted toward automatic construction; it is far easier for a
library is targeted toward automatic construction; it is far easier for a
processing unit (GPU, CPU, or an `Intel Nervana NNP`_) to run a computation than
processing unit (GPU, CPU, or an `Intel Nervana NNP`_) to run a computation than
it is for a user to map out how that computation happens. Unfortunately, things
it is for a user to map out how that computation happens. Unfortunately, things
...
...
doc/sphinx/source/howto/index.rst
View file @
11344652
...
@@ -3,19 +3,26 @@
...
@@ -3,19 +3,26 @@
How to
How to
======
======
.. note:: This section is aimed at intermediate-level developers working with
.. toctree::
the nGraph library. It assumes a developer has understanding of the concepts
:maxdepth: 1
in the previous sections. It does not assume knowledge of any particular
:caption: How to
frontend framework.
execute.rst
The "How to" articles in this section explain how to do specific tasks with the
The "How to" articles in this section explain how to do specific tasks with the
Intel nGraph library. The recipes are all framework agnostic; in other words,
Intel nGraph
++
library. The recipes are all framework agnostic; in other words,
if an entity (framework or user) wishes to make use of target-based computational
if an entity (framework or user) wishes to make use of target-based computational
resources, it can either:
resources, it can either:
* Do the tasks programatically through the framework, or
* Do the tasks programatically through the framework, or
* Provide a clear model definition with documentation for the computational
* Provide a clear model definition with documentation for the computational
resources needed.
resources needed.
.. note:: This section is aimed at intermediate-level developers working with
the nGraph++ library. It assumes a developer has understanding of the concepts
in the previous sections. It does not assume knowledge of any particular
frontend framework.
Since our primary audience is developers who are pushing the boundaries of deep
Since our primary audience is developers who are pushing the boundaries of deep
learning systems, we go beyond the use of deep learning primitives, and include
learning systems, we go beyond the use of deep learning primitives, and include
...
@@ -41,9 +48,3 @@ backend engineers, and others. We welcome contributions from the community and
...
@@ -41,9 +48,3 @@ backend engineers, and others. We welcome contributions from the community and
invite you to experiment with the variety of hybridization and performance
invite you to experiment with the variety of hybridization and performance
extractions available through the nGraph library.
extractions available through the nGraph library.
.. toctree::
:maxdepth: 1
:caption: How-to
execute.rst
\ No newline at end of file
doc/sphinx/source/index.rst
View file @
11344652
...
@@ -13,26 +13,29 @@
...
@@ -13,26 +13,29 @@
.. limitations under the License.
.. limitations under the License.
.. ---------------------------------------------------------------------------
.. ---------------------------------------------------------------------------
########################
#####
########################
Intel nGraph
library project
Intel nGraph
++ library
########################
#####
########################
Welcome to Intel
nGraph
, an open source C++ library for developers of
Welcome to Intel
® nGraph™
, an open source C++ library for developers of
:abbr:`Deep Learning (DL)` (DL) systems. Here you will find a suite
:abbr:`Deep Learning (DL)` (DL) systems. Here you will find a suite
of
of components, APIs, and documentation that can be used to compile
components, APIs, and documentation that can be used to compile and run
and run :abbr:`Deep Neural Network (DNN)` (DNN) models defined in a
:abbr:`Deep Neural Network (DNN)` (DNN) models defined in a variety of
variety of
frameworks.
frameworks.
.. figure:: graphics/ngraph-hub.png
.. figure:: graphics/ngraph-hub.png
For this early release, we
provide :doc:`framework-integration-guides` to compile
For this early release, we
've provided :doc:`framework-integration-guides` to
and run MXNet and TensorFlow
-based projects.
compile and run MXNet\* and TensorFlow\*
-based projects.
The nGraph library translates a framework’s representation of computations into
.. note:: The library code is under active development as we're continually
an :abbr:`Intermediate Representation (IR)` designed to promote computational
adding support for more ops, more frameworks, and more backends.
The nGraph++ library translates a framework’s representation of computations
into an :abbr:`Intermediate Representation (IR)` that promotes computational
efficiency on target hardware. Initially-supported backends include Intel
efficiency on target hardware. Initially-supported backends include Intel
Architecture CPUs (
CPU
), the Intel® Nervana Neural Network Processor™ (NNP),
Architecture CPUs (
``CPU``
), the Intel® Nervana Neural Network Processor™ (NNP),
and NVIDIA\* GPUs. Currently-supported compiler optimizations include efficient
and NVIDIA\* GPUs. Currently-supported compiler optimizations include efficient
memory management and data layout abstraction.
memory management and data layout abstraction.
...
...
doc/sphinx/source/installation.rst
View file @
11344652
.. installation:
.. installation:
########
###########################
########
Install
the Intel® nGraph™ library
Install
########
###########################
########
Build Environments
Build Environments
==================
==================
The |release| version of |project| supports Linux\*-based systems which
The |release| version of |project| supports Linux\*-based systems which
have
have
recent updates of the following packages and prerequisites:
recent updates of the following packages and prerequisites:
.. csv-table::
.. csv-table::
:header: "Operating System", "Compiler", "Build System", "Status", "Additional Packages"
:header: "Operating System", "Compiler", "Build System", "Status", "Additional Packages"
...
@@ -25,15 +25,15 @@ Other configurations may work, but aren't tested; on Ubuntu 16.04 with
...
@@ -25,15 +25,15 @@ Other configurations may work, but aren't tested; on Ubuntu 16.04 with
below. This gets a pre-built tarball of LLVM+Clang from `llvm.org`_, and will
below. This gets a pre-built tarball of LLVM+Clang from `llvm.org`_, and will
substantially reduce build time.
substantially reduce build time.
If using ``gcc-4.8``, it may be necessary to add symlinksfrom ``gcc`` to
If using ``gcc-4.8``, it may be necessary to add symlinks
from ``gcc`` to
``gcc-4.8``, and from ``g++`` to ``g++-4.8``, in your :envvar:`PATH`, even
``gcc-4.8``, and from ``g++`` to ``g++-4.8``, in your :envvar:`PATH`, even
if you explicitly specify the ``CMAKE_C_COMPILER`` and ``CMAKE_CXX_COMPILER``
if you explicitly specify the ``CMAKE_C_COMPILER`` and ``CMAKE_CXX_COMPILER``
flags when building. (You
should NOT supply the `-DNGRAPH_USE_PREBUILT_LLVM
`
flags when building. (You
**should NOT** supply the ``-DNGRAPH_USE_PREBUILT_LLVM`
`
flag in this case, because the prebuilt tarball supplied on llvm.org is not
flag in this case, because the prebuilt tarball supplied on llvm.org is not
compatible with a gcc-4.8 based build.)
compatible with a gcc-4.8 based build.)
Support for macOS is limited; see the `macOS development
prerequisites`_
Support for macOS is limited; see the `macOS development
`_ section at the end of
section at the end of
this page for details.
this page for details.
Installation Steps
Installation Steps
...
@@ -44,11 +44,10 @@ install ``ngraph_dist`` to the installing user's ``$HOME`` directory as
...
@@ -44,11 +44,10 @@ install ``ngraph_dist`` to the installing user's ``$HOME`` directory as
the default location. See the :file:`CMakeLists.txt` file for more
the default location. See the :file:`CMakeLists.txt` file for more
information about how to change or customize this location.
information about how to change or customize this location.
#. (Optional) Since most of a developer's interaction with a frontend
#. (Optional) Create something like ``/opt/local`` and (with sudo permissions),
framework will take place locally through Pythonic APIs to the C++
give ownership of that directory to your user. Under this directory, you can
library, you can set a reference placeholder for the documented source
add a placeholder for ``libraries`` to have a placeholder for the documented
cloned from the repo. Create something like ``/opt/local`` and (with sudo
source cloned from the repo:
permissions), give ownership of that directory to your user.
.. code-block:: console
.. code-block:: console
...
@@ -62,62 +61,70 @@ information about how to change or customize this location.
...
@@ -62,62 +61,70 @@ information about how to change or customize this location.
.. code-block:: console
.. code-block:: console
$ cd /opt/local/libraries
$ cd /opt/local/libraries
$ git clone git@github.com:NervanaSystems/
private-
ngraph-cpp.git
$ git clone git@github.com:NervanaSystems/ngraph-cpp.git
$ cd
private-
ngraph-cpp
$ cd ngraph-cpp
#. Create a build directory outside of the ``
private-
ngraph-cpp/src`` directory
#. Create a build directory outside of the ``ngraph-cpp/src`` directory
tree; somewhere like ``
private-
ngraph-cpp/build``, for example.
tree; somewhere like ``ngraph-cpp/build``, for example.
.. code-block:: console
.. code-block:: console
$ mkdir build
$ mkdir build
#. ``$ cd`` to the build directory and generate the GNUMakefiles in the
#. ``$ cd`` to the build directory and generate the GNUMakefiles in the
customary manner from within your ``build`` directory:
customary manner from within your ``build`` directory (remember to append the
command with the prebuilt option, if needed):
.. code-block:: console
.. code-block:: console
$ cd build && cmake ../
$ cd build && cmake ../
[-DNGRAPH_USE_PREBUILT_LLVM=TRUE]
#. Run ``$ make -j8`` and ``make install`` to install ``libngraph.so`` and the
#. (Optional) Run ``$ make [-jN]`` where :option:`-jN` specifies the number of
header files to the default location of ``$HOME/ngraph_dist``.
cores. The example here uses a configuration of :option:`j8`, which is
good for a system install using an Intel® Xeon® (CPU processor). This step
is **not recommended** with Docker / VM installs.
.. code-block:: console
.. code-block:: console
$ make -j8
$ make -j8 && make install
#. Run ``make install`` to install ``libngraph.so`` and the header files to the
default location of ``$HOME/ngraph_dist``
.. code-block:: console
#. (Optional, requires `Sphinx`_.) Run ``make html`` inside the
$ make install
``doc/sphinx`` directory to build HTML docs for the nGraph library.
#. (Optional, requires `doxygen`_.) Run ``$ make htmldocs`` inside
#. (Optional, requires `doxygen`_, `Sphinx`_, and `breathe`_). Run ``make html``
the ``doc/sphinx`` directory to build HTML API docs inside the
inside the ``doc/sphinx`` directory of the cloned source to build a copy of
``/docs/doxygen/`` directory.
the `website docs`_ locally. The low-level API docs with inheritance diagrams
and collaboration diagrams can be found inside the ``/docs/doxygen/``
directory.
.. macos_development
_prerequisites
:
.. macos_development:
macOS
Development Prerequisites
macOS
development
-----------------
--------------
-----------------
.. note:: If you are developing |nGl| projects on macOS*\, please be
.. note:: The macOS*\ platform is officially unsupported.
aware that this platform is officially unsupported.
The repository includes two scripts (``maint/check-code-format.sh`` and
The repository includes two scripts (``maint/check-code-format.sh`` and
``maint/apply-code-format.sh``) that are used respectively to check adherence
``maint/apply-code-format.sh``) that are used respectively to check adherence
to `
libngraph
` code formatting conventions, and to automatically reformat code
to `
`libngraph`
` code formatting conventions, and to automatically reformat code
according to those conventions. These scripts require the command
according to those conventions. These scripts require the command
``clang-format-3.9`` to be in your ``PATH``. Run the following commands
``clang-format-3.9`` to be in your ``PATH``. Run the following commands
(you will need to adjust them if you are not using bash):
(you will need to adjust them if you are not using bash):
.. code-block:: bash
.. code-block:: bash
$ brew install llvm@3.9
$ brew install llvm@3.9
$ mkdir -p $HOME/bin
$ mkdir -p $HOME/bin
$ ln -s /usr/local/opt/llvm@3.9/bin/clang-format $HOME/bin/clang-format-3.9
$ ln -s /usr/local/opt/llvm@3.9/bin/clang-format $HOME/bin/clang-format-3.9
$ echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bash_profile
$ echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bash_profile
.. _doxygen: https://www.stack.nl/~dimitri/doxygen/
.. _doxygen: https://www.stack.nl/~dimitri/doxygen/
.. _Sphinx: http://www.sphinx-doc.org/en/stable/
.. _Sphinx: http://www.sphinx-doc.org/en/stable/
.. _
NervanaSystems: https://github.com/NervanaSystems/private-ngraph-cpp/blob/master/README.md
.. _
breathe: https://breathe.readthedocs.io/en/latest/
.. _llvm.org: https://www.llvm.org
.. _llvm.org: https://www.llvm.org
.. _NervanaSystems: https://github.com/NervanaSystems/ngraph-cpp/blob/master/README.md
.. _website docs: http://ngraph.nervanasys.com/index.html/index.html
doc/sphinx/source/testing-libngraph.rst
View file @
11344652
...
@@ -32,7 +32,7 @@ For this early |release| release, we're providing :doc:`framework-integration-gu
...
@@ -32,7 +32,7 @@ For this early |release| release, we're providing :doc:`framework-integration-gu
for:
for:
* :doc:`MXNet<framework-integration-guides>` framework,
* :doc:`MXNet<framework-integration-guides>` framework,
* :doc:`Tensor
f
low<framework-integration-guides>` framework, and
* :doc:`Tensor
F
low<framework-integration-guides>` framework, and
* neon™ `frontend framework`_.
* neon™ `frontend framework`_.
Integration guides for other frameworks are tentatively forthcoming.
Integration guides for other frameworks are tentatively forthcoming.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment