Apache Mxnet 简明教程

Apache MXNet - System Architecture

本章节将帮助您了解 MXNet 系统架构。让我们从学习 MXNet 模块开始。

This chapter will help you in understanding about the MXNet system architecture. Let us begin by learning about the MXNet Modules.

MXNet Modules

下图是 MXNet 系统架构图,它显示了 MXNet modules and their interaction 的主要模块和组件。

The diagram below is the MXNet system architecture and it shows the major modules and components of MXNet modules and their interaction.

mvnet modules

在上图中 −

In the above diagram −

  1. The modules in blue color boxes are User Facing Modules.

  2. The modules in green color boxes are System Modules.

  3. Solid arrow represents high dependency, i.e. heavily rely on the interface.

  4. Dotted arrow represents light dependency, i.e. Used data structure for convenience and interface consistency. In fact, it can be replaced by the alternatives.

让我们进一步讨论面向用户和系统模块。

Let us discuss more about user facing and system modules.

User-facing Modules

面向用户的模块如下 −

The user-facing modules are as follows −

  1. NDArray − It provides flexible imperative programs for Apache MXNet. They are dynamic and asynchronous n-dimensional arrays.

  2. KVStore − It acts as interface for efficient parameter synchronization. In KVStore, KV stands for Key-Value. So, it a key-value store interface.

  3. Data Loading (IO) − This user facing module is used for efficient distributed data loading and augmentation.

  4. Symbol Execution − It is a static symbolic graph executor. It provides efficient symbolic graph execution and optimization.

  5. Symbol Construction − This user facing module provides user a way to construct a computation graph i.e. net configuration.

System Modules

系统模块如下 −

The system modules are as follows −

  1. Storage Allocator − This system module, as name suggests, allocates and recycle memory blocks efficiently on host i.e. CPU and different devices i.e. GPUs.

  2. Runtime Dependency Engine − Runtime dependency engine module schedules as well as executes the operations as per their read/write dependency.

  3. Resource Manager − Resource Manager (RM) system module manages global resources like the random number generator and temporal space.

  4. Operator − Operator system module consists of all the operators that define static forward and gradient calculation i.e. backpropagation.