Modified: incubator/singa/site/trunk/en/docs/software_stack.html URL: http://svn.apache.org/viewvc/incubator/singa/site/trunk/en/docs/software_stack.html?rev=1862313&r1=1862312&r2=1862313&view=diff ============================================================================== --- incubator/singa/site/trunk/en/docs/software_stack.html (original) +++ incubator/singa/site/trunk/en/docs/software_stack.html Sat Jun 29 14:42:24 2019 @@ -18,25 +18,19 @@ - <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> + + - <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> - <script type="text/javascript" src="../_static/jquery.js"></script> - <script type="text/javascript" src="../_static/underscore.js"></script> - <script type="text/javascript" src="../_static/doctools.js"></script> - <script type="text/javascript" src="../_static/language_data.js"></script> - - <script type="text/javascript" src="../_static/js/theme.js"></script> - + - <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> - <link rel="next" title="Benchmark for Distributed training" href="benchmark.html" /> + <link rel="next" title="Device" href="device.html" /> <link rel="prev" title="Installation" href="installation.html" /> <link href="../_static/style.css" rel="stylesheet" type="text/css"> <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"--> @@ -50,16 +44,21 @@ } </style> + + + <script src="../_static/js/modernizr.min.js"></script> + </head> <body class="wy-body-for-nav"> <div class="wy-grid-for-nav"> + <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> - <div class="wy-side-nav-search" > + <div class="wy-side-nav-search"> @@ -109,7 +108,6 @@ <li class="toctree-l3"><a class="reference internal" href="#io">IO</a></li> </ul> </li> -<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li> <li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li> <li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li> <li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li> @@ -216,18 +214,19 @@ regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 + with the License. You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span class="mf">2.0</span> - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. ---><div class="section" id="software-stack"> -<h1>Software Stack<a class="headerlink" href="#software-stack" title="Permalink to this headline">¶</a></h1> +<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span> +<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span> +<span class="s2">"AS IS"</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span> +<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span> <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span> +<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span> +<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span> +</pre></div> +</div> +<p>â></p> +<div class="section" id="software-stack"> +<span id="software-stack"></span><h1>Software Stack<a class="headerlink" href="#software-stack" title="Permalink to this headline">¶</a></h1> <p>SINGAâs software stack includes three major components, namely, core, IO and model. Figure 1 illustrates these components together with the hardware. The core component provides memory management and tensor operations; @@ -235,10 +234,11 @@ IO has classes for reading (and writing) model component provides data structures and algorithms for machine learning models, e.g., layers for neural network models, optimizers/initializer/metric/loss for general machine learning models.</p> -<img src="../_static/images/singav1-sw.png" align="center" width="500px"/> +<p><img src="../_static/images/singav1-sw.png" align="center" width="500px"/> <br/> -<span><strong>Figure 1 - SINGA V1 software stack.</strong></span><div class="section" id="core"> -<h2>Core<a class="headerlink" href="#core" title="Permalink to this headline">¶</a></h2> +<span><strong>Figure 1 - SINGA V1 software stack.</strong></span></p> +<div class="section" id="core"> +<span id="core"></span><h2>Core<a class="headerlink" href="#core" title="Permalink to this headline">¶</a></h2> <p><a class="reference external" href="tensor.html">Tensor</a> and <a class="reference external" href="device.html">Device</a> are two core abstractions in SINGA. Tensor class represents a multi-dimensional array, which stores model variables and provides linear algebra operations for machine learning @@ -250,19 +250,19 @@ tensor operations on its execution units <p>Depending on the hardware and the programming language, SINGA have implemented the following specific device classes:</p> <ul class="simple"> -<li><p><strong>CudaGPU</strong> represents an Nvidia GPU card. The execution units are the CUDA streams.</p></li> -<li><p><strong>CppCPU</strong> represents a normal CPU. The execution units are the CPU threads.</p></li> -<li><p><strong>OpenclGPU</strong> represents normal GPU card from both Nvidia and AMD. +<li><strong>CudaGPU</strong> represents an Nvidia GPU card. The execution units are the CUDA streams.</li> +<li><strong>CppCPU</strong> represents a normal CPU. The execution units are the CPU threads.</li> +<li><strong>OpenclGPU</strong> represents normal GPU card from both Nvidia and AMD. The execution units are the CommandQueues. Given that OpenCL is compatible with many hardware devices, e.g. FPGA and ARM, the OpenclGPU has the potential to be -extended for other devices.</p></li> +extended for other devices.</li> </ul> <p>Different types of devices use different programming languages to write the kernel functions for tensor operations,</p> <ul class="simple"> -<li><p>CppMath (tensor_math_cpp.h) implements the tensor operations using Cpp for CppCPU</p></li> -<li><p>CudaMath (tensor_math_cuda.h) implements the tensor operations using CUDA for CudaGPU</p></li> -<li><p>OpenclMath (tensor_math_opencl.h) implements the tensor operations using OpenCL for OpenclGPU</p></li> +<li>CppMath (tensor_math_cpp.h) implements the tensor operations using Cpp for CppCPU</li> +<li>CudaMath (tensor_math_cuda.h) implements the tensor operations using CUDA for CudaGPU</li> +<li>OpenclMath (tensor_math_opencl.h) implements the tensor operations using OpenCL for OpenclGPU</li> </ul> <p>In addition, different types of data, such as float32 and float16, could be supported by adding the corresponding tensor functions.</p> @@ -282,35 +282,35 @@ manages both operation execution and mem would be described in the <a class="reference external" href="device.html">Device page</a>.</p> </div> <div class="section" id="model"> -<h2>Model<a class="headerlink" href="#model" title="Permalink to this headline">¶</a></h2> +<span id="model"></span><h2>Model<a class="headerlink" href="#model" title="Permalink to this headline">¶</a></h2> <p>On top of the Tensor and Device abstractions, SINGA provides some higher level classes for machine learning modules.</p> <ul class="simple"> -<li><p><a class="reference external" href="layer.html">Layer</a> and its subclasses are specific for neural networks. Every layer provides +<li><a class="reference external" href="layer.html">Layer</a> and its subclasses are specific for neural networks. Every layer provides functions for forward propagating features and backward propagating gradients w.r.t the training loss functions. They wraps the complex layer operations so that users can easily create neural nets -by connecting a set of layers.</p></li> -<li><p><a class="reference external" href="initializer.html">Initializer</a> and its subclasses provide variant methods of initializing -model parameters (stored in Tensor instances), following Uniform, Gaussian, etc.</p></li> -<li><p><a class="reference external" href="loss.html">Loss</a> and its subclasses defines the training objective loss functions. +by connecting a set of layers.</li> +<li><a class="reference external" href="initializer.html">Initializer</a> and its subclasses provide variant methods of initializing +model parameters (stored in Tensor instances), following Uniform, Gaussian, etc.</li> +<li><a class="reference external" href="loss.html">Loss</a> and its subclasses defines the training objective loss functions. Both functions of computing the loss values and computing the gradient of the prediction w.r.t the -objective loss are implemented. Example loss functions include squared error and cross entropy.</p></li> -<li><p><a class="reference external" href="metric.html">Metric</a> and its subclasses provide the function to measure the -performance of the model, e.g., the accuracy.</p></li> -<li><p><a class="reference external" href="optimizer.html">Optimizer</a> and its subclasses implement the methods for updating -model parameter values using parameter gradients, including SGD, AdaGrad, RMSProp etc.</p></li> +objective loss are implemented. Example loss functions include squared error and cross entropy.</li> +<li><a class="reference external" href="metric.html">Metric</a> and its subclasses provide the function to measure the +performance of the model, e.g., the accuracy.</li> +<li><a class="reference external" href="optimizer.html">Optimizer</a> and its subclasses implement the methods for updating +model parameter values using parameter gradients, including SGD, AdaGrad, RMSProp etc.</li> </ul> </div> <div class="section" id="io"> -<h2>IO<a class="headerlink" href="#io" title="Permalink to this headline">¶</a></h2> +<span id="io"></span><h2>IO<a class="headerlink" href="#io" title="Permalink to this headline">¶</a></h2> <p>The IO module consists of classes for data loading, data preprocessing and message passing.</p> <ul class="simple"> -<li><p>Reader and its subclasses load string records from disk files</p></li> -<li><p>Writer and its subclasses write string records to disk files</p></li> -<li><p>Encoder and its subclasses encode Tensor instances into string records</p></li> -<li><p>Decoder and its subclasses decodes string records into Tensor instances</p></li> -<li><p>Endpoint represents a communication endpoint which provides functions for passing messages to each other.</p></li> -<li><p>Message represents communication messages between Endpoint instances. It carries both meta data and payload.</p></li> +<li>Reader and its subclasses load string records from disk files</li> +<li>Writer and its subclasses write string records to disk files</li> +<li>Encoder and its subclasses encode Tensor instances into string records</li> +<li>Decoder and its subclasses decodes string records into Tensor instances</li> +<li>Endpoint represents a communication endpoint which provides functions for passing messages to each other.</li> +<li>Message represents communication messages between Endpoint instances. It carries both meta data and payload.</li> </ul> </div> </div> @@ -323,10 +323,10 @@ model parameter values using parameter g <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> - <a href="benchmark.html" class="btn btn-neutral float-right" title="Benchmark for Distributed training" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> + <a href="device.html" class="btn btn-neutral float-right" title="Device" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> - <a href="installation.html" class="btn btn-neutral float-left" title="Installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> + <a href="installation.html" class="btn btn-neutral" title="Installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> @@ -335,7 +335,7 @@ model parameter values using parameter g <div role="contentinfo"> <p> - © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners. + © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.. </p> </div> @@ -352,17 +352,36 @@ model parameter values using parameter g + + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT:'../', + VERSION:'1.1.0', + LANGUAGE:'None', + COLLAPSE_INDEX:false, + FILE_SUFFIX:'.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt' + }; + </script> + <script type="text/javascript" src="../_static/jquery.js"></script> + <script type="text/javascript" src="../_static/underscore.js"></script> + <script type="text/javascript" src="../_static/doctools.js"></script> + + + + + + <script type="text/javascript" src="../_static/js/theme.js"></script> + + <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> - - - - - <div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions"> <span class="rst-current-version" data-toggle="rst-current-version"> <span class="fa fa-book"> incubator-singa </span>
