<!DOCTYPE html>

<!---
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  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
  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.
-->

<html lang=" en"><head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="/versions/master/assets/img/mxnet-icon.png" rel="icon" type="image/png"><!-- Begin Jekyll SEO tag v2.6.1 -->
<title>KVStore API | Apache MXNet</title>
<meta name="generator" content="Jekyll v4.0.0" />
<meta property="og:title" content="KVStore API" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="A flexible and efficient library for deep learning." />
<meta property="og:description" content="A flexible and efficient library for deep learning." />
<link rel="canonical" href="https://mxnet.apache.org/versions/master/api/perl/docs/tutorials/kvstore" />
<meta property="og:url" content="https://mxnet.apache.org/versions/master/api/perl/docs/tutorials/kvstore" />
<meta property="og:site_name" content="Apache MXNet" />
<script type="application/ld+json">
{"url":"https://mxnet.apache.org/versions/master/api/perl/docs/tutorials/kvstore","headline":"KVStore API","description":"A flexible and efficient library for deep learning.","@type":"WebPage","@context":"https://schema.org"}</script>
<!-- End Jekyll SEO tag -->
<link rel="stylesheet" href="/versions/master/assets/docsearch.min.css" /><link rel="stylesheet" href="/versions/master/assets/main.css"><link type="application/atom+xml" rel="alternate" href="https://mxnet.apache.org/versions/master/feed.xml" title="Apache MXNet" /><!-- Matomo -->
<script>
  var _paq = window._paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  /* We explicitly disable cookie tracking to avoid privacy issues */
  _paq.push(['disableCookies']);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://analytics.apache.org/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '23']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo Code -->

<script src="/versions/master/assets/js/jquery-3.3.1.min.js"></script>
    <script src="/versions/master/assets/js/docsearch.min.js"></script><script src="/versions/master/assets/js/globalSearch.js" defer></script>
  <script src="/versions/master/assets/js/clipboard.js" defer></script>
  <script src="/versions/master/assets/js/copycode.js" defer></script></head>
<body><header class="site-header" role="banner">

  <script>
    $(document).ready(function () {

      // HEADER OPACITY LOGIC

      function opacity_header() {
        var value = "rgba(4,140,204," + ($(window).scrollTop() / 300 + 0.4) + ")"
        $('.site-header').css("background-color", value)
      }

      $(window).scroll(function () {
        opacity_header()
      })
      opacity_header();

      // MENU SELECTOR LOGIC
      $('.page-link').each( function () {
        if (window.location.href.includes(this.href)) {
          $(this).addClass("page-current");
        }
      });
    })
  </script>
  <div class="wrapper">
    <a class="site-title" rel="author" href="/versions/master/"><img
            src="/versions/master/assets/img/mxnet_logo.png" class="site-header-logo"></a>
    <nav class="site-nav">
      <input type="checkbox" id="nav-trigger" class="nav-trigger"/>
      <label for="nav-trigger">
          <span class="menu-icon">
            <svg viewBox="0 0 18 15" width="18px" height="15px">
              <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/>
            </svg>
          </span>
      </label>
      <div class="gs-search-border">
        <div id="gs-search-icon"></div>
        <form id="global-search-form">
          <input id="global-search" type="text" title="Search" placeholder="Search" />
          <div id="global-search-dropdown-container">
            <button class="gs-current-version btn" type="button" data-toggle="dropdown">
                <span id="gs-current-version-label">master</span>
                <svg class="gs-dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true">
                    <path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path>
                </svg>
            </button>
            <ul class="gs-opt-group gs-version-dropdown">
              
                
                  <li class="gs-opt gs-versions active">master</li>
                
              
                
                  <li class="gs-opt gs-versions">1.9.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.8.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.7.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.6.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.5.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.4.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.3.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.2.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.1.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.0.0</li>
                
              
                
                  <li class="gs-opt gs-versions">0.12.1</li>
                
              
                
                  <li class="gs-opt gs-versions">0.11.0</li>
                
              
            </ul>
        </div>
          <span id="global-search-close">x</span>
        </form>
      </div>
      <div class="trigger">
        <div id="global-search-mobile-border">
          <div id="gs-search-icon-mobile"></div>
          <input id="global-search-mobile" placeholder="Search..." type="text"/>
          <div id="global-search-dropdown-container-mobile">
            <button class="gs-current-version-mobile btn" type="button" data-toggle="dropdown">
                <svg class="gs-dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true">
                    <path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path>
                </svg>
            </button>
            <ul class="gs-opt-group gs-version-dropdown-mobile">
              
                
                  <li class="gs-opt gs-versions active">master</li>
                
              
                
                  <li class="gs-opt gs-versions">1.9.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.8.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.7.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.6.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.5.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.4.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.3.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.2.1</li>
                
              
                
                  <li class="gs-opt gs-versions">1.1.0</li>
                
              
                
                  <li class="gs-opt gs-versions">1.0.0</li>
                
              
                
                  <li class="gs-opt gs-versions">0.12.1</li>
                
              
                
                  <li class="gs-opt gs-versions">0.11.0</li>
                
              
            </ul>
        </div>
        </div>
        <a class="page-link" href="/versions/master/get_started">Get Started</a>
        <a class="page-link" href="/versions/master/features">Features</a>
        <a class="page-link" href="/versions/master/ecosystem">Ecosystem</a>
        <a class="page-link" href="/versions/master/api">Docs & Tutorials</a>
        <a class="page-link" href="/versions/master/trusted_by">Trusted By</a>
        <a class="page-link" href="https://github.com/apache/incubator-mxnet">GitHub</a>
        <div class="dropdown" style="min-width:100px">
          <span class="dropdown-header">Apache
            <svg class="dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true"><path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path></svg>
          </span>
          <div class="dropdown-content" style="min-width:250px">
            <a href="https://www.apache.org/foundation/">Apache Software Foundation</a>
            <a href="https://incubator.apache.org/">Apache Incubator</a>
            <a href="https://www.apache.org/licenses/">License</a>
            <a href="/versions/master/api/faq/security.html">Security</a>
            <a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a>
            <a href="https://www.apache.org/events/current-event">Events</a>
            <a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
            <a href="https://www.apache.org/foundation/thanks.html">Thanks</a>
          </div>
        </div>
        <div class="dropdown">
          <span class="dropdown-header">master
            <svg class="dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true"><path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path></svg>
          </span>
          <div class="dropdown-content">
            
              
                <a class="dropdown-option-active" href="/">master</a>
              
            
              
                <a href="/versions/1.9.1/">1.9.1</a>
              
            
              
                <a href="/versions/1.8.0/">1.8.0</a>
              
            
              
                <a href="/versions/1.7.0/">1.7.0</a>
              
            
              
                <a href="/versions/1.6.0/">1.6.0</a>
              
            
              
                <a href="/versions/1.5.0/">1.5.0</a>
              
            
              
                <a href="/versions/1.4.1/">1.4.1</a>
              
            
              
                <a href="/versions/1.3.1/">1.3.1</a>
              
            
              
                <a href="/versions/1.2.1/">1.2.1</a>
              
            
              
                <a href="/versions/1.1.0/">1.1.0</a>
              
            
              
                <a href="/versions/1.0.0/">1.0.0</a>
              
            
              
                <a href="/versions/0.12.1/">0.12.1</a>
              
            
              
                <a href="/versions/0.11.0/">0.11.0</a>
              
            
          </div>
        </div>
      </div>
    </nav>
  </div>
</header>
<main class="page-content" aria-label="Content">
    <script>

</script>
<article class="post">

    <header class="post-header wrapper">
        <h1 class="post-title">KVStore API</h1>
        <h3></h3></header>

    <div class="post-content">
        <div class="wrapper">
            <div class="row">
    <div class="col-3 docs-side-bar">

        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
        
        
        
        
        
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
        
           <!-- resource-p -->
          <!-- page -->
        </ul>
    </div>
    <div class="col-9">
        <!--- Licensed to the Apache Software Foundation (ASF) under one -->
<!--- or more contributor license agreements.  See the NOTICE file -->
<!--- distributed with this work for additional information -->
<!--- 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 -->

<!--- 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. -->

<h1 id="kvstore-api">KVStore API</h1>

<p>Topics:</p>
<ul>
  <li><a href="#basic-push-and-pull">Basic Push and Pull</a></li>
  <li><a href="#list-key-value-pairs">List Key-Value Pairs</a></li>
</ul>

<h2 id="basic-push-and-pull">Basic Push and Pull</h2>

<p>Provides basic operation over multiple devices (GPUs) on a single device.</p>

<h3 id="initialization">Initialization</h3>

<p>Let’s consider a simple example. It initializes
a (int, NDArray) pair into the store, and then pulls the value out.</p>

<div class="language-perl highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span> <span class="o">=</span> <span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">kv</span><span class="o">-&gt;</span><span class="nv">create</span><span class="p">('</span><span class="s1">local</span><span class="p">')</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$shape</span> <span class="o">=</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nv">init</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">ones</span><span class="p">(</span><span class="nv">$shape</span><span class="p">)</span><span class="o">*</span><span class="mi">2</span><span class="p">)</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$a</span> <span class="o">=</span> <span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">zeros</span><span class="p">(</span><span class="nv">$shape</span><span class="p">)</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nv">pull</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="nv">out</span> <span class="o">=&gt;</span> <span class="nv">$a</span><span class="p">)</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="k">print</span> <span class="nv">$a</span><span class="o">-&gt;</span><span class="nv">aspdl</span>
<span class="p">[</span>
 <span class="p">[</span><span class="mi">2</span> <span class="mi">2</span> <span class="mi">2</span><span class="p">]</span>
 <span class="p">[</span><span class="mi">2</span> <span class="mi">2</span> <span class="mi">2</span><span class="p">]</span>
<span class="p">]</span>
</code></pre></div></div>

<h3 id="push-aggregation-and-updater">Push, Aggregation, and Updater</h3>

<p>For any key that’s been initialized, you can push a new value with the same shape to the key, as follows:</p>

<div class="language-perl highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nb">push</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">ones</span><span class="p">(</span><span class="nv">$shape</span><span class="p">)</span><span class="o">*</span><span class="mi">8</span><span class="p">)</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$a</span> <span class="o">=</span> <span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">zeros</span><span class="p">(</span><span class="nv">$shape</span><span class="p">)</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nv">pull</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="nv">out</span> <span class="o">=&gt;</span> <span class="nv">$a</span><span class="p">)</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="k">print</span> <span class="nv">$a</span><span class="o">-&gt;</span><span class="nv">aspdl</span>
<span class="p">[</span>
 <span class="p">[</span><span class="mi">8</span> <span class="mi">8</span> <span class="mi">8</span><span class="p">]</span>
 <span class="p">[</span><span class="mi">8</span> <span class="mi">8</span> <span class="mi">8</span><span class="p">]</span>
<span class="p">]</span>
</code></pre></div></div>

<p>The data that you want to push can be stored on any device. Furthermore, you can push multiple
values into the same key, where KVStore first sums all of these
values, and then you pull the aggregated value, as follows:</p>

<div class="language-perl highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nb">push</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="p">[</span><span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">ones</span><span class="p">(</span><span class="nv">$shape</span><span class="p">,</span> <span class="nv">ctx</span><span class="o">=&gt;</span><span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">cpu</span><span class="p">(</span><span class="mi">0</span><span class="p">)),</span> <span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">ones</span><span class="p">(</span><span class="nv">$shape</span><span class="p">,</span> <span class="nv">ctx</span><span class="o">=&gt;</span><span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">cpu</span><span class="p">(</span><span class="mi">1</span><span class="p">))])</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nv">pull</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="nv">out</span> <span class="o">=&gt;</span> <span class="nv">$a</span><span class="p">)</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="k">print</span> <span class="nv">$a</span><span class="o">-&gt;</span><span class="nv">aspdl</span>
<span class="p">[</span>
 <span class="p">[</span><span class="mi">2</span> <span class="mi">2</span> <span class="mi">2</span><span class="p">]</span>
 <span class="p">[</span><span class="mi">2</span> <span class="mi">2</span> <span class="mi">2</span><span class="p">]</span>
<span class="p">]</span>
</code></pre></div></div>

<p>For each push command, KVStore applies the pushed value to the value stored by an
<code class="highlighter-rouge">updater</code>. The default updater is <code class="highlighter-rouge">ASSIGN</code>. You can replace the default to
control how data is merged.</p>

<div class="language-perl highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$updater</span> <span class="o">=</span> <span class="k">sub </span><span class="p">{</span> <span class="k">my</span> <span class="p">(</span><span class="nv">$key</span><span class="p">,</span> <span class="nv">$input</span><span class="p">,</span> <span class="nv">$stored</span><span class="p">)</span> <span class="o">=</span> <span class="nv">@_</span><span class="p">;</span> <span class="k">print</span> <span class="p">"</span><span class="s2">update on key: </span><span class="si">$key</span><span class="se">\n</span><span class="p">";</span> <span class="nv">$stored</span> <span class="o">+=</span> <span class="nv">$input</span> <span class="o">*</span> <span class="mi">3</span><span class="p">;</span> <span class="p">}</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nv">_set_updater</span><span class="p">(</span><span class="nv">$updater</span><span class="p">)</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nb">push</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="p">[</span><span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">ones</span><span class="p">(</span><span class="nv">$shape</span><span class="p">,</span> <span class="nv">ctx</span><span class="o">=&gt;</span><span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">cpu</span><span class="p">(</span><span class="mi">0</span><span class="p">)),</span> <span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">ones</span><span class="p">(</span><span class="nv">$shape</span><span class="p">,</span> <span class="nv">ctx</span><span class="o">=&gt;</span><span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">cpu</span><span class="p">(</span><span class="mi">1</span><span class="p">))])</span>
<span class="nv">update</span> <span class="nv">on</span> <span class="nv">key:</span> <span class="mi">3</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nv">pull</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="nv">out</span> <span class="o">=&gt;</span> <span class="nv">$a</span><span class="p">)</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="k">print</span> <span class="nv">$a</span><span class="o">-&gt;</span><span class="nv">aspdl</span>
<span class="p">[</span>
 <span class="p">[</span><span class="mi">8</span> <span class="mi">8</span> <span class="mi">8</span><span class="p">]</span>
 <span class="p">[</span><span class="mi">8</span> <span class="mi">8</span> <span class="mi">8</span><span class="p">]</span>
<span class="p">]</span>
</code></pre></div></div>

<h3 id="pull">Pull</h3>

<p>You’ve already seen how to pull a single key-value pair. Similar to the way that you use the push command, you can
pull the value into several devices with a single call.</p>

<div class="language-perl highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$b</span> <span class="o">=</span> <span class="p">[</span><span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">zeros</span><span class="p">(</span><span class="nv">$shape</span><span class="p">,</span> <span class="nv">ctx</span><span class="o">=&gt;</span><span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">cpu</span><span class="p">(</span><span class="mi">0</span><span class="p">)),</span> <span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">zeros</span><span class="p">(</span><span class="nv">$shape</span><span class="p">,</span> <span class="nv">ctx</span><span class="o">=&gt;</span><span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">cpu</span><span class="p">(</span><span class="mi">1</span><span class="p">))]</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nv">pull</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="nv">out</span> <span class="o">=&gt;</span> <span class="nv">$b</span><span class="p">)</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="k">print</span> <span class="nv">$b</span><span class="o">-&gt;</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">-&gt;</span><span class="nv">aspdl</span>
<span class="p">[</span>
 <span class="p">[</span><span class="mi">8</span> <span class="mi">8</span> <span class="mi">8</span><span class="p">]</span>
 <span class="p">[</span><span class="mi">8</span> <span class="mi">8</span> <span class="mi">8</span><span class="p">]</span>
<span class="p">]</span>
</code></pre></div></div>

<h2 id="list-key-value-pairs">List Key-Value Pairs</h2>

<p>All of the operations that we’ve discussed so far are performed on a single key. KVStore also provides
the interface for generating a list of key-value pairs. For a single device, use the following:</p>

<div class="language-perl highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$keys</span> <span class="o">=</span> <span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="mi">7</span><span class="p">,</span><span class="mi">9</span><span class="p">]</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nv">init</span><span class="p">(</span><span class="nv">$keys</span><span class="p">,</span> <span class="p">[</span><span class="nb">map</span> <span class="p">{</span> <span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">ones</span><span class="p">(</span><span class="nv">$shape</span><span class="p">)</span> <span class="p">}</span> <span class="mi">0</span><span class="o">..</span><span class="nv">@$keys</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nb">push</span><span class="p">(</span><span class="nv">$keys</span><span class="p">,</span> <span class="p">[</span><span class="nb">map</span> <span class="p">{</span> <span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">ones</span><span class="p">(</span><span class="nv">$shape</span><span class="p">)</span> <span class="p">}</span> <span class="mi">0</span><span class="o">..</span><span class="nv">@$keys</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
<span class="nv">update</span> <span class="nv">on</span> <span class="nv">key:</span> <span class="mi">5</span>
<span class="nv">update</span> <span class="nv">on</span> <span class="nv">key:</span> <span class="mi">7</span>
<span class="nv">update</span> <span class="nv">on</span> <span class="nv">key:</span> <span class="mi">9</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$b</span> <span class="o">=</span> <span class="p">[</span><span class="nb">map</span> <span class="p">{</span> <span class="nv">mx</span><span class="o">-&gt;</span><span class="nv">nd</span><span class="o">-&gt;</span><span class="nv">ones</span><span class="p">(</span><span class="nv">$shape</span><span class="p">)</span> <span class="p">}</span> <span class="mi">0</span><span class="o">..</span><span class="nv">@$keys</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="nv">$kv</span><span class="o">-&gt;</span><span class="nv">pull</span><span class="p">(</span><span class="nv">$keys</span><span class="p">,</span> <span class="nv">out</span> <span class="o">=&gt;</span> <span class="nv">$b</span><span class="p">)</span>
<span class="nv">pdl</span><span class="o">&gt;</span> <span class="k">print</span> <span class="nv">$b</span><span class="o">-&gt;</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">-&gt;</span><span class="nv">aspdl</span>
<span class="p">[</span>
 <span class="p">[</span><span class="mi">4</span> <span class="mi">4</span> <span class="mi">4</span><span class="p">]</span>
 <span class="p">[</span><span class="mi">4</span> <span class="mi">4</span> <span class="mi">4</span><span class="p">]</span>
<span class="p">]</span>
</code></pre></div></div>
</div>
</div>

        </div>
    </div>

</article>

</main><footer class="site-footer h-card">
    <div class="wrapper">
        <div class="row">
            <div class="col-4">
                <h4 class="footer-category-title">Resources</h4>
                <ul class="contact-list">
                    <li><a href="/versions/master/community#stay-connected">Mailing lists</a></li>
                    <li><a href="/versions/master/community#github-issues">Github Issues</a></li>
                    <li><a href="https://github.com/apache/incubator-mxnet/projects">Projects</a></li>
                    <li><a href="https://cwiki.apache.org/confluence/display/MXNET/Apache+MXNet+Home">Developer Wiki</a></li>
                    <li><a href="https://discuss.mxnet.io">Forum</a></li>
                    <li><a href="/versions/master/community">Contribute To MXNet</a></li>
                </ul>
            </div>

            <div class="col-4"><ul class="social-media-list"><li><a href="https://github.com/apache/incubator-mxnet"><svg class="svg-icon"><use xlink:href="/versions/master/assets/minima-social-icons.svg#github"></use></svg> <span class="username">apache/incubator-mxnet</span></a></li><li><a href="https://www.twitter.com/apachemxnet"><svg class="svg-icon"><use xlink:href="/versions/master/assets/minima-social-icons.svg#twitter"></use></svg> <span class="username">apachemxnet</span></a></li><li><a href="https://youtube.com/apachemxnet"><svg class="svg-icon"><use xlink:href="/versions/master/assets/minima-social-icons.svg#youtube"></use></svg> <span class="username">apachemxnet</span></a></li></ul>
</div>

            <div class="col-4 footer-text">
                <p>A flexible and efficient library for deep learning.</p>
            </div>
        </div>
    </div>
</footer>
<footer class="site-footer2">
    <div class="wrapper">
        <div class="row">
            <div class="col-3">
                <img src="/versions/master/assets/img/apache_incubator_logo.png" class="footer-logo col-2">
            </div>
            <div class="footer-bottom-warning col-9">
                <p>Apache MXNet is an effort undergoing incubation at <a href="http://www.apache.org/">The Apache Software Foundation</a> (ASF), <span
                        style="font-weight:bold">sponsored by the <i>Apache Incubator</i></span>. Incubation is required
                    of all newly accepted projects until a further review indicates that the infrastructure,
                    communications, and decision making process have stabilized in a manner consistent with other
                    successful ASF projects. While incubation status is not necessarily a reflection of the completeness
                    or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
                </p><p>"Copyright © 2017-2022, The Apache Software Foundation Apache MXNet, MXNet, Apache, the Apache
                    feather, and the Apache MXNet project logo are either registered trademarks or trademarks of the
                    Apache Software Foundation."</p>
            </div>
        </div>
    </div>
</footer>




</body>

</html>
