Author: buildbot
Date: Wed Sep  2 10:31:57 2015
New Revision: 964016

Log:
Staging update by buildbot for singa

Added:
    websites/staging/singa/trunk/content/docs/neural-net.html
    websites/staging/singa/trunk/content/docs/overview.html
    websites/staging/singa/trunk/content/docs/param.html
    websites/staging/singa/trunk/content/docs/programming-guide.html
    websites/staging/singa/trunk/content/docs/quick-start.html
    websites/staging/singa/trunk/content/docs/train-one-batch.html
    websites/staging/singa/trunk/content/docs/updater.html
Removed:
    websites/staging/singa/trunk/content/docs/datashard.html
    websites/staging/singa/trunk/content/docs/hdfs.html
Modified:
    websites/staging/singa/trunk/content/   (props changed)
    websites/staging/singa/trunk/content/docs/architecture.html
    websites/staging/singa/trunk/content/docs/checkpoint.html
    websites/staging/singa/trunk/content/docs/cnn.html
    websites/staging/singa/trunk/content/docs/code-structure.html
    websites/staging/singa/trunk/content/docs/communication.html
    websites/staging/singa/trunk/content/docs/data.html
    websites/staging/singa/trunk/content/docs/debug.html
    websites/staging/singa/trunk/content/docs/distributed-training.html
    websites/staging/singa/trunk/content/docs/examples.html
    websites/staging/singa/trunk/content/docs/frameworks.html
    websites/staging/singa/trunk/content/docs/installation.html
    websites/staging/singa/trunk/content/docs/layer.html
    websites/staging/singa/trunk/content/docs/lmdb.html
    websites/staging/singa/trunk/content/docs/mlp.html
    websites/staging/singa/trunk/content/docs/model-config.html
    websites/staging/singa/trunk/content/docs/neuralnet-partition.html
    websites/staging/singa/trunk/content/docs/programmer-guide.html
    websites/staging/singa/trunk/content/docs/rbm.html
    websites/staging/singa/trunk/content/docs/rnn.html
    websites/staging/singa/trunk/content/index.html
    websites/staging/singa/trunk/content/introduction.html
    websites/staging/singa/trunk/content/quick-start.html

Propchange: websites/staging/singa/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Sep  2 10:31:57 2015
@@ -1 +1 @@
-1700726
+1700761

Modified: websites/staging/singa/trunk/content/docs/architecture.html
==============================================================================
--- websites/staging/singa/trunk/content/docs/architecture.html (original)
+++ websites/staging/singa/trunk/content/docs/architecture.html Wed Sep  2 
10:31:57 2015
@@ -9,7 +9,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <meta name="Date-Revision-yyyymmdd" content="20150902" />
     <meta http-equiv="Content-Language" content="en" />
-    <title>Apache SINGA &#x2013; </title>
+    <title>Apache SINGA &#x2013; SINGA Architecture</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" />
     <link rel="stylesheet" href="../css/site.css" />
     <link rel="stylesheet" href="../css/print.css" media="print" />
@@ -189,7 +189,7 @@
         Apache SINGA</a>
                     <span class="divider">/</span>
       </li>
-        <li class="active "></li>
+        <li class="active ">SINGA Architecture</li>
         
                 
                     
@@ -423,10 +423,8 @@
                         
         <div id="bodyColumn"  class="span10" >
                                   
-            <p>&#x2014; layout: post title: Architecture category : docs</p>
+            <h1>SINGA Architecture</h1>
 <div class="section">
-<h2><a name="tags_:_architecture"></a>tags : [architecture]</h2>
-<p>{% include JB/setup %}</p>
 <div class="section">
 <h3><a name="Logical_Architecture"></a>Logical Architecture</h3>
 <p><img src="http://singa.incubator.apache.org/assets/image/logical.png"; 
style="width: 550px" alt="" /> 

Modified: websites/staging/singa/trunk/content/docs/checkpoint.html
==============================================================================
--- websites/staging/singa/trunk/content/docs/checkpoint.html (original)
+++ websites/staging/singa/trunk/content/docs/checkpoint.html Wed Sep  2 
10:31:57 2015
@@ -9,7 +9,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <meta name="Date-Revision-yyyymmdd" content="20150902" />
     <meta http-equiv="Content-Language" content="en" />
-    <title>Apache SINGA &#x2013; </title>
+    <title>Apache SINGA &#x2013; CheckPoint</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" />
     <link rel="stylesheet" href="../css/site.css" />
     <link rel="stylesheet" href="../css/print.css" media="print" />
@@ -189,7 +189,7 @@
         Apache SINGA</a>
                     <span class="divider">/</span>
       </li>
-        <li class="active "></li>
+        <li class="active ">CheckPoint</li>
         
                 
                     
@@ -423,10 +423,7 @@
                         
         <div id="bodyColumn"  class="span10" >
                                   
-            <p>&#x2014; layout: post title: Checkpoint and Resume category : 
docs</p>
-<div class="section">
-<h2><a name="tags_:_checkpoint_restore"></a>tags : [checkpoint, restore]</h2>
-<p>{% include JB/setup %}</p>
+            <h1>CheckPoint</h1>
 <p>SINGA checkpoints model parameters onto disk periodically according to user 
configured frequency. By checkpointing model parameters, we can</p>
 
 <ol style="list-style-type: decimal">
@@ -436,7 +433,7 @@
   
 <li>
 <p>use them to initialize a similar model. For example, the parameters from 
training a RBM model can be used to initialize a <a class="externalLink" 
href="http://singa.incubator.apache.org/docs/rbm";>deep auto-encoder</a> 
model.</p></li>
-</ol></div>
+</ol>
 <div class="section">
 <h2><a name="Configuration"></a>Configuration</h2>
 <p>Checkpointing is controlled by two configuration fields:</p>

Modified: websites/staging/singa/trunk/content/docs/cnn.html
==============================================================================
--- websites/staging/singa/trunk/content/docs/cnn.html (original)
+++ websites/staging/singa/trunk/content/docs/cnn.html Wed Sep  2 10:31:57 2015
@@ -9,7 +9,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <meta name="Date-Revision-yyyymmdd" content="20150902" />
     <meta http-equiv="Content-Language" content="en" />
-    <title>Apache SINGA &#x2013; </title>
+    <title>Apache SINGA &#x2013; CNN Example</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" />
     <link rel="stylesheet" href="../css/site.css" />
     <link rel="stylesheet" href="../css/print.css" media="print" />
@@ -189,7 +189,7 @@
         Apache SINGA</a>
                     <span class="divider">/</span>
       </li>
-        <li class="active "></li>
+        <li class="active ">CNN Example</li>
         
                 
                     
@@ -425,11 +425,8 @@
                         
         <div id="bodyColumn"  class="span10" >
                                   
-            <p>&#x2014; layout: post title: Example &#x2014; Convolution 
Neural Network category : docs</p>
-<div class="section">
-<h2><a name="tags_:_cnn_example"></a>tags : [cnn, example]</h2>
-<p>{% include JB/setup %}</p>
-<p>Convolutional neural network (CNN) is a type of feed-forward artificial 
neural network widely used for image and video classification. In this example, 
we will use a deep CNN model to do image classification for the <a 
class="externalLink" href="http://www.cs.toronto.edu/~kriz/cifar.html";>CIFAR10 
dataset</a>.</p></div>
+            <h1>CNN Example</h1>
+<p>Convolutional neural network (CNN) is a type of feed-forward artificial 
neural network widely used for image and video classification. In this example, 
we will use a deep CNN model to do image classification for the <a 
class="externalLink" href="http://www.cs.toronto.edu/~kriz/cifar.html";>CIFAR10 
dataset</a>.</p>
 <div class="section">
 <h2><a name="Running_instructions"></a>Running instructions</h2>
 <p>Please refer to the <a class="externalLink" 
href="http://singa.incubator.apache.org/docs/installation";>installation</a> 
page for instructions on building SINGA, and the <a class="externalLink" 
href="http://singa.incubator.apache.org/docs/quick-start";>quick start</a> for 
instructions on starting zookeeper.</p>

Modified: websites/staging/singa/trunk/content/docs/code-structure.html
==============================================================================
--- websites/staging/singa/trunk/content/docs/code-structure.html (original)
+++ websites/staging/singa/trunk/content/docs/code-structure.html Wed Sep  2 
10:31:57 2015
@@ -425,8 +425,7 @@
                         
         <div id="bodyColumn"  class="span10" >
                                   
-            <div class="section">
-<h2><a name="Code_Structure"></a>Code Structure</h2>
+            <h1>Code Structure</h1>
 <hr />
 <!-- ### Worker Side
 
@@ -495,7 +494,7 @@ The figure above shows how a GET request
 table server. The control flow for other types of requests is similar. At
 the server side, there are at least 3 threads running at any time: two by
 NetworkService for sending and receiving message, and at least one by the
-RequestDispatcher for dispatching requests. --></div>
+RequestDispatcher for dispatching requests. -->
                   </div>
             </div>
           </div>

Modified: websites/staging/singa/trunk/content/docs/communication.html
==============================================================================
--- websites/staging/singa/trunk/content/docs/communication.html (original)
+++ websites/staging/singa/trunk/content/docs/communication.html Wed Sep  2 
10:31:57 2015
@@ -9,7 +9,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <meta name="Date-Revision-yyyymmdd" content="20150902" />
     <meta http-equiv="Content-Language" content="en" />
-    <title>Apache SINGA &#x2013; </title>
+    <title>Apache SINGA &#x2013; Communication</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" />
     <link rel="stylesheet" href="../css/site.css" />
     <link rel="stylesheet" href="../css/print.css" media="print" />
@@ -189,7 +189,7 @@
         Apache SINGA</a>
                     <span class="divider">/</span>
       </li>
-        <li class="active "></li>
+        <li class="active ">Communication</li>
         
                 
                     
@@ -423,16 +423,14 @@
                         
         <div id="bodyColumn"  class="span10" >
                                   
-            <p>&#x2014; layout: post title: Communication category : docs</p>
-<div class="section">
-<h2><a name="tags_:_rnn_example"></a>tags : [rnn, example]</h2>
-<p>{% include JB/setup %}</p>
+            <h1>Communication</h1>
 <p>Different messaging libraries has different benefits and drawbacks. For 
instance, MPI provides fast message passing between GPUs (using GPUDirect), but 
does not support fault-tolerance well. On the contrary, systems using ZeroMQ 
can be fault-tolerant, but does not support GPUDirect. The AllReduce function 
of MPI is also missing in ZeroMQ which is efficient for data aggregation for 
distributed training. In Singa, we provide general messaging APIs for 
communication between threads within a process and across processes, and let 
users choose the underlying implementation (MPI or ZeroMQ) that meets their 
requirements.</p>
 <p>Singa&#x2019;s messaging library consists of two components, namely the 
message, and the socket to send and receive messages. <b>Socket</b> refers to a 
Singa defined data structure instead of the Linux Socket. We will introduce the 
two components in detail with the following figure as an example 
architecture.</p>
 <p><img src="../images/arch/arch2.png" style="width: 550px" alt="" /> <img 
src="../images/arch/comm.png" style="width: 550px" alt="" /> 
 <p><b> Fig.1 - Example physical architecture and network connection</b></p>
 <p>Fig.1 shows an example physical architecture and its network connection. <a 
class="externalLink" 
href="http://singa.incubator.apache.org/docs/architecture.html}";>Section-partition
 server side ParamShard</a> has a detailed description of the architecture. 
Each process consists of one main thread running the stub and multiple 
background threads running the worker and server tasks. The stub of the main 
thread forwards messages among threads . The worker and server tasks are 
performed by the background threads.</p>
 <div class="section">
+<div class="section">
 <h3><a name="Message"></a>Message</h3>
 <p><object type="image/svg+xml" style="width: 100px" data="../images/msg.svg"> 
Not supported </object> 
 <p><b> Fig.2 - Logical message format</b></p>

Modified: websites/staging/singa/trunk/content/docs/data.html
==============================================================================
--- websites/staging/singa/trunk/content/docs/data.html (original)
+++ websites/staging/singa/trunk/content/docs/data.html Wed Sep  2 10:31:57 2015
@@ -0,0 +1,643 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia at 2015-09-02 
+ | Rendered using Apache Maven Fluido Skin 1.4
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="Date-Revision-yyyymmdd" content="20150902" />
+    <meta http-equiv="Content-Language" content="en" />
+    <title>Apache SINGA &#x2013; Data Preparation</title>
+    <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" />
+    <link rel="stylesheet" href="../css/site.css" />
+    <link rel="stylesheet" href="../css/print.css" media="print" />
+
+      
+    
+    
+  
+    <script type="text/javascript" 
src="../js/apache-maven-fluido-1.4.min.js"></script>
+
+    
+                  </head>
+        <body class="topBarEnabled">
+          
+    
+    
+            
+    
+        
+    <a href="https://github.com/apache/incubator-singa";>
+      <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 
10000;"
+        
src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png";
+        alt="Fork me on GitHub">
+    </a>
+  
+                
+                    
+                
+
+    <div id="topbar" class="navbar navbar-fixed-top navbar-inverse">
+      <div class="navbar-inner">
+                <div class="container-fluid">
+        <a data-target=".nav-collapse" data-toggle="collapse" class="btn 
btn-navbar">
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </a>
+                
+                                <ul class="nav">
+                          <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache 
SINGA <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="../index.html"  
title="Welcome">Welcome</a>
+</li>
+                  
+                      <li>      <a href="../introduction.html"  
title="Introduction">Introduction</a>
+</li>
+                  
+                      <li>      <a href="../quick-start.html"  title="Quick 
Start">Quick Start</a>
+</li>
+                          </ul>
+      </li>
+                <li class="dropdown">
+        <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Documentaion <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="../docs/installation.html"  
title="Installation">Installation</a>
+</li>
+                  
+                      <li class="dropdown-submenu">
+                                      <a href="../docs/programmer-guide.html"  
title="Programmer Guide">Programmer Guide</a>
+              <ul class="dropdown-menu">
+                                  <li>      <a 
href="../docs/model-config.html"  title="Model Configuration">Model 
Configuration</a>
+</li>
+                                  <li>      <a href="../docs/neuralnet.html"  
title="Neural Network">Neural Network</a>
+</li>
+                                  <li>      <a href="../docs/layer.html"  
title="Layer">Layer</a>
+</li>
+                                  <li>      <a href="../docs/param.html"  
title="Param">Param</a>
+</li>
+                              </ul>
+            </li>
+                  
+                      <li class="dropdown-submenu">
+                                      <a 
href="../docs/distributed-training.html"  title="Distributed 
Training">Distributed Training</a>
+              <ul class="dropdown-menu">
+                                  <li>      <a 
href="../docs/architecture.html"  title="System Architecture">System 
Architecture</a>
+</li>
+                                  <li>      <a href="../docs/frameworks.html"  
title="Frameworks">Frameworks</a>
+</li>
+                                  <li>      <a 
href="../docs/communication.html"  title="Communication">Communication</a>
+</li>
+                              </ul>
+            </li>
+                  
+                      <li>      <a href="../docs/data.html"  title="Data 
Preparation">Data Preparation</a>
+</li>
+                  
+                      <li>      <a href="../docs/checkpoint.html"  
title="Checkpoint">Checkpoint</a>
+</li>
+                  
+                      <li>      <a href="../docs/examples.html"  
title="Examples">Examples</a>
+</li>
+                  
+                      <li>      <a href="../docs/debug.html"  
title="Debug">Debug</a>
+</li>
+                          </ul>
+      </li>
+                <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development 
<b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="../develop/schedule.html"  
title="Schedule">Schedule</a>
+</li>
+                  
+                      <li class="dropdown-submenu">
+                                      <a href="../develop/how-contribute.html" 
 title="How to Contribute">How to Contribute</a>
+              <ul class="dropdown-menu">
+                                  <li>      <a 
href="../develop/contribute-code.html"  title="Code">Code</a>
+</li>
+                                  <li>      <a 
href="../develop/contribute-docs.html"  title="Documentation">Documentation</a>
+</li>
+                              </ul>
+            </li>
+                          </ul>
+      </li>
+                <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Community 
<b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="../community/source-repository.html"  
title="Source Repository">Source Repository</a>
+</li>
+                  
+                      <li>      <a href="../community/mail-lists.html"  
title="Mailing Lists">Mailing Lists</a>
+</li>
+                  
+                      <li>      <a href="../community/issue-tracking.html"  
title="Issue Tracking">Issue Tracking</a>
+</li>
+                  
+                      <li>      <a href="../community/team-list.html"  
title="SINGA Team">SINGA Team</a>
+</li>
+                          </ul>
+      </li>
+                <li class="dropdown">
+        <a href="#" class="dropdown-toggle" data-toggle="dropdown">External 
Links <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+        
+                      <li>      <a href="http://www.apache.org/";  
title="Apache Software Foundation">Apache Software Foundation</a>
+</li>
+                  
+                      <li>      <a 
href="http://www.comp.nus.edu.sg/~dbsystem/singa/";  title="NUS School of 
Computing">NUS School of Computing</a>
+</li>
+                          </ul>
+      </li>
+                  </ul>
+          
+          
+          
+                   
+                      </div>
+          
+        </div>
+      </div>
+    </div>
+    
+        <div class="container-fluid">
+          <div id="banner">
+        <div class="pull-left">
+                                                  <a href="../index.html" 
id="bannerLeft" title="Apache SINGA">
+                                                                               
                 <img src="../images/singa-logo.png"  alt="Apache SINGA"/>
+                </a>
+                      </div>
+        <div class="pull-right">              <div id="bannerRight">
+                                                                               
                 <img src="../images/singa-title.png"  alt="Apache SINGA"/>
+                </div>
+      </div>
+        <div class="clear"><hr/></div>
+      </div>
+
+      <div id="breadcrumbs">
+        <ul class="breadcrumb">
+                
+                    
+                              <li class="">
+                    <a href="../index.html" title="Apache SINGA">
+        Apache SINGA</a>
+                    <span class="divider">/</span>
+      </li>
+        <li class="active ">Data Preparation</li>
+        
+                
+                    
+      
+                            </ul>
+      </div>
+
+                  
+      <div class="row-fluid">
+        <div id="leftColumn" class="span2">
+          <div class="well sidebar-nav">
+                
+                    
+                <ul class="nav nav-list">
+                    <li class="nav-header">Apache SINGA</li>
+                              
+      <li>
+  
+                          <a href="../index.html" title="Welcome">
+          <span class="none"></span>
+        Welcome</a>
+            </li>
+                
+      <li>
+  
+                          <a href="../introduction.html" title="Introduction">
+          <span class="none"></span>
+        Introduction</a>
+            </li>
+                
+      <li>
+  
+                          <a href="../quick-start.html" title="Quick Start">
+          <span class="none"></span>
+        Quick Start</a>
+            </li>
+                              <li class="nav-header">Documentaion</li>
+                              
+      <li>
+  
+                          <a href="../docs/installation.html" 
title="Installation">
+          <span class="none"></span>
+        Installation</a>
+            </li>
+                                                                               
                                   
+      <li>
+  
+                          <a href="../docs/programmer-guide.html" 
title="Programmer Guide">
+          <span class="icon-chevron-down"></span>
+        Programmer Guide</a>
+                    <ul class="nav nav-list">
+                    
+      <li>
+  
+                          <a href="../docs/model-config.html" title="Model 
Configuration">
+          <span class="none"></span>
+        Model Configuration</a>
+            </li>
+                    
+      <li>
+  
+                          <a href="../docs/neuralnet.html" title="Neural 
Network">
+          <span class="none"></span>
+        Neural Network</a>
+            </li>
+                    
+      <li>
+  
+                          <a href="../docs/layer.html" title="Layer">
+          <span class="none"></span>
+        Layer</a>
+            </li>
+                    
+      <li>
+  
+                          <a href="../docs/param.html" title="Param">
+          <span class="none"></span>
+        Param</a>
+            </li>
+              </ul>
+        </li>
+                                                                               
                 
+      <li>
+  
+                          <a href="../docs/distributed-training.html" 
title="Distributed Training">
+          <span class="icon-chevron-down"></span>
+        Distributed Training</a>
+                    <ul class="nav nav-list">
+                    
+      <li>
+  
+                          <a href="../docs/architecture.html" title="System 
Architecture">
+          <span class="none"></span>
+        System Architecture</a>
+            </li>
+                    
+      <li>
+  
+                          <a href="../docs/frameworks.html" title="Frameworks">
+          <span class="none"></span>
+        Frameworks</a>
+            </li>
+                    
+      <li>
+  
+                          <a href="../docs/communication.html" 
title="Communication">
+          <span class="none"></span>
+        Communication</a>
+            </li>
+              </ul>
+        </li>
+                
+      <li class="active">
+  
+            <a href="#"><span class="none"></span>Data Preparation</a>
+          </li>
+                
+      <li>
+  
+                          <a href="../docs/checkpoint.html" title="Checkpoint">
+          <span class="none"></span>
+        Checkpoint</a>
+            </li>
+                
+      <li>
+  
+                          <a href="../docs/examples.html" title="Examples">
+          <span class="none"></span>
+        Examples</a>
+            </li>
+                
+      <li>
+  
+                          <a href="../docs/debug.html" title="Debug">
+          <span class="none"></span>
+        Debug</a>
+            </li>
+                              <li class="nav-header">Development</li>
+                              
+      <li>
+  
+                          <a href="../develop/schedule.html" title="Schedule">
+          <span class="none"></span>
+        Schedule</a>
+            </li>
+                                                                              
+      <li>
+  
+                          <a href="../develop/how-contribute.html" title="How 
to Contribute">
+          <span class="icon-chevron-down"></span>
+        How to Contribute</a>
+                    <ul class="nav nav-list">
+                    
+      <li>
+  
+                          <a href="../develop/contribute-code.html" 
title="Code">
+          <span class="none"></span>
+        Code</a>
+            </li>
+                    
+      <li>
+  
+                          <a href="../develop/contribute-docs.html" 
title="Documentation">
+          <span class="none"></span>
+        Documentation</a>
+            </li>
+              </ul>
+        </li>
+                              <li class="nav-header">Community</li>
+                              
+      <li>
+  
+                          <a href="../community/source-repository.html" 
title="Source Repository">
+          <span class="none"></span>
+        Source Repository</a>
+            </li>
+                
+      <li>
+  
+                          <a href="../community/mail-lists.html" 
title="Mailing Lists">
+          <span class="none"></span>
+        Mailing Lists</a>
+            </li>
+                
+      <li>
+  
+                          <a href="../community/issue-tracking.html" 
title="Issue Tracking">
+          <span class="none"></span>
+        Issue Tracking</a>
+            </li>
+                
+      <li>
+  
+                          <a href="../community/team-list.html" title="SINGA 
Team">
+          <span class="none"></span>
+        SINGA Team</a>
+            </li>
+                              <li class="nav-header">External Links</li>
+                              
+      <li>
+  
+                          <a href="http://www.apache.org/"; 
class="externalLink" title="Apache Software Foundation">
+          <span class="none"></span>
+        Apache Software Foundation</a>
+            </li>
+                
+      <li>
+  
+                          <a 
href="http://www.comp.nus.edu.sg/~dbsystem/singa/"; class="externalLink" 
title="NUS School of Computing">
+          <span class="none"></span>
+        NUS School of Computing</a>
+            </li>
+            </ul>
+                
+                    
+                
+          <hr />
+
+           <div id="poweredBy">
+                            <div class="clear"></div>
+                            <div class="clear"></div>
+                            <div class="clear"></div>
+                            <div class="clear"></div>
+                                                                               
                                    <a href="http://incubator.apache.org"; 
title="apache-incubator" class="builtBy">
+        <img class="builtBy"  alt="Apache Incubator" 
src="http://incubator.apache.org/images/egg-logo.png";    />
+      </a>
+                      </div>
+          </div>
+        </div>
+        
+                        
+        <div id="bodyColumn"  class="span10" >
+                                  
+            <h1>Data Preparation</h1>
+<p>To submit a training job, users need to convert raw data (e.g., images, 
text documents) into SINGA recognizable <a 
href="api/classsinga_1_1Record.html">Record</a>s. SINGA uses <a 
class="externalLink" 
href="http://singa.incubator.apache.org/docs/layer#data-layers";>data layers</a> 
to load these records into memory and uses <a class="externalLink" 
href="http://singa.incubator.apache.org/docs/layer#parser-layers";>parser 
layers</a> to parse features (e.g., image pixels and labels) from these 
<tt>Record</tt>s. <tt>Record</tt>s could be stored in a file, a database, or 
HDFS, as long as there is a corresponding <a class="externalLink" 
href="http://singa.incubator.apache.org/api/classsinga_1_1DataLayer.html";>DataLayer</a>.</p>
+<div class="section">
+<h2><a name="DataShard"></a>DataShard</h2>
+<p>SINGA comes with a light-weight database named <a class="externalLink" 
href="http://singa.incubator.apache.org/api/classsinga_1_1DataShard.html";>DataShard</a>.
 It provides operations for inserting <tt>Record</tt>, and read <tt>Record</tt> 
in sequential order. <tt>Record</tt>s are flushed once the maximum cache size 
is reached. It loads <tt>Record</tt>s in batch and returns them to users one by 
one through the <a class="externalLink" 
href="http://singa.incubator.apache.org/api/classsinga_1_1DataShard.html";>Next</a>
 function. The disk folder in which the <tt>Record</tt>s are stored, is called 
a (data) shard. The <a class="externalLink" 
href="http://singa.incubator.apache.org/api/classsinga_1_1ShardDataLayer.html";>ShardDataLayer</a>
 is a built-in layer for loading <tt>Record</tt>s from <tt>DataShard</tt>.</p>
+<p>To create data shards for users&#x2019; own data, they can follow the 
subsequent sections.</p>
+<div class="section">
+<h3><a name="User_record_definition"></a>User record definition</h3>
+<p>Users define their own record for storing their data. E.g., the built-in <a 
class="externalLink" 
href="http://singa.incubator.apache.org/api/classsinga_1_1SingleLabelImageRecord.html";>SingleLabelImageRecord</a>
 has an int field for image label, and a pixel array for image RGB values. The 
code below shows an example of defining a new record <tt>UserRecord</tt>, and 
extending the base <tt>Record</tt> to include <tt>UserRecord</tt>.</p>
+
+<div class="source">
+<div class="source"><pre class="prettyprint">package singa;
+
+import &quot;common.proto&quot;;  // required to import common.proto
+
+message UserRecord {
+    repeated int userVAR1 = 1;    // unique field id
+    optional string userVAR2 = 2; // unique field id
+    ...
+}
+
+extend Record {
+    optional UserRecord user_record = 101;  // unique extension field id, 
reserved for users (e.g., 101-200)
+}
+</pre></div></div>
+<p>Please refer to the <a class="externalLink" 
href="https://developers.google.com/protocol-buffers/docs/reference/cpp-generated?hl=en#extension";>Tutorial</a>
 for extension of protocol messages.</p>
+<p>The extended <tt>Record</tt> will be parsed by a parser layer to extract 
features (e.g., label or pixel values). Users need to write their own <a 
class="externalLink" 
href="http://singa.incubator.apache.org/docs/layer#parser-layers";>parser 
layers</a> to parse the extended <tt>Record</tt>.</p>
+<p>{% comment %} <i>Note</i></p>
+<p>There is an alternative way to define the proto extension. In this way, you 
should be careful of the scope of fields and how to access the fields, which 
are different from the above.</p>
+
+<div class="source">
+<div class="source"><pre class="prettyprint">message UserRecord {
+    extend Record {
+        optional UserRecord user_record = 101;  // unique extension field id, 
reserved for users (e.g., 101-200)
+    }
+    repeated int userVAR1 = 1; // unique field id
+    optional string userVAR2 = 2; // unique field id
+    ...
+}
+</pre></div></div>
+<p>{% endcomment %}</p></div>
+<div class="section">
+<h3><a name="DataShard_creation"></a>DataShard creation</h3>
+<p>Users write code to convert their data into <tt>Record</tt>s and insert 
them into shards following the subsequent steps.</p>
+
+<ol style="list-style-type: decimal">
+  
+<li>
+<p>Create a folder <i>USER_DATA</i> under <i>SINGA_ROOT</i>.</p></li>
+  
+<li>
+<p>Prepare the source file, e.g., <tt>create_shard.cc</tt>, in 
<tt>SINGA_ROOT/USER_DATA</tt></p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint">singa::DataShard 
myShard(outputpath, kCreate);
+// outputpath is the path of the folder for storing the shard
+</pre></div></div>
+<p>the above code opens a folder for storing the data shard.</p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint">singa::Record record;
+singa::UserRecord* r = record.MutableExtension(singa::user_record);
+</pre></div></div>
+<p>an user-defined record is allocated by the above code.</p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint">r-&gt;add_userVAR1( int_val );    
 // for repeated field
+r-&gt;set_userVAR2( string_val );
+</pre></div></div>
+<p>users load raw data and set/add them into user-defined record as shown 
above.</p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint">// key (string) is a unique 
record ID (e.g., converted from a number starting from 0)
+myShard.Insert( key, record );
+</pre></div></div>
+<p>Once the <tt>record</tt> object is filled, it is inserted into the shard as 
shown above. If there are multiple data records, they should be inserted 
sequentially. After inserting all records, the shard is created into the 
<tt>outputpath</tt> folder.</p></li>
+  
+<li>
+<p>Compile and link. Both <i>user.proto</i> and <i>create.cc</i> should be 
compiled and linked with libsinga.so.  The following instruction generates 
<i>user.pb.cc</i> and <i>user.pb.h</i> from <i>user.proto</i>.</p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint">protoc -I=SINGA_ROOT/USER_DATA 
--cpp_out=SINGA_ROOT/USER_DATA user.proto
+</pre></div></div>
+<p>All code can be compiled and linked into an executable file</p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint">g++ create_shard.cc user.pb.cc 
-std=c++11 -lsinga \
+  -ISINGA_ROOT/include -LSINGA_ROOT/.libs/ 
-Wl,-unresolved-symbols=ignore-in-shared-libs \
+
+  -Wl,-rpath=SINGA_ROOT/.libs/  -o create_shard.bin
+</pre></div></div></li>
+</ol>
+
+<ol style="list-style-type: decimal">
+  
+<li>
+<p>Run the program. Once the executable file is generated, users can run it to 
create data shards.</p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint">./create_shard.bin  &lt;args&gt;
+</pre></div></div></li>
+</ol></div>
+<div class="section">
+<h3><a name="Example_-_CIFAR_dataset"></a>Example - CIFAR dataset</h3>
+<p>This example uses the <a class="externalLink" 
href="http://www.cs.toronto.edu/~kriz/cifar.html";>CIFAR-10 image dataset</a> 
collected by Alex Krizhevsky. It consists of 60,000 32x32 color images in 10 
classes, with 6,000 images per class. There are 50,000 training images and 
10,000 test images. Each image has a single label. This dataset is stored in 
binary files with specific format. SINGA has written the <a 
class="externalLink" 
href="https://github.com/apache/incubator-singa/blob/master/examples/cifar10/create_shard.cc";>create_shard.cc</a>
 to convert images in the binary files into <tt>Record</tt>s and insert them 
into training and test shards.</p>
+
+<ol style="list-style-type: decimal">
+  
+<li>
+<p>Download raw data. The following command will download the dataset into 
<i>cifar-10-batches-bin</i> folder.</p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint"># in SINGA_ROOT/examples/cifar10
+$ cp Makefile.example Makefile   // an example makefile is provided
+$ make download
+</pre></div></div></li>
+  
+<li>
+<p>Since <tt>Record</tt> already has one <tt>image</tt> field which is 
designed for  single-label images, e.g., images from CIFAR10, we can use it 
directly.  Particularly, the type of <tt>image</tt> is 
<tt>SingleLabelImageRecord</tt>,</p></li>
+</ol>
+
+<div class="source">
+<div class="source"><pre class="prettyprint">    # common.proto
+    package singa;
+
+    message Record {
+      enum Type {
+        kSingleLabelImage = 0;
+      }
+      optional Type type = 1 [default = kSingleLabelImage];
+      optional SingleLabelImageRecord image = 2;   // for configuration
+    }
+
+    message SingleLabelImageRecord {
+      repeated int32 shape = 1;                // it obtains 3 (rgb channels), 
32 (row), 32 (col)
+      optional int32 label = 2;                // label
+      optional bytes pixel = 3;                // pixels
+      repeated float data = 4 [packed = true]; // it is used for normalization
+    }
+</pre></div></div>
+
+<ol style="list-style-type: decimal">
+  
+<li>
+<p>Add/Set data into the record, and insert it to shard. 
<tt>create_shard.cc</tt> reads images (and labels) from the downloaded binary 
files. For each image, it puts the image feature and label into a 
<tt>SingleLabelImageRecord</tt> of <tt>Record</tt>, and then inserts the 
<tt>Record</tt> into <tt>DataShard</tt>.</p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint">  ...// open binary files
+DataShard train_shard(&quot;cifar10_train_datashard&quot;, DataShard::kCreate);
+
+singa::Record record;
+singa::SingleLabelImageRecord* image = record.mutable_image();;
+for (int image_id = 0; image_id &lt; 50000; image_id ++) {
+      read_image(&amp;data_file, &amp;label, str_buffer);  // read feature and 
label from binary file
+      image-&gt;set_label(label);  // put label
+      image-&gt;set_pixel(str_buffer);  // put image feature
+      train_shard.Insert(to_string(image_id), record);  // insert a record 
with unique ID
+}
+</pre></div></div>
+<p>The data shard for testing data is created similarly. In addition, it 
computes average values (not shown here) of image pixels as another 
<tt>Record</tt> which is directly serialized into 
<i>SINGA_ROOT/USER_DATA/image_mean.bin</i>. The mean values will be used for 
preprocessing image features.</p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint">for (int itemid = 0; itemid &lt; 
kCIFARBatchSize; ++itemid) {
+  const string&amp; pixels = image-&gt;pixel();
+  for(int i=0; i&lt;kCIFARImageNBytes; i++)
+    mean.set_data(i, mean.data(i)+static_cast&lt;uint8_t&gt;(pixels[i]));
+  count += 1;
+}
+for(int i=0; i&lt;kCIFARImageNBytes; i++)
+  mean.set_data(i, mean.data(i)/count);
+</pre></div></div></li>
+  
+<li>
+<p>Compile and run the program. SINGA provides an example Makefile that 
contains instructions for compiling the source code and linking it with 
<i>libsinga.so</i>. Users just execute the following command.</p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint">$ make create
+</pre></div></div>
+<p>The data shards for training and testing will be generated into 
<i>cifar10_train_shard</i> and <i>cifar10_test_shard</i> folders 
respectively.</p></li>
+</ol></div>
+<div class="section">
+<h3><a name="Example_-_MNIST_dataset"></a>Example - MNIST dataset</h3>
+<p>This example creates <tt>DataShard</tt>s for the <a class="externalLink" 
href="http://yann.lecun.com/exdb/mnist/";>MNIST dataset</a>. It has a training 
set of 60,000 handwritten digit images, and a test set of 10,000 images. 
Similar to the images of CIFAR10, each MNIST image has a single label. Hence, 
we still use the built-in <tt>Record</tt>. The process is almost the same as 
that for the CIFAR10 dataset, except that the MNIST dataset is downloaded as 
binary files with another format. SINGA has written the <i>create_shard.cc</i> 
program to parse the binary files and convert MNIST images into 
<tt>Record</tt>s.</p>
+<p>The following command will download the dataset</p>
+
+<div class="source">
+<div class="source"><pre class="prettyprint">$ cp Makefile.example Makefile   
// an example makefile is provided
+$ make download
+</pre></div></div>
+<p>Data shards will be generated into <i>mnist_train_shard</i> and 
<i>mnist_test_shard</i> by</p>
+
+<div class="source">
+<div class="source"><pre class="prettyprint">$ make create
+</pre></div></div></div></div>
+<div class="section">
+<h2><a name="LMDB"></a>LMDB</h2>
+<p>To be filled soon.</p></div>
+<div class="section">
+<h2><a name="HDFS"></a>HDFS</h2>
+<p>To be filled soon.</p></div>
+                  </div>
+            </div>
+          </div>
+
+    <hr/>
+
+    <footer>
+            <div class="container-fluid">
+                      <div class="row-fluid">
+                                                                          
+<p>Copyright © 2015 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>
+
+        
+                </div>
+    </footer>
+        </body>
+</html>

Modified: websites/staging/singa/trunk/content/docs/debug.html
==============================================================================
--- websites/staging/singa/trunk/content/docs/debug.html (original)
+++ websites/staging/singa/trunk/content/docs/debug.html Wed Sep  2 10:31:57 
2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2015-08-17 
+ | Generated by Apache Maven Doxia at 2015-09-02 
  | Rendered using Apache Maven Fluido Skin 1.4
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150817" />
+    <meta name="Date-Revision-yyyymmdd" content="20150902" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache SINGA &#x2013; How to Debug</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" />
@@ -423,10 +423,10 @@
                         
         <div id="bodyColumn"  class="span10" >
                                   
-            <div class="section">
-<h2><a name="How_to_Debug"></a>How to Debug</h2>
+            <h1>How to Debug</h1>
 <hr />
 <div class="section">
+<div class="section">
 <h3><a name="Compile_with_-g"></a>Compile with -g</h3>
 <p>Since SINGA is developed on Linux using C++, GDB is the preferred debugging 
tool. To use GDB, the code must be compiled with <tt>-g</tt> flag. The files 
(e.g., Makefile.am) from GNU compilation tool are not easy to change. Hence 
SINGA comes with a Makefile.example for developers. To compile the code for 
debugging, just</p>
 

Modified: websites/staging/singa/trunk/content/docs/distributed-training.html
==============================================================================
--- websites/staging/singa/trunk/content/docs/distributed-training.html 
(original)
+++ websites/staging/singa/trunk/content/docs/distributed-training.html Wed Sep 
 2 10:31:57 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2015-08-17 
+ | Generated by Apache Maven Doxia at 2015-09-02 
  | Rendered using Apache Maven Fluido Skin 1.4
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150817" />
+    <meta name="Date-Revision-yyyymmdd" content="20150902" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache SINGA &#x2013; Distributed Training</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" />
@@ -423,23 +423,21 @@
                         
         <div id="bodyColumn"  class="span10" >
                                   
-            <div class="section">
-<h2><a name="Distributed_Training"></a>Distributed Training</h2>
-<hr />
+            <h1>Distributed Training</h1>
 <p>SINGA is designed for distributed training of large deep learning models 
with huge amount of training data.</p>
 <p>Here we introduce distrbuted SINGA in following aspects:</p>
 
 <ul>
   
 <li>
-<p><a href="architecture.html">System Architecture</a></p></li>
+<p><a class="externalLink" 
href="http://singa.incubator.apache.org/docs/architecture";>System 
Architecture</a></p></li>
   
 <li>
-<p><a href="frameworks.html">Training Frameworks</a></p></li>
+<p><a class="externalLink" 
href="http://singa.incubator.apache.org/docs/frameworks";>Training 
Frameworks</a></p></li>
   
 <li>
-<p><a href="communication.html">System Communication</a></p></li>
-</ul></div>
+<p><a class="externalLink" 
href="http://singa.incubator.apache.org/docs/communication";>System 
Communication</a></p></li>
+</ul>
                   </div>
             </div>
           </div>

Modified: websites/staging/singa/trunk/content/docs/examples.html
==============================================================================
--- websites/staging/singa/trunk/content/docs/examples.html (original)
+++ websites/staging/singa/trunk/content/docs/examples.html Wed Sep  2 10:31:57 
2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2015-08-17 
+ | Generated by Apache Maven Doxia at 2015-09-02 
  | Rendered using Apache Maven Fluido Skin 1.4
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150817" />
+    <meta name="Date-Revision-yyyymmdd" content="20150902" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache SINGA &#x2013; Example Models</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" />
@@ -423,10 +423,10 @@
                         
         <div id="bodyColumn"  class="span10" >
                                   
-            <div class="section">
-<h2><a name="Example_Models"></a>Example Models</h2>
+            <h1>Example Models</h1>
 <p>Different models are provided as examples to help users get familiar with 
SINGA. <a href="neuralnet.html">Neural Network</a> gives details on the models 
that are supported by SINGA.</p>
 <div class="section">
+<div class="section">
 <h3><a name="Feed-forward_neural_networks"></a>Feed-forward neural 
networks</h3>
 
 <ul>

Modified: websites/staging/singa/trunk/content/docs/frameworks.html
==============================================================================
--- websites/staging/singa/trunk/content/docs/frameworks.html (original)
+++ websites/staging/singa/trunk/content/docs/frameworks.html Wed Sep  2 
10:31:57 2015
@@ -1,15 +1,15 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2015-08-17 
+ | Generated by Apache Maven Doxia at 2015-09-02 
  | Rendered using Apache Maven Fluido Skin 1.4
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150817" />
+    <meta name="Date-Revision-yyyymmdd" content="20150902" />
     <meta http-equiv="Content-Language" content="en" />
-    <title>Apache SINGA &#x2013; Distributed Training Frameworks</title>
+    <title>Apache SINGA &#x2013; Distributed Training Framework</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" />
     <link rel="stylesheet" href="../css/site.css" />
     <link rel="stylesheet" href="../css/print.css" media="print" />
@@ -189,7 +189,7 @@
         Apache SINGA</a>
                     <span class="divider">/</span>
       </li>
-        <li class="active ">Distributed Training Frameworks</li>
+        <li class="active ">Distributed Training Framework</li>
         
                 
                     
@@ -423,9 +423,8 @@
                         
         <div id="bodyColumn"  class="span10" >
                                   
-            <div class="section">
-<h2><a name="Distributed_Training_Frameworks"></a>Distributed Training 
Frameworks</h2>
-<hr />
+            <h1>Distributed Training Framework</h1>
+<div class="section">
 <div class="section">
 <h3><a name="Cluster_Topology_Configuration"></a>Cluster Topology 
Configuration</h3>
 <p>Here we describe how to configure SINGA&#x2019;s cluster topology to 
support different distributed training frameworks. The cluster topology is 
configured in the <tt>cluster</tt> field in <tt>JobProto</tt>. The 
<tt>cluster</tt> is of type <tt>ClusterProto</tt>:</p>
@@ -458,7 +457,7 @@
 <div class="section">
 <h3><a name="Different_Training_Frameworks"></a>Different Training 
Frameworks</h3>
 <p>In SINGA, worker groups run asynchronously and workers within one group run 
synchronously. Users can leverage this general design to run both 
<b>synchronous</b> and <b>asynchronous</b> training frameworks. Here we 
illustrate how to configure popular distributed training frameworks in 
SINGA.</p>
-<p><img src="../images/distributed/frameworks.png" style="width: 800px" alt="" 
/> 
+<p><img src="http://singa.incubator.apache.org/assets/image/frameworks.png"; 
style="width: 800px" alt="" /> 
 <p><b> Fig.1 - Training frameworks in SINGA</b></p>
 <div class="section">
 <h4><a name="Sandblaster"></a>Sandblaster</h4>

Modified: websites/staging/singa/trunk/content/docs/installation.html
==============================================================================
--- websites/staging/singa/trunk/content/docs/installation.html (original)
+++ websites/staging/singa/trunk/content/docs/installation.html Wed Sep  2 
10:31:57 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 2015-08-17 
+ | Generated by Apache Maven Doxia at 2015-09-02 
  | Rendered using Apache Maven Fluido Skin 1.4
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150817" />
+    <meta name="Date-Revision-yyyymmdd" content="20150902" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache SINGA &#x2013; Installation</title>
     <link rel="stylesheet" href="../css/apache-maven-fluido-1.4.min.css" />
@@ -423,27 +423,23 @@
                         
         <div id="bodyColumn"  class="span10" >
                                   
-            <div class="section">
-<h2><a name="Installation"></a>Installation</h2>
-<hr />
+            <h1>Installation</h1>
+<div class="section">
 <div class="section">
 <h3><a name="Dependencies"></a>Dependencies</h3>
-<p>SINGA is developed and tested on Linux platforms with the following 
external libraries.</p>
+<p>SINGA is developed and tested on Linux platforms.</p>
 <p>The following dependenies are required:</p>
 
 <ul>
   
 <li>
-<p>gflags version 2.1.1, use the default setting for namespace (i.e., 
gflags).</p></li>
-  
-<li>
-<p>glog version 0.3.3.</p></li>
+<p>glog version 0.3.3</p></li>
   
 <li>
-<p>google-protobuf version 2.6.0.</p></li>
+<p>google-protobuf version 2.6.0</p></li>
   
 <li>
-<p>openblas version &gt;= 0.2.10.</p></li>
+<p>openblas version &gt;= 0.2.10</p></li>
   
 <li>
 <p>zeromq version &gt;= 3.2</p></li>
@@ -459,49 +455,79 @@
 <ul>
   
 <li>
-<p>gtest version 1.7.0.</p></li>
+<p>gtest version 1.7.0</p></li>
   
 <li>
-<p>opencv version 2.4.9.</p></li>
+<p>opencv version 2.4.9</p></li>
   
 <li>
 <p>lmdb version 0.9.10</p></li>
 </ul>
-<p>Tips: For libraries like openblas, opencv, older versions may also work, 
because we do not use any newly added features.</p></div>
+<p>SINGA comes with a script for installing the external libraries (see 
below).</p></div>
 <div class="section">
-<h3><a name="Building_SINGA_From_Source"></a>Building SINGA From Source</h3>
-<p>The build system of SINGA is based on GNU autotools. To build singa, you 
need gcc version &gt;= 4.8. The common steps to build SINGA can be:</p>
+<h3><a name="Building_SINGA_from_source"></a>Building SINGA from source</h3>
+<p>SINGA is built using GNU autotools. GCC (version &gt;= 4.8) is required. 
There are three ways to build SINGA,</p>
 
+<ul>
+  
+<li>
+<p>If you want to use the latest code, please clone it from  <a 
class="externalLink" 
href="https://github.com/apache/incubator-singa.git";>Github</a> and execute  
the following commands,</p>
+  
 <div class="source">
-<div class="source"><pre class="prettyprint">1.Extract source files;
-2.Run configure script to generate makefiles;
-3.Build and install SINGA.
-</pre></div></div>
-<p>On Unix-like systems with GNU Make as build tool, these build steps can be 
summarized by the following sequence of commands executed in a shell.</p>
+<div class="source"><pre class="prettyprint">$ git clone 
[email protected]:apache/incubator-singa.git
+$ cd incubator-singa
+$ ./autogen.sh
+$ ./configure
+$ make
+</pre></div></div></li>
+</ul>
 
+<ul>
+  
+<li>
+<p>If you download a release package, please follow the instructions below,</p>
+  
 <div class="source">
-<div class="source"><pre class="prettyprint">$ cd SINGA/FOLDER
+<div class="source"><pre class="prettyprint">$ tar xvf singa-xxx
+$ cd singa-xxx
 $ ./configure
 $ make
-$ make install
 </pre></div></div>
-<p>After executing above commands, SINGA library will be installed in the 
system default directory. If you want to specify your own installation 
directory, use the following command instead.</p>
+<p>Some features of SINGA depend on external libraries. These features can be 
compiled with <tt>--enable-&lt;feature&gt;</tt>. For example, to build SINGA 
with lmdb support, you can run:</p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint">$ ./configure --enable-lmdb
+</pre></div></div></li>
+</ul>
 
+<ul>
+  
+<li>
+<p>In case you do not have the GNU auto tools to run <tt>autogen.sh</tt>, 
SINGA  provides a Makefile.example file, which is used as</p>
+  
 <div class="source">
-<div class="source"><pre class="prettyprint">$ ./configure 
--prefix=/YOUR/OWN/FOLDER
+<div class="source"><pre class="prettyprint">$ cp Makefile.example Makefile
+$ make
 </pre></div></div>
-<p>The result of configure script will indicate you whether there exist 
dependency missings in your system. If you do not install the dependencies, you 
can run the following commands. To download &amp; install the thirdparty 
dependencies:</p>
+<p>Code depending on lmdb can be added into the compilation by</p>
+  
+<div class="source">
+<div class="source"><pre class="prettyprint">make -DUSE_LMDB
+</pre></div></div></li>
+</ul>
+<p>After compiling SINGA successfully, the <tt>libsinga.so</tt> will be 
generated into .lib/ folder and an executable file <tt>singa</tt> is generated 
under bin/.</p>
+<p>If some dependent libraries are missing (or not detected), you can use the 
following script to download and install them:</p>
 
 <div class="source">
 <div class="source"><pre class="prettyprint">$ cd thirdparty
 $ ./install.sh MISSING_LIBRARY_NAME1 YOUR_INSTALL_PATH1 MISSING_LIBRARY_NAME2 
YOUR_INSTALL_PATH2 ...
 </pre></div></div>
-<p>If you do not specify the installation path, the library will be installed 
in default folder. For example, if you want to build zeromq library in system 
folder and gflags in /usr/local, just run:</p>
+<p>If you do not specify the installation path, the library will be installed 
in the default folder specified by the software itself. For example, if you 
want to build <tt>zeromq</tt> library in system folder and <tt>gflags</tt> in 
<tt>/usr/local</tt>, just run:</p>
 
 <div class="source">
 <div class="source"><pre class="prettyprint">$ ./install.sh zeromq gflags 
/usr/local
 </pre></div></div>
-<p>Another example can be to install all dependencies in /usr/local 
directory:</p>
+<p>You can also install all dependencies in <tt>/usr/local</tt> directory:</p>
 
 <div class="source">
 <div class="source"><pre class="prettyprint">$ ./install.sh all /usr/local
@@ -521,34 +547,34 @@ protobuf              Google protobuf
 zeromq                zeromq lib
 zookeeper             Apache zookeeper
 </pre></div></div>
-<p>*: Since czmq depends on zeromq, the script offers you one more argument to 
indicate zeromq location. The installation commands of czmq can be:</p>
+<p>*: Since <tt>czmq</tt> depends on <tt>zeromq</tt>, the script offers you 
one more argument to indicate <tt>zeromq</tt> location. The installation 
commands of <tt>czmq</tt> is:</p>
 
 <div class="source">
 <div class="source"><pre class="prettyprint">$./install.sh czmq  /usr/local 
/usr/local/zeromq
 </pre></div></div>
-<p>After the execution, czmq will be installed in /usr/local while zeromq is 
installed in /usr/local/zeromq.</p></div>
+<p>After the execution, <tt>czmq</tt> will be installed in <tt>/usr/local</tt> 
while <tt>zeromq</tt> is installed in <tt>/usr/local/zeromq</tt>.</p></div>
 <div class="section">
 <h3><a name="FAQ"></a>FAQ</h3>
-<p>Q1:While compiling Singa and installing glog on max OS X, I get fatal error 
&#x201c;&#x2018;ext/slist&#x2019; file not found&#x201d;</p>
-<p>A1:You may install glog individually and try command :</p>
+<p>Q1:While compiling SINGA and installing <tt>glog</tt> on max OS X, I get 
fatal error <tt>'ext/slist' file not found</tt></p>
+<p>A1:Please install <tt>glog</tt> individually and try :</p>
 
 <div class="source">
 <div class="source"><pre class="prettyprint">$ make CFLAGS='-stdlib=libstdc++' 
CXXFLAGS='stdlib=libstdc++'
 </pre></div></div>
-<p>Q2:While compiling Singa, I get error &#x201c;SSE2 instruction set not 
enabled&#x201d;</p>
+<p>Q2:While compiling SINGA, I get error <tt>SSE2 instruction set not 
enabled</tt></p>
 <p>A2:You can try following command:</p>
 
 <div class="source">
 <div class="source"><pre class="prettyprint">$ make CFLAGS='-msse2' 
CXXFLAGS='-msse2'
 </pre></div></div>
-<p>Q3:I get error &#x201c;./configure &#x2013;&gt; cannot find blas_segmm() 
function&#x201d; even I run &#x201c;install.sh OpenBLAS&#x201d;.</p>
-<p>A3:Since OpenBLAS library is installed in /opt folder by default or 
/other/folder by your preference, you may edit your environment settings. You 
need add its default installation directories before linking, just run:</p>
+<p>Q3:I get error <tt>./configure --&gt; cannot find blas_segmm() 
function</tt> even I run <tt>install.sh OpenBLAS</tt>.</p>
+<p>A3:Since <tt>OpenBLAS</tt> library is installed in <tt>/opt</tt> folder by 
default or <tt>/other/folder</tt> by your preference, you may edit your 
environment settings. You need add its default installation directories before 
linking, just run:</p>
 
 <div class="source">
 <div class="source"><pre class="prettyprint">$ export LDFLAGS=-L/opt
 </pre></div></div>
 <p>Or as an alternative option, you can also edit LIBRARY_PATH to figure it 
out.</p>
-<p>Q4:I get ImportError from google.protobuf.internal when I try to import .py 
files. (ImportError: cannot import name enum_type_wrapper)</p>
+<p>Q4:I get <tt>ImportError: cannot import name enum_type_wrapper</tt> from 
google.protobuf.internal when I try to import .py files.</p>
 <p>A4:After install google protobuf by &#x201c;make install&#x201d;, we should 
install python runtime libraries. Go to protobuf source directory, run:</p>
 
 <div class="source">
@@ -557,7 +583,7 @@ $ cd python
 $ python setup.py build
 $ python setup.py install
 </pre></div></div>
-<p>You may need &#x201c;sudo&#x201d; when you try to install python runtime 
libraries in system folder.</p></div></div>
+<p>You may need <tt>sudo</tt> when you try to install python runtime libraries 
in the system folder.</p></div></div>
                   </div>
             </div>
           </div>


Reply via email to